فهرست منبع

好多功能更改

fuwei 5 سال پیش
والد
کامیت
032ff14f4b

+ 5 - 2
ghs/src/admin/billing/affirm.vue

@@ -147,7 +147,7 @@ export default {
 		}
 	},
 	computed: {
-		...mapGetters(["getMerchantInfo"])
+		...mapGetters(["getMerchantInfo",'getLoginInfo']),
 	},
 	methods: {
 		...mapActions(["initMerchantInfo"]),
@@ -177,12 +177,15 @@ export default {
 				const {
 					data: { orderId, orderSn }
 				} = res;
+				// 如果是客户跳转到客户成功页pagesClient/official/clientApply   供货员工下单到 /admin/billing/result
+				let url = this.getLoginInfo.identity == '1'?'pagesClient/official/clientApply': `/admin/billing/result?orderId=${orderId}&orderSn=${orderSn}`
 				uni.redirectTo({
-					url: `/admin/billing/result?orderId=${orderId}&orderSn=${orderSn}`,
+					url: url,
 					success: result => {},
 					fail: () => {},
 					complete: () => {}
 				});
+				
 			});
 		},
 		// 表单验证

+ 1 - 1
ghs/src/admin/home/apply.vue

@@ -78,7 +78,7 @@
                         list:[{
                             name: "邀请开店",
                             img: `${this.$constant.imgUrl}/ghs/home/yqyl.png`,
-                            url: "/pagesShare/interest/my-invite"
+                            url: "/pagesInvite/list"
                         }]
                     },
                     {

+ 1 - 1
ghs/src/admin/home/workbench.vue

@@ -263,7 +263,7 @@ export default {
 				{
 					name: "邀请开店",
 					img: `${this.$constant.imgUrl}/ghs/home/yqyl.png`,
-					url: "/pagesShare/interest/my-invite"
+					url: "/pagesInvite/list"
 				},
 				{
 					name: "经营概况",

+ 17 - 0
ghs/src/components/app-formRadio-btn.vue

@@ -56,4 +56,21 @@ export default {
 .admin-button-com {
 	margin-right: 20upx;
 }
+// 公共
+.line-cell {
+  .tui-title {
+    width: 210upx;
+    color: $fontColor2;
+  }
+  .tui-input {
+    width: calc(100% - 210px);
+    font-size: 28px;
+  }
+  .tui-placeholder {
+    color: #ccc;
+  }
+  .phcolor {
+    color: #ccc;
+  }
+}
 </style>

+ 11 - 8
ghs/src/components/app-result.vue

@@ -1,11 +1,16 @@
 <template>
-	<view class="billing_box_bg">
-		<view class="top-view"> </view>
-		<view class="result-view">
-			<view :class="['iconfont', icon]"></view>
-			<view class="result-title">{{ title }}</view>
-            <slot></slot>
+	<view class="app-content">
+		<view class="billing_box_bg">
+			<view class="top-view"> </view>
+			<view class="result-view">
+				<view :class="['iconfont', icon]"></view>
+				<slot name="title">
+					<view class="result-title">{{ title }}</view>
+				</slot>
+				<slot></slot>
+			</view>
 		</view>
+		<slot name="content"></slot>
 	</view>
 </template>
 
@@ -29,7 +34,6 @@ export default {
 .billing_box_bg {
 	position: relative;
 	padding: 60px 30px;
-	height: 100vh;
 	display: flex;
 	flex-direction: column;
     background-color: #f5f5f5;
@@ -38,7 +42,6 @@ export default {
 		top: 0;
 		left: 0;
 		width: 100%;
-
 		height: 299px;
 		background: #3385ff;
 		border-radius: 0px 0px 83px 83px;

+ 9 - 4
ghs/src/mixins/globalMixins.js

@@ -15,6 +15,9 @@ export default {
 			pageTo: pageTo
 		}
 	},
+	computed: {
+		...mapGetters({ loginInfo: "getLoginInfo" })
+	},
 	// 页面生命周期才触发
 	onLoad: function (option) {
 		this.option = option || null
@@ -26,10 +29,9 @@ export default {
 		}
 		uni.setStorageSync('currentQuery', JSON.stringify(option))
 		
-		if (isLogin() == false) {
+		if (isLogin() == false || this.$util.isEmpty(this.loginInfo)) {
 			wxLoginFn()
 				.then(res => {
-					console.log(123)
 					//花店员工和未知身份可以访问的地址
 					var urlArr = ['admin/shopAdmin/bind', 'pagesClient/official'];
 					var redirectPage = res.redirectPage;
@@ -44,7 +46,7 @@ export default {
 						if (res.data.admin.identity == '2') {
 							this.$util.pageTo({
 								url: "/admin/home/workbench",
-								type: 3
+								type: 4
 							});
 						//花店员工
 						} else if(res.data.admin.identity == '1'){
@@ -59,7 +61,10 @@ export default {
 						}else{
 							this.$util.pageTo({
 								url: "/pagesClient/official/index",
-								type: 2
+								type: 2,
+								query: {
+									...this.option	
+								}
 							});
 						}
 					}

+ 17 - 11
ghs/src/pages.json

@@ -1,16 +1,16 @@
 {
 	"pages": [
 		{
-			"path": "admin/home/console",
+			"path": "admin/home/workbench",
 			"style": {
-				"navigationBarTitleText": ""
+				"navigationBarTitleText": "",
+				"enablePullDownRefresh": true
 			}
 		},
 		{
-			"path": "admin/home/workbench",
+			"path": "admin/home/console",
 			"style": {
-				"navigationBarTitleText": "",
-				"enablePullDownRefresh": true
+				"navigationBarTitleText": ""
 			}
 		},
 		{
@@ -96,6 +96,18 @@
 						"navigationBarTitleText": "申请"
 					}
 				},
+				{
+					"path": "official/clientApply",
+					"style": {
+						"navigationBarTitleText": "结果"
+					}
+				},
+				{
+					"path": "official/clientResult",
+					"style": {
+						"navigationBarTitleText": "提交审核"
+					}
+				},
 				{
 					"path": "official/callback",
 					"style": {
@@ -131,12 +143,6 @@
 					"style": {
 						"navigationBarTitleText": "付款"
 					}
-				},
-				{
-					"path": "interest/my-invite",
-					"style": {
-						"navigationBarTitleText": "我的邀请"
-					}
 				}
 			]
 		},

+ 3 - 15
ghs/src/pagesClient/official/apply.vue

@@ -55,18 +55,6 @@
       </div>
       <!-- 手机号 -->
       <div class="module-com">
-          <!-- <tui-list-cell 
-            class="line-cell code-wrap" :hover="false">
-            <div class="tui-title">商家类型</div>
-            <div>
-              <button class="admin-button-com blue mini-btn">
-                零售
-              </button>
-              <button style="margin-left:10px;" class="admin-button-com default mini-btn">
-                供货商
-              </button>
-            </div>
-          </tui-list-cell> -->
           <tui-list-cell 
             v-if="option.style == 1"
             class="line-cell code-wrap" :hover="false">
@@ -141,7 +129,7 @@ import TuiListCell from "@/components/plugin/list-cell";
 import AppAreaSel from "@/components/app-area-sel";
 import SimpleAddress from "@/components/plugin/simple-address";
 import AppAvatarModule from "@/components/module/app-avatar";
-import { getWxInfo, getWxPhone } from "@/api/mini";
+// import { getWxInfo, getWxPhone } from "@/api/mini";
 import AppUploader from "@/components/app-uploader";
 import AppBindInfo from "@/components/app-bind-info";
 const form = require("@/utils/formValidation.js");
@@ -149,8 +137,8 @@ const form = require("@/utils/formValidation.js");
 import {
   getIntroduce,
   applyRegister,
-  sendSmsW,
-  regionTree
+  // sendSmsW,
+  // regionTree
 } from "@/api/official";
 // import { getShopUser } from '@/utils/auth'
 export default {

+ 198 - 0
ghs/src/pagesClient/official/clientApply.vue

@@ -0,0 +1,198 @@
+<template>
+    <view class="clientApp-content_box app-content">
+        <appResult class="app-result_xx" title="下单成功">
+            <template slot="content">
+                <view class="apply-content_box">
+            <view class="tit">只要一步,免费开网店:</view>
+            <form @submit="formSubmit">
+                 <view class="module-com">
+                     <tui-list-cell class="line-cell" :hover="false">
+                        <div class="tui-title">花店名称</div>
+                        <input
+                            v-model="form.name"
+                            placeholder-class="phcolor"
+                            placeholder-style="color:#CCCCCC"
+                            class="tui-input"
+                            name="name"
+                            placeholder="请输入花店名称"
+                        />
+                        </tui-list-cell>
+                        <tui-list-cell class="line-cell" :hover="false">
+                            <div class="tui-title">营业执照编号</div>
+                            <input
+                                v-model="form.licenseNo"
+                                placeholder-class="phcolor"
+                                placeholder-style="color:#CCCCCC"
+                                class="tui-input"
+                                name="name"
+                                placeholder="请输入营业执照编号"
+                            />
+                        </tui-list-cell>
+                        <tui-list-cell class="line-cell" :hover="false">
+                            <div class="tui-title">营业执照片</div>
+                            <app-uploader @resultData="resultData" ref="appUploader" :num="1" />
+                        </tui-list-cell>
+                        <appFormRadioBtn :selectOptions="selectOptions" title="主营业务" :currenSelect.sync="form.main" />
+                 </view>
+                 <div class="btn-wrap">
+                    <button class="admin-button-com blue big" formType="submit">确认开店</button>
+                </div>
+            </form>
+        </view>
+            </template>
+	    </appResult>
+        
+    </view>
+</template>
+
+<script>
+    import appResult from '@/components/app-result'
+    import TuiListCell from "@/components/plugin/list-cell";
+    import AppUploader from "@/components/app-uploader";
+    import appFormRadioBtn from "@/components/app-formRadio-btn";
+    import { applyRegister } from "@/api/official";
+    const form = require("@/utils/formValidation.js");
+    export default {
+        name:'ClientApply',
+        components:{
+            appResult,
+            TuiListCell,
+            AppUploader,
+            appFormRadioBtn
+        },
+        data() {
+            return {
+                 form: {
+                    name: "",
+                    main: 1,
+                    licenseNo: "",
+                    license: "",
+                },
+                selectOptions:[{name:'零售',id:1},{name:'培训',id:2}]
+                
+            }
+        },
+        methods:{
+            resultData(val){
+                this.form.license = val.smallUrl
+            },
+             // 表单验证
+            formSubmit(e) {
+            // 表单规则
+                let rules = [
+                    {
+                    name: "name",
+                    rule: ["required"],
+                    msg: ["请填写昵称"]
+                    }
+                ];
+                // 进行表单检查
+                let formData = this.form;
+                let checkRes = form.validation(formData, rules);
+                // 验证通过!
+                if (!checkRes) {
+                    setTimeout(() => {
+                    this.confirmFn();
+                    });
+                } else {
+                    this.$msg(checkRes);
+                }
+                },
+                confirmFn() {
+                // let id = uni.getStorageSync("introMerchantId");
+                applyRegister({
+                    ...this.form,
+                    style: this.option.style || 0,
+                    from: 2
+                }).then(res => {
+                    this.$util.pageTo({
+                    url: "/pagesClient/official/clientApply",
+                    type: 2,
+                    });
+                });
+                },
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    .btn-wrap {
+    width: 90%;
+    margin: 60px auto;
+    .admin-button-com {
+        width: 100%;
+        margin: 0 auto;
+    }
+    }
+    .clientApp-content_box {
+        min-height: 100vh;
+        & .app-result_xx  /deep/ .result-title {
+            margin-bottom: 0!important;
+            font-weight: 600;
+        }
+        & .app-result_xx  /deep/ .billing_box_bg {
+            padding-bottom: 30upx;
+        }
+        .apply-content_box {
+            & > .tit {
+                color: #333333;
+                font-size: 32upx;
+                font-weight: 600;
+                padding: 30upx;
+                border: 1upx solid #EEEEEE;
+                background-color: #FFFFFF;
+            }
+        }
+    }
+    .module-com {
+  margin-bottom: 20px;
+  background-color: #fff;
+  .module-tit {
+    padding: 20px 18px;
+    font-size: 28px;
+    font-weight: 600;
+    border-bottom: 1px solid $borderColor;
+  }
+  .module-det {
+    padding: 0 30px;
+  }
+}
+// 公共
+.line-cell {
+  .tui-title {
+    width: 210upx;
+    color: $fontColor2;
+  }
+  .tui-input {
+    width: calc(100% - 210px);
+    font-size: 28px;
+  }
+  .tui-placeholder {
+    color: #ccc;
+  }
+  .phcolor {
+    color: #ccc;
+  }
+}
+.btn-wrap {
+  width: 90%;
+  margin: 60px auto;
+  .admin-button-com {
+    width: 100%;
+    margin: 0 auto;
+  }
+}
+// 验证码
+.code-wrap {
+  .tui-input {
+    width: calc(100% - 410px);
+    font-size: 28px;
+  }
+  .tui-code {
+    width: 200px;
+    text-align: center;
+    border-left: 1px solid $borderColor;
+    color: $mainColor;
+  }
+}
+</style>

+ 66 - 0
ghs/src/pagesClient/official/clientResult.vue

@@ -0,0 +1,66 @@
+<template>
+	<appResult title="已提交审核">
+        <template slot="title">
+            <view class="result-title_box">
+                <view>已提交审核</view>
+                <view>1个工作日内通知审核结果</view>
+            </view>
+            
+        </template>
+             <view class="dec">
+                开启微信通知,及时接收审核结果:
+            </view>
+            <button 
+                class="admin-button-com blue big" 
+                @click="pageTo({
+                    url:'/pagesClient/official/warn'
+                })"
+                >
+                去开启
+            </button>
+       
+	</appResult>
+</template>
+
+<script>
+import appResult from '@/components/app-result'
+export default {
+	name: "ApplyResult", // 开单结果
+	components:{
+		appResult
+    },
+    methods:{
+        handleContact(e){
+            console.log(e)
+        }
+    }
+};
+</script>
+
+<style lang="scss" scoped>
+    .dec {
+     color: #666666;   
+     font-size: 28px;
+     font-weight: 400;
+     margin-bottom: 30px;
+    }
+	.admin-button-com {
+		margin-bottom: 20px;
+		width: 100%;
+    }
+    .result-title_box {
+        margin: 50upx 0 90upx;
+        text-align: center;
+        & > view:nth-child(1) {
+            color: #333333;
+            font-size: 32upx;
+            font-weight: 600;
+            margin-bottom: 18upx;
+        }
+        & > view:nth-child(2) {
+            color: #666666;
+            font-size: 28upx;
+            font-weight: 400;
+        }
+    }
+</style>

+ 4 - 1
ghs/src/pagesClient/official/index.vue

@@ -59,7 +59,10 @@
 		})"
     >立即续费</div>
     <div v-else class="app-footer" @click="pageTo({
-			url: '/pagesClient/official/pay'
+			url: '/pagesClient/official/pay',
+      query:{
+        ...option
+      }
 		})">申请试用</div>
   </div>
 </template>

+ 7 - 3
ghs/src/pagesClient/official/pay.vue

@@ -47,10 +47,15 @@
         v-if="$util.isEmpty(renewOption)"
         class="admin-button-com middle blue"
         @click="pageTo({
-			url: '/pagesClient/official/apply',type:2
+			    url: '/pagesClient/official/apply',type:2,
+          query:{
+            ...option
+          }
 		})"
       >免费试用</button>
-      <button v-else class="admin-button-com middle blue" @click="wxPay">支付</button>
+      <button v-else class="admin-button-com middle blue" @click="wxPay">
+        支付
+      </button>
     </div>
   </div>
 </template>
@@ -68,7 +73,6 @@ export default {
       renewOption: null
     };
   },
-  onLoad() {},
   methods: {
     init() {
       this._getMealDet();

+ 0 - 2
ghs/src/pagesClient/official/result.vue

@@ -3,8 +3,6 @@
         <view class="dec">
             开启微信通知,有订单动态时及时通知您:
         </view>
-          <!-- @bindcontact="handleContact"
-           open-type="contact" -->
 		<button 
             class="admin-button-com blue big" 
             @click="pageTo({

+ 67 - 18
ghs/src/pagesInvite/list.vue

@@ -11,12 +11,24 @@
 		</view>
 		<view class="info-view">
 			<view class="info-main">
-				<image class="logo" :src="merchantInfo.logo" alt="商品图" />
+				<app-avatar-module :width="100" />
 				<view class="content">
-					<view class="name"> {{ merchantInfo.merchantName || "" }}</view>
-					<view class="mark"> {{ merchantInfo.shopName || "" }}</view>
+					<view class="mark"> {{ userInfo.merchantName || "" }}</view>
+					<view class="name"> 三级代理 </view>
 				</view>
-				<image
+				<button
+					id="sharekh"
+					v-if="pageIndex == 0"
+					class="user-wrap-right btn" open-type="share">
+					<img :src="`${constant.imgUrl}/retail/interest/invite-store.png`" alt mode="widthFix" />
+				</button>
+				<button
+					id="shareGhs"
+					v-else
+					class="user-wrap-right" open-type="share">
+					<img :src="`${constant.imgUrl}/ghs/me/yqghs.png`" alt mode="widthFix" />
+				</button>
+				<!-- <image
 					v-if="pageIndex == 0"
 					class="btn"
 					src="/static/images/invite/invite_supplier.png"
@@ -27,24 +39,24 @@
 					class="btn"
 					src="/static/images/invite/invite_shop.png"
 					alt="商品图"
-				/>
+				/> -->
 			</view>
 			<view class="info-list">
 				<view class="info-item">
+					<view class="item-name">{{ balance || 0 }}</view>
 					<view class="item-value">帐户余额(¥)</view>
-					<view class="item-name">{{ balance }}</view>
 				</view>
 				<view class="info-item">
+					<view class="item-name">{{ invitedNum || 0 }}</view>
 					<view class="item-value">已邀请</view>
-					<view class="item-name">{{ invitedNum }}</view>
 				</view>
 				<view class="info-item">
+					<view class="item-name">{{ payNum || 0 }}</view>
 					<view class="item-value">已付费</view>
-					<view class="item-name">{{ payNum }}</view>
 				</view>
 				<view class="info-item">
+					<view class="item-name">{{ income || 0 }}</view>
 					<view class="item-value">累计收益(¥)</view>
-					<view class="item-name">{{ income }}</view>
 				</view>
 			</view>
 		</view>
@@ -75,21 +87,28 @@
 import Tabs from "@/components/plugin/tabs";
 import InviteItem from "./inviteItem";
 import { appyleListApi } from "@/api/invite/index";
-import { getMerchantDetail } from "@/api/merchant/index";
+// import { getMerchantDetail } from "@/api/merchant/index";
 import { list } from "@/mixins";
 import AppWrapperEmpty from "@/components/app-wrapper-empty";
+import AppAvatarModule from "@/components/module/app-avatar";
+import {mapGetters} from 'vuex'
 export default {
-	name: "赚钱分红-邀请开店",
+	name: "pagesInvite",
 	components: {
 		Tabs,
 		InviteItem,
-		AppWrapperEmpty
+		AppWrapperEmpty,
+		AppAvatarModule
 	},
 	mixins: [list],
+	computed: {
+		...mapGetters({ userInfo: "getUser" })
+	},
 	data() {
 		return {
 			merchantInfo: {},
 			pageIndex: 0,
+			constant: this.$constant,
 			pageTabs: [
 				{
 					name: "供应商",
@@ -151,13 +170,34 @@ export default {
 			uni.stopPullDownRefresh();
 		}
 	},
+	onShareAppMessage(res) {
+		if (res.target.id === "shareGhs") {
+			return {
+				title: "更懂您的花卉宝",
+				desc: "",
+				imgUrl: this.constant.imgUrl + "/retail/official/banner-1.png",
+				pagePath: `/pagesClient/official/index?introMerchantId=${this.userInfo.id}&form=2&style=2`
+			};
+		} else if (res.target.id === "sharekh") {
+			return {
+				title: "更懂您的花卉宝",
+				desc: "",
+				imgUrl: this.constant.imgUrl + "/retail/official/banner-1.png",
+				pagePath: `/pagesClient/official/index?introMerchantId=${this.userInfo.id}&form=2&style=2`
+			};
+		} else {
+			return {};
+		}
+	},
+	mounted(){
+	},
 	methods: {
-		async initMerchant() {
-			try {
-				const { data } = await getMerchantDetail();
-				this.merchantInfo = data;
-			} catch (error) {}
-		},
+		// async initMerchant() {
+		// 	try {
+		// 		const { data } = await getMerchantDetail();
+		// 		this.merchantInfo = data;
+		// 	} catch (error) {}
+		// },
 		async init() {
 			this._list();
 		},
@@ -231,6 +271,15 @@ export default {
 					color: #999999;
 				}
 			}
+			.user-wrap-right {
+			width: 230px;
+			background-color: #fff;
+			margin-right: 0;
+			padding: 0;
+			&::after {
+				border: none;
+			}
+			}
 			.btn {
 				flex-shrink: 0;
 				width: 231upx;

+ 0 - 296
ghs/src/pagesShare/interest/invite.vue

@@ -1,296 +0,0 @@
-<template>
-  <div class="app-content">
-    <app-tabs
-      :tabs="tabs"
-      :isFixed="true"
-      :isAdd="true"
-      addIcon="iconshezhi"
-      addText="设置"
-      @add="pageTo('/admin/interest/setting')"
-      :isBoxShadow="false"
-      :currentTab="form.status"
-      @change="change"
-      itemWidth="25%"
-      :padding="0"
-    />
-    <div class="input-wrap">
-      <app-search-module
-        :val="form.search"
-        placeholder="请输入名称/手机号"
-        :isBtn="true"
-        @search="searchFn"
-      />
-    </div>
-    <!-- list -->
-    <div class="list-wrap">
-      <block v-if="!$util.isEmpty(list.data)">
-        <div class="list" v-for="(item, index) in list.data" :key="index">
-          <div>
-            <app-avatar-module :src="item.userAvatar" :width="110" />
-          </div>
-          <div class="list-right">
-            <div class="flex-center-between">
-              <div class="app-size-30 app-color-0">{{ item.userName }}</div>
-              <div>{{ item.status | constantfilter('INVITE_STATUS') }}</div>
-            </div>
-            <div class="list-info">
-              <div class="list-info-left">
-                <div class="list-remark" v-if="item.status == 0 && item.addTime">
-                  <span>{{ item.addTime | formatTime }}</span>
-                  <span class="list-remark-prompt">领券</span>
-                </div>
-                <div class="list-remark" v-if="item.status == 1 && item.orderTime">
-                  <span>{{ item.orderTime | formatTime }}</span>
-                  <span class="list-remark-prompt">下单</span>
-                </div>
-                <div class="list-remark" v-if="item.status == 2 && item.giveTime">
-                  <span>{{ item.giveTime | formatTime }}</span>
-                  <span class="list-remark-prompt">兑奖</span>
-                </div>
-                <div>介绍人:{{ item.introUserName }} {{ item.introMobile }}</div>
-              </div>
-              <div class="admin-button-com blue" v-if="item.status == 1" @click="redeemFn(item)">兑奖</div>
-            </div>
-          </div>
-        </div>
-      </block>
-      <block v-else>
-        <app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
-      </block>
-    </div>
-    <!-- 兑奖弹窗 -->
-    <modal-module
-      :show="redeemModal"
-      :custom="true"
-      :maskClosable="false"
-      @click="modalClick"
-      padding="30rpx 30rpx"
-    >
-      <template>
-        <div class="redeem-wrap">
-          <div class="redeem-list-wrap">
-            <!-- 新用户 -->
-            <div class="list">
-              <div class="list-tag">
-                <img :src="`${constant.imgUrl}/retail/interest/new-member.png`" alt mode="widthFix" />
-              </div>
-              <div class="list-left">
-                <app-avatar-module :src="redeemData.userAvatar" :width="100" />
-              </div>
-              <div class="list-right">
-                <div class="app-color-0 app-size-30 app-blod">{{ redeemData.userName }}</div>
-                <div>普通客户</div>
-                <div>
-                  <span class="list-time">{{ redeemData.orderTime | formatTime }}</span>
-                  <span>下单</span>
-                </div>
-              </div>
-            </div>
-            <!-- 介绍人 -->
-            <div class="list">
-              <div class="list-tag">
-                <img :src="`${constant.imgUrl}/retail/interest/introducer.png`" alt mode="widthFix" />
-              </div>
-              <div class="list-left">
-                <app-avatar-module :src="redeemData.introUserAvatar" :width="100" />
-              </div>
-              <div class="list-right">
-                <div class="app-color-0 app-size-30 app-blod">{{ redeemData.introUserName }}</div>
-                <div>普通客户</div>
-                <div></div>
-              </div>
-            </div>
-          </div>
-          <!-- 总览 -->
-          <div class="redeem-total">
-            <span>奖励:</span>
-            <span class="app-price">{{ redeemData.prize }}</span>
-          </div>
-          <div class="redeem-btn">
-            <div class="admin-button-com default big" @click="modalCancel">取消</div>
-            <div class="admin-button-com blue big" @click="confirmGive">确认发奖</div>
-          </div>
-        </div>
-      </template>
-    </modal-module>
-  </div>
-</template>
-
-<script>
-import AppTabs from "@/components/plugin/tabs";
-import AppSearchModule from "@/components/module/app-search";
-import AppAvatarModule from "@/components/module/app-avatar";
-import ModalModule from "@/components/plugin/modal";
-import AppWrapperEmpty from "@/components/app-wrapper-empty";
-import { list } from "@/mixins";
-// api
-import { getListB, getDet, give } from "@/api/invite";
-export default {
-  name: "admin-invite",
-  components: {
-    AppTabs,
-    AppSearchModule,
-    AppAvatarModule,
-    ModalModule,
-    AppWrapperEmpty
-  },
-  mixins: [list],
-  data() {
-    return {
-      constant: this.$constant,
-      form: {
-        status: 0,
-        search: ""
-      },
-      tabs: [
-        {
-          name: "全部"
-        },
-        {
-          name: "待下单"
-        },
-        {
-          name: "待兑奖"
-        },
-        {
-          name: "已兑奖"
-        }
-      ],
-      redeemModal: false,
-      redeemData: {}
-    };
-  },
-  onLoad: function() {},
-  methods: {
-    async init() {
-      this._list();
-    },
-    searchFn(e) {
-      this.$msg('开发中...');
-      return false;
-      this._list();
-    },
-    _list() {
-      let params = JSON.parse(JSON.stringify(this.form));
-      params.status = params.status - 1;
-      return getListB(params).then(res => {
-        this.completes(res);
-      });
-    },
-    change(e) {
-      if (this.form.status == e.index) {
-        return false;
-      } else {
-        this.form.status = e.index;
-        this.resetList();
-        this._list();
-      }
-    },
-    modalCancel() {
-      this.redeemModal = false;
-    },
-    modalClick() {},
-    // 查看详情
-    redeemFn(item) {
-      getDet({ id: item.id }).then(res => {
-        this.redeemData = res.data;
-        this.redeemModal = true;
-      });
-    },
-    // 兑奖
-    confirmGive() {
-      give({ id: this.redeemData.id }).then(res => {
-        this.$msg("兑奖成功!");
-        this.modalCancel();
-        this.resetList();
-        this._list();
-      });
-    }
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-.app-content {
-  padding-top: 210px;
-}
-// 搜索框
-.input-wrap {
-  position: fixed;
-  top: 80px;
-  left: 0;
-  width: calc(100% - 50px);
-  background-color: #fff;
-  padding: 22px 20px 22px 30px;
-  border-top: 1px solid $borderColor;
-}
-// list
-.list-wrap {
-  width: 100%;
-  color: $fontColor3;
-  background-color: #fff;
-  .list {
-    @include disFlex(center, space-between);
-    width: calc(100% - 60px);
-    padding: 30px 0;
-    margin: 0 30px;
-    border-bottom: 1px solid $borderColor;
-    .list-right {
-      width: calc(100% - 130px);
-      .list-info {
-        @include disFlex(center, space-between);
-        margin-top: 10px;
-        .list-remark {
-          margin-top: 10px;
-          .list-remark-prompt {
-            margin-left: 20px;
-          }
-        }
-        .admin-button-com {
-          width: 80px;
-        }
-      }
-    }
-  }
-}
-// module
-.redeem-wrap {
-  .redeem-list-wrap {
-    .list {
-      position: relative;
-      @include disFlex(center, flex-start);
-      padding: 28px 20px;
-      color: $fontColor3;
-      box-shadow: 0px 1px 16px 0px rgba(238, 238, 238, 1);
-      border-radius: 10px;
-      .list-tag {
-        position: absolute;
-        top: 0;
-        right: 0;
-        width: 100px;
-      }
-      .list-right {
-        margin-left: 20px;
-        & > div:first-child {
-          margin-top: 0;
-        }
-        & > div {
-          margin-top: 14px;
-        }
-      }
-    }
-  }
-  .redeem-total {
-    margin: 30px 0 50px;
-    text-align: center;
-    font-size: 40px;
-  }
-  .redeem-btn {
-    @include disFlex(center, space-between);
-    width: 100%;
-    .admin-button-com {
-      width: 40%;
-    }
-  }
-}
-</style>

+ 0 - 314
ghs/src/pagesShare/interest/my-invite.vue

@@ -1,314 +0,0 @@
-<template>
-  <div class="app-content">
-    <app-tabs borderLeft :tabs="optionsType" :currentTab="roleIndex" @change="roleChange" itemWidth="50%" :padding="0" />
-    <div class="rank-wrap">
-      <div class="user-blo">
-        <div class="user-wrap">
-          <div class="user-wrap-left">
-            <app-avatar-module :width="100" />
-            <div class="user-det">
-              <div class="user-name">{{ userInfo.merchantName }}</div>
-              <div class="app-color-3">三级代理</div>
-            </div>
-          </div>
-          <!-- #ifdef H5 -->
-          <!-- <div class="user-wrap-right" @click="showShare = true">
-            <img :src="`${constant.imgUrl}/retail/interest/invite-store.png`" alt mode="widthFix" />
-          </div> -->
-          <!-- #endif -->
-          <!-- #ifdef MP-WEIXIN -->
-          <button
-            v-if="roleIndex == 1"
-            class="user-wrap-right" open-type="share">
-            <img :src="`${constant.imgUrl}/retail/interest/invite-store.png`" alt mode="widthFix" />
-          </button>
-           <button
-            v-else
-            class="user-wrap-right" open-type="share">
-            <img :src="`${constant.imgUrl}/ghs/me/yqghs.png`" alt mode="widthFix" />
-          </button>
-          <!-- #endif -->
-        </div>
-        <!-- 数据 -->
-        <div class="user-data">
-          <div class="data-list" v-for="(item, index) in userData" :key="index">
-            <div class="app-size-30 app-bold">{{ item.value }}</div>
-            <div class="app-color-3">{{ item.name }}</div>
-            <div class="app-color-1" v-if="item.btn" @click="withdrawFn">{{ item.btn }}</div>
-          </div>
-        </div>
-      </div>
-      <div class="prompt-text">花店列表</div>
-      <app-tabs :tabs="tabs" :currentTab="tabIndex" @change="change" itemWidth="20%" :padding="0" />
-    </div>
-    <!-- list -->
-    <div class="rank-list">
-      <block v-if="!$util.isEmpty(list.data)">
-        <div class="list" v-for="(item, index) in list.data" :key="index">
-          <app-avatar-module :src="item.userAvatar" :width="80" />
-          <div class="list-det">
-            <div class="list-det-right">
-              <div class="list-name">{{ item.name }}</div>
-              <div class="list-detail">
-                <span>{{ item.mobile }}</span>
-                <span class="app-price">¥{{ item.fee }}</span>
-              </div>
-            </div>
-            <div>
-              <i v-if="item.status == 3" class="iconfont icondagou"></i>
-              <span v-else class="app-price">{{ item.status | constantfilter('PROXY_STATUS') }}</span>
-            </div>
-          </div>
-        </div>
-      </block>
-      <block v-else>
-        <app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
-      </block>
-    </div>
-    <app-share-mask :show="showShare" @click="showShare = false" />
-  </div>
-</template>
-
-<script>
-import { mapGetters } from "vuex";
-import AppTabs from "@/components/plugin/tabs";
-import AppAvatarModule from "@/components/module/app-avatar";
-import AppWrapperEmpty from "@/components/app-wrapper-empty";
-import AppShareMask from "@/components/module/app-share-mask";
-import { list, share } from "@/mixins";
-// api
-import { getUser } from "@/utils/auth";
-// assetDet
-import { applyList } from "@/api/store/index";
-export default {
-  name: "my-invite-list",
-  components: {
-    AppTabs,
-    AppAvatarModule,
-    AppWrapperEmpty,
-    AppShareMask
-  },
-  mixins: [list, share],
-  data() {
-    return {
-      constant: this.$constant,
-      showShare: false,
-      data: {},
-      tabIndex: 0,
-      roleIndex: 0,
-      optionsType:[
-        {
-          name:'供货商'
-        },
-        {
-          name:'零售店铺'
-        }
-      ],
-      tabs: [
-        {
-          name: "全部"
-        },
-        {
-          name: "待审核"
-        },
-        {
-          name: "试用中"
-        },
-        {
-          name: "已付费"
-        },
-        {
-          name: "已到期"
-        }
-      ],
-      // 用户数据
-      userData: [
-        {
-          name: "账号余额(¥)",
-          value: 0
-          // btn: '提现'
-        },
-        {
-          name: "邀请花店",
-          value: 0
-        },
-        {
-          name: "付费花店",
-          value: 0
-        },
-        {
-          name: "累计收益(¥)",
-          value: 0
-        }
-      ]
-    };
-  },
-  computed: {
-    ...mapGetters({ userInfo: "getUser" })
-  },
-  onLoad() {},
-  methods: {
-    roleChange(e){
-       if (this.roleIndex == e.index) {
-        return false;
-      } else {
-        this.roleIndex = e.index;
-        this.init()
-      }
-    },
-    init() {
-      // this._assetDet();
-      this._applyList();
-      getUser().then(res => {
-        let params = {
-          title: "更懂您的花卉宝",
-          desc: "",
-          imgUrl: this.constant.imgUrl + "/retail/official/banner-1.png",
-          pagePath: "pagesClient/official/index?introMerchantId=" + res.id
-        };
-        this.jweixinFn(params);
-      });
-    },
-    // _assetDet() {
-    //   assetDet().then(res => {
-    //     if (this.$util.isEmpty(res.data)) {
-    //       return false;
-    //     }
-    //     this.data = res.data;
-    //     this.userData[0].value = res.data.balance | 0.0;
-    //     this.userData[1].value = res.data.inviteNum | 0;
-    //     this.userData[2].value = res.data.payNum | 0;
-    //     this.userData[3].value = res.data.income | 0.0;
-    //   });
-    // },
-    _applyList() {
-      let status = this.getStatus(this.tabIndex);
-      return applyList({ status: status, style:this.roleIndex==0?2:1}).then(res => {
-        this.userData[0].value = res.data.balance | 0.0;
-        this.userData[1].value = res.data.inviteNum | 0;
-        this.userData[2].value = res.data.payNum | 0;
-        this.userData[3].value = res.data.income | 0.0;
-        this.completes(res);
-      });
-    },
-    // operate
-    change(e) {
-      if (this.tabIndex == e.index) {
-        return false;
-      } else {
-        this.tabIndex = e.index;
-        this.resetList();
-        this._applyList();
-      }
-    },
-    withdrawFn() {
-      this.$msg("功能开发中...");
-    },
-    getStatus(e) {
-      let val = "";
-      switch (e) {
-        case 0:
-          val = -1;
-          break;
-        case 1:
-          val = 0;
-          break;
-        case 2:
-          val = 1;
-          break;
-        case 3:
-          val = 3;
-          break;
-        case 4:
-          val = 4;
-          break;
-        default:
-          val = -1;
-          break;
-      }
-      return val;
-    }
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-// 头部
-.rank-wrap {
-  background-color: #fff;
-  margin-top: 20upx;
-  .user-blo {
-    padding: 40px 30px 28px 30px;
-  }
-  .user-wrap {
-    @include disFlex(center, space-between);
-    margin-bottom: 60px;
-    .user-wrap-left {
-      @include disFlex(center, flex-start);
-      .user-det {
-        margin-left: 20px;
-      }
-      .user-name {
-        font-size: 32px;
-        margin-bottom: 10px;
-      }
-    }
-    .user-wrap-right {
-      width: 230px;
-      background-color: #fff;
-      margin-right: 0;
-      padding: 0;
-      &::after {
-        border: none;
-      }
-    }
-  }
-  .user-data {
-    @include disFlex(flex-start, space-between);
-    .data-list {
-      text-align: center;
-      & > div {
-        margin-top: 10px;
-        &:first-child {
-          margin-top: 0;
-        }
-      }
-    }
-  }
-  .prompt-text {
-    color: $fontColor3;
-    padding: 26px 0 16px 30px;
-    background-color: $backColor;
-  }
-}
-// list
-.rank-list {
-  background-color: #fff;
-  .list {
-    @include disFlex(center, flex-start);
-    margin: 0 30px;
-    padding: 24px 0;
-    .list-det {
-      @include disFlex(center, space-between);
-      width: calc(100% - 100px);
-      margin-left: 20px;
-      .list-det-right {
-        color: $fontColor3;
-        .list-name {
-          color: #333;
-          font-size: 30px;
-          margin-bottom: 6px;
-        }
-        .list-detail {
-          & > span {
-            margin-right: 20px;
-          }
-        }
-      }
-      .icondagou {
-        color: $mainColor;
-      }
-    }
-  }
-}
-</style>

+ 0 - 130
ghs/src/pagesShare/interest/setting.vue

@@ -1,130 +0,0 @@
-<template>
-	<div class="app-content">
-		<div class="module-com flex-center-between switch-blo">
-			<div class="app-size-32">是否启用</div>
-			<div>
-				<switch :checked="form.switch ? true : false" @change="switchChangeFn" />
-			</div>
-		</div>
-		<div class="module-com flex-center" v-if="form.switch == 1">
-            <label class="app-size-28">老客户奖励:</label>
-            <input type="text" class="app-size-28 reward-inp" v-model="form.prize" placeholder="请输入">
-        </div>
-		<div class="prompt-text">奖励可以是现金、绿植和散花等</div>
-		<div class="module-com new_wrap" v-if="form.switch == 1">
-			<div class="module-tit">新客户奖励:</div>
-			<div class="module-det">
-				<div>
-					<input type="text" class="setting-inp" v-model="form.amount" />
-					<span>元优惠券,满</span>
-					<input type="text" class="setting-inp" v-model="form.miniCost" />
-					<span>元可以使用,</span>
-				</div>
-                <div>
-                    <span>领取后</span>
-					<input type="text" class="setting-inp" v-model="form.duration" />
-                    <span>天内有效。</span>
-                </div>
-			</div>
-		</div>
-		<div class="prompt-text">此处的奖励,建议设置比注册会员奖励高一些,这样可以提高老客户积极性。</div>
-		<div class="admin-button-com blue big" @click="confirmFn">确认</div>
-	</div>
-</template>
-
-<script>
-import { inviteAssetDet, inviteAssetUpdate } from '@/api/invite'
-export default {
-	name: 'invite-setting',
-	data() {
-		return {
-			form: {
-				switch: 1,
-				prize: 0,
-				amount: 0,
-				miniCost: 0,
-				duration: 0
-			}
-		}
-	},
-	onLoad() {
-		// this.init()
-	},
-	methods: {
-		init() {
-			this._getDet()
-		},
-		// 获取详情
-		_getDet() {
-			inviteAssetDet().then(res => {
-				if (this.$util.isEmpty(res.data)) return
-				Object.keys(this.form).forEach((i, index) => {
-					this.form[i] = res.data[i]
-				})
-			})
-		},
-		// 设置奖励
-		confirmFn() {
-			inviteAssetUpdate(this.form).then(res => {
-				this.$msg('修改成功!')
-			})
-		},
-		switchChangeFn() {
-			this.form.switch = this.form.switch == 1 ? 0 : 1
-		}
-	}
-}
-</script>
-
-<style lang="scss" scoped>
-    .prompt-text {
-        color: $fontColor3;
-        padding: 0 30px 20px;
-    }
-	.module-com {
-        margin-bottom: 20px;
-        padding: 30px;
-        background-color: #fff;
-        color: $fontColor2;
-        .module-tit {
-            font-size: 28px;
-        }
-    }
-    .admin-button-com {
-        width: calc(100% - 100px);
-        margin: 60px 30px 0;
-    }
-    .switch-blo {
-        padding: 15px 30px;
-    }
-    .reward-inp {
-        margin-left: 40px;
-    }
-    .new_wrap {
-        .module-tit {
-            margin-bottom: 30px;
-        }
-        .module-det {
-            color: $fontColor2;
-            & > div {
-                @include disFlex(center, flex-start);
-                flex-wrap: wrap;
-                margin-bottom: 20px;
-                &:last-child {
-                    margin-bottom: 0;
-                }
-            }
-            .setting-inp {
-                width: 150px;
-                height: 70px;
-                border: 2px solid $borderColor;
-                border-radius: 10px;
-                margin: 0 20px;
-                text-align: center;
-                &:first-child {
-                    margin-left: 0;
-                }
-            }
-        }
-    }
-</style>