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&&currentInfo.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