shish 6 лет назад
Родитель
Сommit
500e39e09f

+ 285 - 274
store/src/admin/interest/invite.vue

@@ -1,284 +1,295 @@
 <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">
-			<!-- <div class="map-search"> -->
-			<app-search-module 
-				:val="form.search" 
-				placeholder="请输入商品名称" 
-				:isBtn="true" 
-				@search="searchFn" />
-			<!-- </div> -->
-			<!-- <div class="app-size-26">搜索</div> -->
-		</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>介绍人:{{ item.introUserName }}</div>
-								<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">下单{{ item.price }}</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>
-							<div class="admin-button-com blue" v-if="item.status == 1" @click="redeemFn">兑奖</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>下单: {{ redeemData.amount }}</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>
-									<span class="list-time">累计邀请: {{ redeemData.inviteNum }}</span>
-									<span>介绍下单数: {{ redeemData.orderNum }}</span>
-								</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>
+  <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>介绍人:{{ item.introUserName }}</div>
+                <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">下单{{ item.price }}</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>
+              <div class="admin-button-com blue" v-if="item.status == 1" @click="redeemFn">兑奖</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>下单: {{ redeemData.amount }}</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>
+                  <span class="list-time">累计邀请: {{ redeemData.inviteNum }}</span>
+                  <span>介绍下单数: {{ redeemData.orderNum }}</span>
+                </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'
+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'
+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() {
-		// this.init()
-	},
-	methods: {
-		async init() {
-			this._list()
-		},
-		searchFn(e) {
-			// this.form.search = e
-			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()
-			})
-		}
-	}
-}
+  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() {
+    // this.init()
+  },
+  methods: {
+    async init() {
+      this._list();
+    },
+    searchFn(e) {
+      // this.form.search = e
+      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();
+      });
+    }
+  }
+};
 </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%;
-			}
-		}
-	}
+.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>

+ 2 - 2
store/src/components/module/app-avatar.vue

@@ -1,6 +1,6 @@
 <template>
-	<div class="avatar-img" :class="{'radius': radius}" :style="{width: width + 'upx', height: width + 'upx', borderRadius: radius}">
-        <img :style="{width: width + 'upx', height: width + 'upx', borderRadius: radius}" :src="imgUrl" alt="头像">
+	<div class="avatar-img" :class="{'radius': radius}" :style="{width: width + 'rpx', height: width + 'rpx', borderRadius: radius}">
+        <image :style="{width: width + 'rpx', height: width + 'rpx', borderRadius: radius}" :src="imgUrl" mode="scaleToFill" >
     </div>
 </template>
 

+ 1 - 0
store/src/components/plugin/tabs.vue

@@ -204,6 +204,7 @@ export default {
 		color: $fontColor3;
 		.iconfont {
 			margin-right: 10px;
+			font-size:45rpx;
 		}
 	}
 	.tui-tabs-view {