From 33988b65f7818207e4cf2686cb9be46e3976958c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期一, 29 七月 2024 18:16:04 +0800
Subject: [PATCH] update 售后、合伙人绑定二维码
---
pages/order/order-sale/order-sale.vue | 29
sub_pages/supplier/flower-manage/flower-add.vue | 5
manifest.json | 2
pages.json | 43
sub_pages/partner/partner-info/partner-code.vue | 183 ++++++
pages/login/supplier-reg.vue | 1054 ++++++++++++++++++++------------------
pages/order/order.vue | 2
pages/order/order-detail.vue | 218 +++++++
sub_pages/customer/customer-info/customer-info.vue | 2
pages/order/order-sale/order-sale-detail.vue | 27
pages/user/supplier-user.vue | 13
11 files changed, 998 insertions(+), 580 deletions(-)
diff --git a/manifest.json b/manifest.json
index 651a10c..a3c7ecb 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
"quickapp" : {},
/* 快应用特有相关 */
"mp-weixin" : {
- "appid" : "wx1441324401626290",
+ "appid" : "wx3203fd935a6ffe09",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages.json b/pages.json
index 9ede212..ce91a3e 100644
--- a/pages.json
+++ b/pages.json
@@ -115,6 +115,19 @@
"style": {
"navigationBarTitleText": "订单列表"
}
+ },
+ {
+ "path": "pages/order/order-sale/order-sale",
+ "style": {
+ "navigationBarTitleText": "售后理赔",
+ "enablePullDownRefresh": true
+ }
+ },
+ {
+ "path": "pages/order/order-sale/order-sale-detail",
+ "style": {
+ "navigationBarTitleText": "理赔单详情"
+ }
}
],
"subPackages": [{
@@ -167,26 +180,12 @@
"enablePullDownRefresh": true
}
},
+
{
- "path": "order-sale/order-sale",
+ "path": "order-settlement/order-settlement-detail",
"style": {
- "navigationBarTitleText": "售后理赔",
- "enablePullDownRefresh": true
+ "navigationBarTitleText": "结算单详情"
}
- },
- {
- "path" : "order-settlement/order-settlement-detail",
- "style" :
- {
- "navigationBarTitleText" : "结算单详情"
- }
- },
- {
- "path": "order-sale/order-sale-detail",
- "style" :
- {
- "navigationBarTitleText" : "理赔单详情"
- }
}
// #endif
]
@@ -201,7 +200,15 @@
"navigationBarTitleText": "信息维护",
"enablePullDownRefresh": false
}
- },
+ },
+ {
+ "path": "partner-info/partner-code",
+ "style": {
+ "navigationBarTitleText": "二维码",
+ "enablePullDownRefresh": false
+ }
+ },
+
{
"path": "order-manage/order-manage",
"style": {
diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue
index d79a3f4..85089a8 100644
--- a/pages/login/supplier-reg.vue
+++ b/pages/login/supplier-reg.vue
@@ -1,593 +1,627 @@
<template>
- <view>
- <view v-if="source==='step'" style="padding: 20rpx 0rpx;color: red;;background-color: #e6e6e6;">
- <!-- #ifdef PUB_PARTNER -->
- <view style="padding: 20rpx;text-align: center;background-color: #fff;">仅限花满芫合伙人入驻</view>
- <!-- #endif -->e
+ <view>
+ <view v-if="source==='step'" style="padding: 20rpx 0rpx;color: red;;background-color: #e6e6e6;">
+ <!-- #ifdef PUB_PARTNER -->
+ <view style="padding: 20rpx;text-align: center;background-color: #fff;">仅限花满芫合伙人入驻</view>
+ <!-- #endif -->e
- <view v-if="source==='step'" class="" style="background-color:#ffffff;padding: 20rpx;padding-top: 60rpx;">
- <u-steps current="1">
- <u-steps-item title="信息填写" class="u-steps-item">
- </u-steps-item>
- <u-steps-item title="提交申请" class="u-steps-item"></u-steps-item>
- </u-steps>
- </view>
- </view>
+ <view v-if="source==='step'" class="" style="background-color:#ffffff;padding: 20rpx;padding-top: 60rpx;">
+ <u-steps current="1">
+ <u-steps-item title="信息填写" class="u-steps-item">
+ </u-steps-item>
+ <u-steps-item title="提交申请" class="u-steps-item"></u-steps-item>
+ </u-steps>
+ </view>
+ </view>
- <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
- <image class="component-bg"
- src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
- mode="scaleToFill"/>
+ <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
+ <image class="component-bg"
+ src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
+ mode="scaleToFill" />
- <view class="t-login top-bg">
+ <view class="t-login top-bg">
- <view class="nav-title" v-if="source!=='step'" :style="{'padding-top':source==='step'?'60rpx':'unset'
+ <view class="nav-title" v-if="source!=='step'" :style="{'padding-top':source==='step'?'60rpx':'unset'
,'padding-bottom':source==='step'?'80rpx':'unset'}">
- <view>
- 注册
- </view>
- </view>
- <view class="login" style="padding-top: 40rpx;">
- <form class="cl">
- <view class="t-a titles-top">
- <view class="title-1">HELLO</view>
- <view class="title-2">欢迎入驻<span class="title-3">花满芫</span></view>
- </view>
+ <view>
+ 注册
+ </view>
+ </view>
+ <view class="login" style="padding-top: 40rpx;">
+ <form class="cl">
+ <view class="t-a titles-top">
+ <view class="title-1">HELLO</view>
+ <view class="title-2">欢迎入驻<span class="title-3">花满芫</span></view>
+ </view>
- <view class="t-a form-input" v-if="loginType=='code'">
- <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 class="t-a form-input" v-if="loginType=='code'">
+ <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>
- <!-- <u-input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber"
+ <!-- <u-input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber"
style="position: relative;z-index: 1;" /> -->
- </view>
+ </view>
- <view class="t-a form-input" v-if="loginType=='code'">
- <!-- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode"
+ <view class="t-a form-input" v-if="loginType=='code'">
+ <!-- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode"
style="position: relative;z-index: 1;" /> -->
- <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
+ <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
- </view>
- <view class="t-a form-input" v-if="loginType=='code'">
- <!-- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> -->
+ </view>
+ <view class="t-a form-input" v-if="loginType=='code'">
- <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
- </view>
+ <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
+ </view>
- <!-- #ifndef PUB_CUSTOMER -->
- <button @tap="reg('')" class="bottom-button">注 册</button>
+ <!-- #ifndef PUB_CUSTOMER -->
+ <button @tap="reg('')" class="bottom-button">注 册</button>
- <!-- #endif -->
- <!-- #ifdef PUB_CUSTOMER -->
- <!-- open-type="getUserInfo"-->
- <button @tap="wxreg('')" class="bottom-button">注 册</button>
+ <!-- #endif -->
+ <!-- #ifdef PUB_CUSTOMER -->
+ <!-- open-type="getUserInfo"-->
+ <button @tap="wxreg('')"
+ class="bottom-button">注册,{{!partnerId?'未绑定合伙人':`已绑定${partnerName}`}}</button>
- <!-- #endif -->
+ <!-- #endif -->
- <view class="flex">
- <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步
- </view>
- <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
+ <view class="flex">
+ <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步
+ </view>
+ <!-- #ifdef PUB_CUSTOMER -->
+ <view class="topic-font m-l-a m-r-a" @click="scanPartnerCode" v-if="source==='step'">扫码绑定合伙人
+ </view>
+ <!-- #endif -->
+ <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
- </view>
- <view class="flex flex-wrap-normal"
- style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="false">
- <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
- @click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
+ </view>
+ <view class="flex flex-wrap-normal"
+ style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="false">
+ <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
+ @click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
- </view>
- <view class="topic-gray" @click="toProtocol">请仔细阅读《花满芫合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
- </view>
- </view>
- </form>
- </view>
- </view>
- </view>
- </view>
+ </view>
+ <view class="topic-gray" @click="toProtocol">请仔细阅读《花满芫合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
+ </view>
+ </view>
+ </form>
+ </view>
+ </view>
+ </view>
+ </view>
</template>
<script>
-// import util from '@/utils/util.js'
-// import gzmzApi from '@/api/gzmzApi.js'
-// import myCache from '@/utils/myCache.js'
-export default {
- data() {
- return {
- openId: '-1',
+ // import util from '@/utils/util.js'
+ // import gzmzApi from '@/api/gzmzApi.js'
+ // import myCache from '@/utils/myCache.js'
+ export default {
+ data() {
+ return {
+ openId: '-1',
- userName: '',
- password: '',
+ userName: '',
+ password: '',
- phoneNumber: '',
- smsCode: '',
+ phoneNumber: '',
+ smsCode: '',
+ partnerId: '',
+ partnerName: '',
+ checked: false,
+ loginType: 'code', //pwd和code,密码和验证码登录
+ pcfvalue: undefined,
+ getCodeText: '获取验证码',
+ getCodeBtnColor: "#20613D",
+ getCodeisWaiting: false,
+ Timer: undefined,
+ protocal: false,
+ source: '',
+ // #ifdef PUB_SUPPLIER
+ apitype: 'supplier',
+ // #endif
+ // #ifdef PUB_PARTNER
+ apitype: 'partner',
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ apitype: 'customer',
+ // #endif
- checked: false,
- loginType: 'code', //pwd和code,密码和验证码登录
- pcfvalue: undefined,
- getCodeText: '获取验证码',
- getCodeBtnColor: "#20613D",
- getCodeisWaiting: false,
- Timer: undefined,
- protocal: false,
- source: '',
- // #ifdef PUB_SUPPLIER
- apitype: 'supplier',
- // #endif
- // #ifdef PUB_PARTNER
- apitype: 'partner',
- // #endif
- // #ifdef PUB_CUSTOMER
- apitype: 'customer',
- // #endif
+ };
+ },
+ onLoad(options) {
+ this.source = options.source || ''
+ },
+ 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']) {
+ that.partnerName = dto['name'] || ''
+ that.partnerId = dto['userId'] || ''
+ that.$message.showToast(`绑定合伙人${that.partnerName}成功`)
+ } else {
+ that.$message.showToast('二维码格式不正确扫码失败')
+ }
+ } catch (e) {
+ that.$message.showToast('二维码格式不正确扫码失败')
+ }
+ },
+ fail() {
+ that.$message.showToast('扫码失败')
- };
- },
- onLoad(options) {
- this.source = options.source || ''
- },
- methods: {
- backInfoPage() {
- console.log('backInfoPage')
- uni.navigateBack()
- },
- toProtocol() {
- uni.navigateTo({
- url: '/sub_pages/supplier/protocol'
- })
- },
- async getCode() {
- // await this.$message.confirm('是否同意入驻协议')
- // this.protocal = true
- console.log('getCode')
- setTimeout(() => {
- uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
- }, 200)
+ }
+ });
- if (this.getCodeisWaiting) {
- return;
- }
- if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
- uni.showToast({
- title: '请填写正确手机号码',
- icon: "none"
- });
- 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
- }
- })
- if (code === 0) {
- uni.showToast({
- title: '验证码已发送',
- icon: "none"
- });
- this.setTimer(); //调用定时器方法
- } else {
- this.getCodeText = "获取验证码" //发送验证码
- this.getCodeisWaiting = false;
- this.getCodeBtnColor = "#20613D";
- }
- // setTimeout(() => {
- // //弹出提示框
- // //示例默认1234,生产中请删除这一句。
- // // this.code = '1234'; //发送验证码,进行填入
+ },
+ backInfoPage() {
+ console.log('backInfoPage')
+ uni.navigateBack()
+ },
+ toProtocol() {
+ uni.navigateTo({
+ url: '/sub_pages/supplier/protocol'
+ })
+ },
+ async getCode() {
+ // await this.$message.confirm('是否同意入驻协议')
+ // this.protocal = true
+ console.log('getCode')
+ setTimeout(() => {
+ uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+ }, 200)
- // }, 1000)
- },
- //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)
- },
- toLogin() {
- uni.redirectTo({
- url: '/pages/login/supplier-login'
- })
+ if (this.getCodeisWaiting) {
+ return;
+ }
+ if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+ uni.showToast({
+ title: '请填写正确手机号码',
+ icon: "none"
+ });
+ 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
+ }
+ })
+ if (code === 0) {
+ uni.showToast({
+ title: '验证码已发送',
+ icon: "none"
+ });
+ this.setTimer(); //调用定时器方法
+ } else {
+ this.getCodeText = "获取验证码" //发送验证码
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ }
+ // setTimeout(() => {
+ // //弹出提示框
+ // //示例默认1234,生产中请删除这一句。
+ // // this.code = '1234'; //发送验证码,进行填入
- },
- changeAll(e) {
- this.pcfvalue = e.detail.value[0]
- },
- // async wxreg(e) {
- // wx.login({
- // success: async res => {
- // if (res.code) {
- //
- // }
- // },
- // fail() {
- // this.$message.showToast('获取微信信息失败')
- // }
- // })
- // },
- wxreg(e) {
- let tmp = this
- wx.login({
- success: async res => {
- console.log(res)
- if (res.code) {
- tmp.reg(res.code)
- } else {
- tmp.$message.showToast('微信登录失败');
- }
- },
- error: res => {
- console.log('wx.login error', res)
- tmp.$message.showToast('获取微信信息失败:' + res);
- }
- });
- },
- async reg(wxcode) {
- // console.log('e', e)
- // this.$message.showLoading()
- // const res = await wx.getUserProfile({
- // desc: '用于完善会员资料',
- // });
- // console.log(res);
- // this.$message.hideLoading()
+ // }, 1000)
+ },
+ //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)
+ },
+ toLogin() {
+ uni.redirectTo({
+ url: '/pages/login/supplier-login'
+ })
- uni.showLoading({
- title: '登陆中'
- });
- var that = this;
- if (!that.phoneNumber) {
- uni.showToast({
- title: '请输入手机号',
- icon: 'none'
- });
- return;
- }
- if (!that.smsCode) {
- uni.showToast({
- title: '请输入手机验证码',
- icon: 'none'
- });
- return;
- }
- if (!that.password) {
- uni.showToast({
- title: '请输入密码',
- icon: 'none'
- });
- return;
- }
- // if (this.pcfvalue == undefined) {
- // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
- // return;
- // }
- let post = {
- tel: this.phoneNumber,
- smsCode: this.smsCode,
- password: this.password,
- type: this.apitype
- // openId: '123456789'
- }
- if (this.source === 'step') {
- var tjson = ''
- // #ifdef PUB_PARTNER
- tjson = this.$storage.getItem('cache_partner_info')
- // #endif
- // #ifdef PUB_CUSTOMER
- tjson = this.$storage.getItem('cache_customer_info')
- // #endif
+ },
+ changeAll(e) {
+ this.pcfvalue = e.detail.value[0]
+ },
+ // async wxreg(e) {
+ // wx.login({
+ // success: async res => {
+ // if (res.code) {
+ //
+ // }
+ // },
+ // fail() {
+ // this.$message.showToast('获取微信信息失败')
+ // }
+ // })
+ // },
+ wxreg(e) {
+ let tmp = this
+ wx.login({
+ success: async res => {
+ console.log(res)
+ if (res.code) {
+ tmp.reg(res.code)
+ } else {
+ tmp.$message.showToast('微信登录失败');
+ }
+ },
+ error: res => {
+ console.log('wx.login error', res)
+ tmp.$message.showToast('获取微信信息失败:' + res);
+ }
+ });
+ },
+ async reg(wxcode) {
+ // console.log('e', e)
+ // this.$message.showLoading()
+ // const res = await wx.getUserProfile({
+ // desc: '用于完善会员资料',
+ // });
+ // console.log(res);
+ // this.$message.hideLoading()
- if (!tjson) {
- this.$message.showToast('没有填写用户信息请返回重新填写')
- return
- }
- var dto = JSON.parse(tjson)
- post.dto = dto
- }
- post.wxcode = wxcode
+ uni.showLoading({
+ title: '登陆中'
+ });
+ var that = this;
+ if (!that.phoneNumber) {
+ uni.showToast({
+ title: '请输入手机号',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.smsCode) {
+ uni.showToast({
+ title: '请输入手机验证码',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.password) {
+ uni.showToast({
+ title: '请输入密码',
+ icon: 'none'
+ });
+ return;
+ }
+ // if (this.pcfvalue == undefined) {
+ // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
+ // return;
+ // }
+ let post = {
+ tel: this.phoneNumber,
+ smsCode: this.smsCode,
+ password: this.password,
+ type: this.apitype
+ // openId: '123456789'
+ }
+ if (this.source === 'step') {
+ var tjson = ''
+ // #ifdef PUB_PARTNER
+ tjson = this.$storage.getItem('cache_partner_info')
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ tjson = this.$storage.getItem('cache_customer_info')
+ // #endif
- // const {
- // code
- // } = await this.$http.request('get', '/api/login/admin')
- const resp = await this.$store.dispatch('regUser', post);
- // uni.hideLoading()
+ if (!tjson) {
+ this.$message.showToast('没有填写用户信息请返回重新填写')
+ return
+ }
+ var dto = JSON.parse(tjson)
+ dto.partnerId = this.partnerId || undefined
+ post.dto = dto
+ }
+ post.wxcode = wxcode
- if (resp.code === 0) {
+ // const {
+ // code
+ // } = await this.$http.request('get', '/api/login/admin')
+ const resp = await this.$store.dispatch('regUser', post);
+ // uni.hideLoading()
- // myCache.cache("userToken", res.data.accessToken)
- // let userRes = await gzmzApi.getMemberInfo();
- // if (userRes.status) {
- // myCache.cache("userInfo", JSON.stringify(userRes.data))
- // }
- uni.showToast({
- title: '注册成功!',
- icon: 'none'
- });
- setTimeout(() => {
- this.toLogin()
- }, 1000);
- // if (this.source == 'step') {
- // // cache_partner_info
- // var tjson = this.$storage.getItem('cache_partner_info')
- // if (tjson) {
- // var dto = JSON.parse(tjson)
+ if (resp.code === 0) {
+
+ // myCache.cache("userToken", res.data.accessToken)
+ // let userRes = await gzmzApi.getMemberInfo();
+ // if (userRes.status) {
+ // myCache.cache("userInfo", JSON.stringify(userRes.data))
+ // }
+ uni.showToast({
+ title: '注册成功!',
+ icon: 'none'
+ });
+ setTimeout(() => {
+ this.toLogin()
+ }, 1000);
+ // if (this.source == 'step') {
+ // // cache_partner_info
+ // var tjson = this.$storage.getItem('cache_partner_info')
+ // if (tjson) {
+ // var dto = JSON.parse(tjson)
- // this.$message.showLoading()
- // const re = await this.$http.request('post', '/api/partner/addOrUpdate', {
- // data: dto
- // })
- // this.$message.hideLoading()
- // if (re.code == 2000 || re.code == 0) {
- // this.$storage.removeItem('cache_partner_info')
+ // this.$message.showLoading()
+ // const re = await this.$http.request('post', '/api/partner/addOrUpdate', {
+ // data: dto
+ // })
+ // this.$message.hideLoading()
+ // if (re.code == 2000 || re.code == 0) {
+ // this.$storage.removeItem('cache_partner_info')
- // this.toLogin()
- // } else {
- // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
- // setTimeout(() => {
- // this.toLogin()
- // }, 1000);
- // }
+ // this.toLogin()
+ // } else {
+ // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
- // } else {
- // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
- // setTimeout(() => {
- // this.toLogin()
- // }, 1000);
- // }
+ // } else {
+ // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
- // } else {
- // setTimeout(() => {
- // this.toLogin()
- // }, 1000);
- // }
+ // } else {
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
- } else {
- // uni.showToast({
- // title: '登录失败!',
- // icon: 'none'
- // });
- return
- }
+ } else {
+ // uni.showToast({
+ // title: '登录失败!',
+ // icon: 'none'
+ // });
+ return
+ }
- },
- tc1(id) {
- uni.navigateTo({
- url: '/pages/users/xieyi?id=' + id,
- });
- }
- }
-};
+ },
+ tc1(id) {
+ uni.navigateTo({
+ url: '/pages/users/xieyi?id=' + id,
+ });
+ }
+ }
+ };
</script>
<style lang="scss" scoped>
-.form-input {
- background-color: #f8f7fc;
- border-radius: 50rpx;
- margin-bottom: 50rpx;
- border: 1px solid #e9e9e9;
+ .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/ .u-input {
+ padding-left: 60rpx !important;
+ padding-right: 40rpx !important;
+ }
- /deep/ input {
- height: 70rpx;
- line-height: 70rpx;
+ /deep/ input {
+ height: 70rpx;
+ line-height: 70rpx;
- }
+ }
-}
+ }
</style>
<style lang="scss" scoped>
-@import '@/pages/login/login.scss';
+ @import '@/pages/login/login.scss';
-.main-container {
- margin: 20px 0;
-}
+ .main-container {
+ margin: 20px 0;
+ }
-.img-a {
- position: absolute;
- width: 100%;
- top: -150rpx;
- right: 0;
-}
+ .img-a {
+ position: absolute;
+ width: 100%;
+ top: -150rpx;
+ right: 0;
+ }
-.img-b {
- position: absolute;
- width: 50%;
- bottom: 0;
- left: -120rpx;
-}
+ .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;
-}
+ .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 {
+ width: 100%;
+ margin: 0 auto;
+ font-size: 28rpx;
+ color: #000;
+ }
-.t-login .bg {
- width: 100%;
- position: relative;
-}
+ .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 .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 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 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;
+ .t-login .t-a {
+ position: relative;
- .get-code {
- // position: absolute;
- // right: 0rpx;
- // top: 0rpx;
- // z-index: 99;
- // padding-top: 25rpx;
- // bottom: 0;
- // padding-right: 40rpx;
- // padding-left: 20rpx;
- }
-}
+ .get-code {
+ // position: absolute;
+ // right: 0rpx;
+ // top: 0rpx;
+ // z-index: 99;
+ // padding-top: 25rpx;
+ // bottom: 0;
+ // padding-right: 40rpx;
+ // padding-left: 20rpx;
+ }
+ }
-.t-login .t-a .icon {
- width: 40rpx;
- height: 40rpx;
- position: absolute;
- left: 24rpx;
- top: 14rpx;
- margin-right: 20rpx;
-}
+ .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-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-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-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-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-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-e {
+ text-align: center;
+ width: 250rpx;
+ margin: 80rpx auto 0;
+ }
-.t-login .t-g {
- float: left;
- width: 50%;
-}
+ .t-login .t-g {
+ float: left;
+ width: 50%;
+ }
-.t-login .t-e image {
- width: 50rpx;
- height: 50rpx;
-}
+ .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-align: center;
+ margin: 200rpx 0 0 0;
+ color: #666;
+ }
-.t-login .t-f text {
- margin-left: 20rpx;
- color: #aaaaaa;
- font-size: 27rpx;
-}
+ .t-login .t-f text {
+ margin-left: 20rpx;
+ color: #aaaaaa;
+ font-size: 27rpx;
+ }
-.t-login .uni-input-placeholder {
- color: #000;
-}
+ .t-login .uni-input-placeholder {
+ color: #000;
+ }
-.cl {
- zoom: 1;
-}
+ .cl {
+ zoom: 1;
+ }
-.cl:after {
- clear: both;
- display: block;
- visibility: hidden;
- height: 0;
- content: '\20';
-}
+ .cl:after {
+ clear: both;
+ display: block;
+ visibility: hidden;
+ height: 0;
+ content: '\20';
+ }
</style>
\ No newline at end of file
diff --git a/pages/order/order-detail.vue b/pages/order/order-detail.vue
index f0e61f5..4aab10e 100644
--- a/pages/order/order-detail.vue
+++ b/pages/order/order-detail.vue
@@ -4,6 +4,8 @@
return {
id: '',
dto: {},
+ showSales: false,
+ submitForm: {},
type: '',
// #ifdef PUB_CUSTOMER
type: 'customer',
@@ -106,7 +108,7 @@
}
break
case 'payAgain': {
- await this.$message.confirm('是否确定重新')
+ await this.$message.confirm('是否确定重新支付')
// 发送请求
this.$message.showLoading()
const {
@@ -143,7 +145,7 @@
case 'evaluate': {
const res = await this.$message.confirm('', {
editable: true,
- title:'请输入评价信息'
+ title: '请输入评价信息'
})
if (res.content && res.confirm) {
// 发送请求
@@ -163,20 +165,127 @@
}
}
break
- case 'couldRefund': {
+ case 'sales': {
+ //新增售后单
+ //去新的页面加上这些选择?
+ this.submitForm = {
+ orderId: this.id,
+ imageList: [],
+ videoList: [],
+ reason: [],
+ orderItems: [],
+ }
+ this.showSales = true
}
default:
break
}
- }
+ },
+ changeSalesOrderItem(dto) {
+ if (this.submitForm.orderItems.indexOf(dto.id) < 0) {
+ this.submitForm.orderItems.push(dto.id)
+ } else {
+ this.submitForm.orderItems.splice(this.submitForm.orderItems.indexOf(dto.id), 1)
+ }
+ },
+ deleteCheckImage(key, index) {
+ this.submitForm[key].splice(index, 1)
+ this.$forceUpdate()
+ },
+ uploadIcon(key) {
+ console.log('that dto key', key)
+ const that = this
+ if (key === 'video') {
+ uni.chooseVideo({
+ maxDuration: 30,
+ sourceType: ['camera', 'album'],
+ success: function(res) {
+ if (res.size > 1024 * 1024 * 50) {
+ that.$message.confirm('视频最多支持50M大小,超出大小限制')
+ return
+ }
+ if (res.tempFilePath) {
+ console.log('res.tempFilePath', res.tempFilePath)
+ that.$message.showLoading()
+ that.$http.upload(res.tempFilePath).then(async res => {
+ var pic = res.data && res.data.length > 0 && res.data[
+ 0]
+ .url || ''
+ that.$message.hideLoading()
+ that.submitForm.videoList.push(pic || '')
+
+ that.$forceUpdate()
+ }).catch(res => {
+ that.$message.hideLoading()
+ console.error(res)
+ })
+ }
+ }
+ });
+ } else {
+
+ uni.chooseImage({
+ count: 1, // 最多可以选择的图片张数,默认9
+ sizeType: ['compressed'], //original 原图,compressed 压缩图,默认二者都有
+ sourceType: ['camera', 'album'], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
+ success: function(res) {
+ let errMsg = res.errMsg
+ let tempFiles = res.tempFiles
+ if (errMsg === 'chooseImage:ok') {
+ // console.log(tempFiles[0])
+ if (tempFiles[0].size > 1024 * 1024 * 5) {
+ that.$message.confirm('图片最多支持5M大小,超出大小限制')
+ return
+ }
+ that.$message.showLoading()
+ that.$http.upload(tempFiles[0].path).then(async res => {
+ console.log('res1', res)
+ var pic = res.data && res.data.length > 0 && res.data[
+ 0]
+ .url || ''
+ that.$message.hideLoading()
+ that.submitForm.imageList.push(pic)
+
+ that.$forceUpdate()
+ }).catch(res => {
+ that.$message.hideLoading()
+ console.error(res)
+ })
+ }
+ }
+ })
+ }
+ },
+
+ async submitSales() {
+ if (this.submitForm.orderItems.length < 1) {
+ this.$message.showToast('未选择需要售后的商品')
+ return
+ }
+ await this.$message.confirm('确定申请售后吗')
+ this.$message.showLoading()
+ const {
+ code,
+ data
+ } = await this.$http.request('post', '/api/customer/sales/add', {
+ data: {
+ ...this.submitForm
+ }
+ })
+ this.$message.hideLoading()
+ if (code == 0) {
+ this.$message.showToast('提交成功')
+ this.showSales = false
+ }
+ },
},
}
</script>
<template>
<view class="order-detail-page">
- <view class="top-tip flex ">
+ <view class="top-tip flex " v-if="!showSales">
<image src="/static/common/icon-order-status-SEND.png" class="icon-car m-r-6 img100"></image>
<view>
<view>{{
@@ -189,10 +298,10 @@
<view class="desc-gray">支付时间:{{dto.paymentTime}}</view>
</view>
</view>
- <view class="address-container bg-white br-4 m-t-12">
+ <view class="address-container bg-white br-4 m-t-12" v-if="!showSales">
<view class="flex">
<image src="/static/common/icon-loc.png" class="image m-r-10"></image>
-
+
<view class="info">
<view class="title">
{{ dto.customer }}
@@ -208,6 +317,8 @@
{{ item.supplierName }}
</view>
<view class="flex m-t-12">
+ <radio :checked="submitForm.orderItems.indexOf(item.id)>=0" @click="changeSalesOrderItem(item)"></radio>
+
<image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)">
</image>
<view class="flex1">
@@ -215,9 +326,6 @@
<view class="title"><span class="level">{{ item.flowerCategory }}</span><span
class="level">{{ item.flowerLevelStr }}</span>{{ item.flowerName }}
</view>
- <!-- <view class="m-l-a m-r-0">-->
- <!-- {{item.flowerCategory || '-'}}-->
- <!-- </view>-->
</view>
<view class="each-list">
<view class="each-item">
@@ -248,7 +356,7 @@
</view>
</view>
- <view class="info-container bg-white br-4">
+ <view class="info-container bg-white br-4" v-if="!showSales">
<view class="form-item">
<view class="label">订单编号:</view>
<view class="value">{{ dto.orderNo || '-' }}</view>
@@ -302,7 +410,7 @@
<view class="value">{{ dto.remarks || '-' }}</view>
</view>
</view>
- <view class="info-container bg-white br-4 m-t-12">
+ <view class="info-container bg-white br-4 m-t-12" v-if="!showSales">
<view class="form-item">
<view class="label">订单金额:</view>
<view class="value">{{ dto.totalAmount || '-' }}</view>
@@ -322,7 +430,7 @@
</view>
- <view class="info-container bg-white br-4 m-t-12">
+ <view class="info-container bg-white br-4 m-t-12" v-if="!showSales">
<view class="icon-view">
<image src="/static/common/icon-kf.png" class="icon-kf m-r-10 img100 icon"></image>
我的客服
@@ -339,11 +447,54 @@
</view>
</view>
+
+ <view class="info-container form bg-white br-4 m-t-12" v-if="showSales">
+ <!-- 表单更新 -->
+ <view class="form-item">
+ <view class="form-item-label">
+ 理由
+ </view>
+ <view class="form-item-value">
+ <input v-model="submitForm.reason" clearable placeholder="请输入理由" class="form-input"></input>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-label">
+ 图片
+ </view>
+ <view class="form-item-value m-l-a m-r-0">
+ <view class="t-red" @click="uploadIcon('image')">上传</view>
+ </view>
+ </view>
+ <view class="flex p20" v-if="submitForm.imageList&&submitForm.imageList.length>0">
+ <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.imageList" :key="index">
+ <image class="check-img" :src="timg" @click.stop="previewImg(timg)">
+ </image>
+ <view class="t-red text-center" @click.stop="deleteCheckImage('imageList',index)">删除</view>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-label">
+ 视频
+ </view>
+ <view class="form-item-value m-l-a m-r-0">
+ <view class="t-red" @click="uploadIcon('video')">上传</view>
+ </view>
+ </view>
+ <view class="flex p20" v-if="submitForm.videoList&&submitForm.videoList.length>0">
+ <view class="m-t-12 m-r-10 " v-for="(timg,index) of submitForm.videoList" :key="index">
+ <video :src="timg" style="display: block;margin: 0 auto;"></video>
+
+ <view class="t-red text-center" @click.stop="deleteCheckImage('videoList',index)">删除</view>
+ </view>
+ </view>
+ </view>
+
<!-- #ifdef PUB_CUSTOMER -->
<view class="button-space"></view>
- <view class="buttons-bottom flex">
+ <view class="buttons-bottom flex" v-if="!showSales">
<view class="button button-1" @click="buttonClick('refund')" v-if="dto.couldRefund">申请退款
</view>
<view class="button button-1" @click="buttonClick('confirm')" v-if="dto.status ==='RECEIVE'"> 确认收货
@@ -352,10 +503,18 @@
</view>
<view class="button button-1" @click="buttonClick('evaluate')" v-if=" dto.status === 'EVALUATE'"> 评价
</view>
- <!-- <view class="button button-1" @click="buttonClick('couldRefund')"
- v-if="dto.couldRefund"> 退款
- </view> -->
-
+ <view class="button button-1" @click="buttonClick('sales')"
+ v-if=" dto.status === 'EVALUATE'||dto.status=='COMPLETED'"> 申请售后
+ </view>
+ </view>
+ <view v-if="showSales">
+ <view style="min-height:200rpx">
+ </view>
+ <view class="bottom-price flex">
+ <view class="button-green-1 m-l-a m-r-0" style="min-width: 240rpx" @click="submitSales">
+ 提交售后申请({{submitForm.orderItems&&submitForm.orderItems.length||0}})
+ </view>
+ </view>
</view>
<!-- #endif -->
<!--
@@ -369,6 +528,29 @@
background: #F7F7F7;
padding: 30rpx;
+ .check-img {
+ width: 96rpx;
+ height: 96rpx;
+ border-radius: 4rpx;
+ border: 2rpx dashed #CECECE;
+ }
+
+ .bottom-price {
+ position: fixed;
+ background-color: #ffffff;
+ left: 0rpx;
+ padding: 20rpx;
+ padding-bottom: 40rpx;
+ right: 0rpx;
+ bottom: 0rpx;
+
+ .button-green-1 {
+ min-width: 400rpx;
+ padding-left: 20rpx;
+ padding-right: 20rpx;
+ }
+ }
+
.button-space {
min-height: 140rpx;
}
diff --git a/sub_pages/supplier/order-sale/order-sale-detail.vue b/pages/order/order-sale/order-sale-detail.vue
similarity index 95%
rename from sub_pages/supplier/order-sale/order-sale-detail.vue
rename to pages/order/order-sale/order-sale-detail.vue
index bbb1b4f..4923387 100644
--- a/sub_pages/supplier/order-sale/order-sale-detail.vue
+++ b/pages/order/order-sale/order-sale-detail.vue
@@ -11,6 +11,9 @@
// #ifdef PUB_PARTNER
type: 'partner',
// #endif
+ // #ifdef PUB_CUSTOMER
+ type: 'customer',
+ // #endif
};
},
async onLoad(options) {
@@ -18,7 +21,6 @@
this.id = options.id || ''
if (this.id) {
await this.getDetail()
- this.getItemList()
}
},
methods: {
@@ -54,16 +56,15 @@
<view class="address-container bg-white br-4 m-t-12">
<view class="flex">
<image src="/static/common/icon-loc.png" class="image m-r-10"></image>
-
- <!-- <view class="icon-loc m-r-10">
+
+ <!-- <view class="icon-loc m-r-10">
<image src="/static/common/icon-loc.png" class="image"></image>
</view> -->
<view class="info">
<view class="title">
{{ dto.customer }}
- <view class="tel">{{ dto.customerTel }}</view>
</view>
- <view class="content">{{ dto.customerAddress }}</view>
+ <view class="content">{{ dto.customerTel }}</view>
</view>
</view>
</view>
@@ -72,7 +73,7 @@
<image class="icon-dp" src="/static/common/icon-dp.png"></image>
{{ item.supplierName }}
</view>
- <view class="flex m-t-12">
+ <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>
<view class="flex1">
@@ -100,12 +101,12 @@
<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 class="each-item">
<view class="label">责任方</view>
@@ -154,7 +155,7 @@
</view>
</view>
- <view class="info-container bg-white br-4">
+ <view class="info-container bg-white m-t-12 br-4">
<view class="form-item">
<view class="label">售后单号:</view>
@@ -275,7 +276,8 @@
.address-container {
padding: 28rpx;
-.image {
+
+ .image {
// background-color: #20613D;
border-radius: 50%;
margin-top: 8rpx;
@@ -284,6 +286,7 @@
height: 32rpx;
// padding: 8rpx;
}
+
// .icon-loc {
// width: 48rpx;
// height: 48rpx;
@@ -371,8 +374,8 @@
margin-top: 6rpx;
.each-item {
- min-width: 30%;
- max-width: 40%;
+ min-width: 40%;
+ max-width: 50%;
text-align: center;
margin-left: 0rpx;
margin-right: auto;
diff --git a/sub_pages/supplier/order-sale/order-sale.vue b/pages/order/order-sale/order-sale.vue
similarity index 88%
rename from sub_pages/supplier/order-sale/order-sale.vue
rename to pages/order/order-sale/order-sale.vue
index 2306b7f..81dc4ff 100644
--- a/sub_pages/supplier/order-sale/order-sale.vue
+++ b/pages/order/order-sale/order-sale.vue
@@ -11,10 +11,10 @@
<view class="order-sale-item br-4 list-item bg-white">
<view class="title flex">
<view>售后单号:{{item.salesNo}}</view>
- <view class="m-l-a m-r-0 status">审核状态:{{item.auditStatusStr}}</view>
+ <view class="m-l-a m-r-0 status">审核状态:{{item.auditStatusStr||'-'}}</view>
</view>
<view class="line"></view>
- <view class="form">
+ <view class="sale-form">
<view class="form-item">
<view class="label" @click="copyTxt(item.orderNo)">订单单号</view>
<view class="value">{{item.orderNo}}</view>
@@ -70,7 +70,15 @@
}
},
onLoad() {
+ // #ifdef PUB_SUPPLIER
+ this.listApi = '/api/supplier/sales/list'
+ // #endif
+ // #ifdef PUB_PARTNER
this.listApi = '/api/partner/sales/list'
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ this.listApi = '/api/customer/sales/list'
+ // #endif
this.getList()
},
@@ -93,7 +101,7 @@
},
toDetail(item) {
uni.navigateTo({
- url: `/sub_pages/supplier/order-sale/order-sale-detail?id=${item.id}`
+ url: `/pages/order/order-sale/order-sale-detail?id=${item.id}`
})
}
}
@@ -120,35 +128,32 @@
margin-bottom: 16rpx;
}
- .form {
- display: flex;
- flex-wrap: wrap;
+ .sale-form {
+ // display: flex;
+ // flex-wrap: wrap;
.form-item {
+ display: flex;
flex: 1;
// min-width: 40%;
// max-width: 50%;
+ line-height: 40rpx;
+ font-size: 28rpx;
.label {
font-weight: 400;
- font-size: 24rpx;
color: #666666;
- line-height: 34rpx;
}
.label::after {
content: ":";
font-weight: 400;
- font-size: 24rpx;
color: #666666;
- line-height: 34rpx;
}
.value {
font-weight: 400;
- font-size: 24rpx;
color: #000000;
- line-height: 34rpx;
}
.value.red {
diff --git a/pages/order/order.vue b/pages/order/order.vue
index 7a3e36d..cc58a38 100644
--- a/pages/order/order.vue
+++ b/pages/order/order.vue
@@ -12,7 +12,7 @@
{name: '待发货', value: 'SEND'},
{name: '待收货', value: 'RECEIVE'},
{name: '待评价', value: 'EVALUATE'},
- {name: '售后', value: 'COMPLETED'},
+ {name: '已完成', value: 'COMPLETED'},
{name: '已退款', value: 'REFUND'},
]
};
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index f593ec7..ed93c6b 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -30,7 +30,7 @@
<view class="name" v-if="currentInfo.id">
<view class="t1">
{{
- (!!currentInfo.supplierDTO ? (currentInfo.supplierDTO.name) : "") || (!!currentInfo.customerDTO ? (currentInfo.customerDTO.name) : "") || currentInfo.nickName || currentInfo.loginName || '-'
+ (!!currentInfo.partnerDTO ? (currentInfo.partnerDTO.name) : "") || (!!currentInfo.supplierDTO ? (currentInfo.supplierDTO.name) : "") || (!!currentInfo.customerDTO ? (currentInfo.customerDTO.name) : "") || currentInfo.nickName || currentInfo.loginName || '-'
}}
<span v-if="currentInfo.supplierDTO&¤tInfo.supplierDTO.status!=='P'">
({{ currentInfo.supplierDTO ? currentInfo.supplierDTO.statusStr : '' }})</span>
@@ -93,7 +93,7 @@
<image src="../../static/images/customer/order/order-type-4.png" class="order-icon dpj"></image>
<view>待评价</view>
</view>
- <view class="order-icons" @click="goto('/pages/order/order?status=COMPLETED',true)">
+ <view class="order-icons" @click="goto('/pages/order/order-sale/order-sale',true)">
<image src="../../static/images/customer/order/order-type-5.png" class="order-icon sh"></image>
<view>售后</view>
</view>
@@ -162,6 +162,15 @@
<uni-icons type="right"></uni-icons>
</view>
</view>
+ <!-- #ifdef PUB_PARTNER -->
+ <view class="user-util m-t-12 flex" v-if="selftype==='partner'"
+ @click="goto('/sub_pages/partner/partner-info/partner-code',true)">
+ <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>
diff --git a/sub_pages/customer/customer-info/customer-info.vue b/sub_pages/customer/customer-info/customer-info.vue
index eb9fbee..527fb66 100644
--- a/sub_pages/customer/customer-info/customer-info.vue
+++ b/sub_pages/customer/customer-info/customer-info.vue
@@ -144,7 +144,7 @@
}
this.init_area()
-
+// www.hmyxianhua.com/wx-jump
},
diff --git a/sub_pages/partner/partner-info/partner-code.vue b/sub_pages/partner/partner-info/partner-code.vue
new file mode 100644
index 0000000..0d43c5f
--- /dev/null
+++ b/sub_pages/partner/partner-info/partner-code.vue
@@ -0,0 +1,183 @@
+<template>
+ <!-- 联系我们 -->
+ <!-- -->
+ <view class="contact-container">
+ <view class="container" @click="saveCode">
+ <!-- <image src="../../../static/uni.png" mode="aspectFit" class="code"></image> -->
+ <canvas type="2d" id="myQrcode" class="code"></canvas>
+ <view class="info">
+ <view class="desc">
+ <p>{{name||'-'}}的推广二维码</p>
+ <p style="font-size: 600;color: #000;">点击保存二维码</p>
+ </view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import drawQrcode from '@/plugins/weapp.qrcode.esm.js'
+
+ export default {
+ data() {
+ return {
+ name: '',
+ userId: '',
+ canvas: undefined,
+ }
+ },
+ onLoad(options) {
+ if (!this.currentInfo.partnerDTO) {
+ this.$message.showToast('请先完善合伙人信息')
+ return
+ }
+ this.name = this.currentInfo.partnerDTO.name || '佚名'
+ // this.userId = this.currentInfo.userId
+ this.initcode()
+ },
+ methods: {
+ initcode() {
+ let that = this
+ const query = uni.createSelectorQuery()
+
+ query.select('#myQrcode')
+ .fields({
+ node: true,
+ size: true
+ })
+ .exec((res) => {
+ var canvas = res[0].node
+ that.canvas = canvas
+ // 调用方法drawQrcode生成二维码
+ drawQrcode({
+ callback:function(e){
+ console.log('drawQrcode callback',e)
+ },
+ canvas: canvas,
+ canvasId: 'myQrcode',
+ width: 480,
+ height: 480,
+ padding: 30,
+ background: '#ffffff',
+ foreground: '#000000',
+ text: JSON.stringify({
+ 'name': that.name,
+ 'userId': that.currentInfo.id,
+ 'version': '1.0.0'
+ }),
+ // text: `https://www.hmyxianhua.com/wx-c-jump/sub_pages/customer/customer-info/customer-info?name=${that.name}&userId=${that.currentInfo.id}`
+ // JSON.stringify({
+ // 'name': that.name,
+ // 'userId': this.currentIn fo.id
+ // }),
+ })
+ // .catch(e) {
+ // console.log('drawQrcode', e)
+ // }
+ })
+ },
+ saveCode() {
+
+ // 获取临时路径(得到之后,想干嘛就干嘛了)
+ uni.canvasToTempFilePath({
+ canvasId: 'myQrcode',
+ canvas: this.canvas,
+ x: 0,
+ y: 0,
+ width: 480,
+ height: 480,
+ destWidth: 260,
+ destHeight: 260,
+ success(res) {
+ console.log('二维码临时路径:', res.tempFilePath)
+ uni.saveImageToPhotosAlbum({
+ filePath: res.tempFilePath,
+ success: function() {
+ console.log('save success');
+ uni.showToast({
+ title: '保存成功'
+ })
+ },
+ fail(res) {
+ // console.error(res)
+ uni.showToast({
+ title: '保存失败。',
+ icon: 'error'
+ })
+ }
+ })
+ },
+ fail(res) {
+ uni.showToast({
+ title: '保存失败',
+ icon: 'error'
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .contact-container {
+ position: relative;
+
+ .container {
+ position: absolute;
+ top: 148rpx;
+ // width: 694rpx;
+ left: 30rpx;
+ right: 30rpx;
+ min-height: 712rpx;
+ // background: #FFFFFF;
+ border-radius: 20rpx;
+
+ .code {
+ margin-left: auto;
+ margin-right: auto;
+ margin-top: 24rpx;
+ width: 482rpx;
+ height: 482rpx;
+ margin-bottom: 32rpx;
+ display: block;
+ }
+
+ .info {
+ text-align: center;
+
+ .desc {
+ font-weight: 400;
+ font-size: 28rpx;
+ color: #666666;
+ line-height: 40rpx;
+ font-style: normal;
+ margin-bottom: 126rpx;
+
+ p {
+ line-height: 48rpx;
+ }
+ }
+
+ .main {
+ font-weight: 600;
+ font-size: 48rpx;
+ color: #000000;
+ margin-top: 48rpx;
+ margin-bottom: 32rpx;
+
+ }
+ }
+ }
+
+ .top-image {
+ width: 418rpx;
+ height: 228rpx;
+ position: absolute;
+ top: 16rpx;
+ left: 50%;
+ transform: translateX(-50%);
+
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/supplier/flower-manage/flower-add.vue b/sub_pages/supplier/flower-manage/flower-add.vue
index 2e3e7aa..b234d61 100644
--- a/sub_pages/supplier/flower-manage/flower-add.vue
+++ b/sub_pages/supplier/flower-manage/flower-add.vue
@@ -163,11 +163,6 @@
<view class="form-item bottom-border-no">
<view class="label">商品描述</view>
<view class="m-l-a m-r-0 flex">
- <!-- <u-input type="textarea" v-model="dto.description" placeholder="请输入商品描述" type="number"
- ></u-input> -->
- <!-- <u--textarea v-model="dto.description" style="margin-top: 16px;"
- placeholder="请输入商品描述" count></u--textarea> -->
- <!-- <uni-easyinput v-model="dto.description" placeholder="请输入商品描述" ></uni-easyinput> -->
</view>
</view>
--
Gitblit v1.9.3