Przeglądaj źródła

feat:今日新增专员列表

zhanghui 1 rok temu
rodzic
commit
9122303d9c

+ 7 - 0
pages.json

@@ -184,6 +184,13 @@
 			{
 				"navigationBarTitleText" : ""
 			}
+		},
+		{
+			"path" : "pages/todaySpecialistsList/todaySpecialistsList",
+			"style" :
+			{
+				"navigationBarTitleText" : "今日新增专员记录"
+			}
 		}
 	],
 	"tabBar": {

+ 1 - 1
pages/index/attach/attach.vue

@@ -23,7 +23,7 @@
 						<text>关联邀请</text>
 					</view>
 					<view class="number flex-row justify-center">
-						<text>20/800</text>
+						<text>2800</text>
 					</view>
 				</view>
 				<view class="flex-col gridItem" @click="goItem('/pages/earningsList/earningsList')">

+ 9 - 8
pages/index/index.vue

@@ -6,14 +6,15 @@
 			title="首页" />
 		<!-- #endif -->
 
-		<manager v-if="isManager == '1'" :height="height"></manager>
-		<attach v-else-if="isManager == '0' && (roleTag == '0' || roleTag ==  '2')"></attach>
-		<view :style="{height:height}" v-else-if="isManager == '0' && roleTag == '1'" class="flex-col justify-center">
-			<view class="flex-row justify-center">
-				<text>合作伙伴相关功能正在建设中...</text>
-			</view>
-		</view>
-
+<!--		<manager v-if="isManager == '1'" :height="height"></manager>-->
+<!--		<attach v-else-if="isManager == '0' && (roleTag == '0' || roleTag ==  '2')"></attach>-->
+<!--		<view :style="{height:height}" v-else-if="isManager == '0' && roleTag == '1'" class="flex-col justify-center">-->
+<!--			<view class="flex-row justify-center">-->
+<!--				<text>合作伙伴相关功能正在建设中...</text>-->
+<!--			</view>-->
+<!--		</view>-->
+		<manager></manager>
+		<attach></attach>
 	</view>
 </template>
 

+ 8 - 2
pages/index/manager/manager.vue

@@ -11,7 +11,7 @@
 						<text>2008</text>
 					</view>
 				</view>
-				<view class="flex-col gridItem leftBorder">
+				<view class="flex-col gridItem leftBorder" @click="goItem('/pages/todaySpecialistsList/todaySpecialistsList')">
 					<view  class="title flex-row justify-center">
 						<text>今日新增专员</text>
 					</view>
@@ -102,7 +102,13 @@
 			},
 			closePopup(){
 				this.$refs.createQrCodePopup.close()
-			}
+			},
+
+			goItem(url){
+				uni.navigateTo({
+					url:url
+				})
+			},
 
 		}
 	}

+ 0 - 0
pages/todaySpecialistsList/index.rpx.css


+ 41 - 0
pages/todaySpecialistsList/module/index.rpx.css

@@ -0,0 +1,41 @@
+.page{
+    background: #F7F7F7;
+}
+.item{
+    background: white;
+    padding: 10rpx 32rpx;
+    border-bottom: 2rpx solid #f7f7f7;
+
+}
+
+.listItemMsg{
+    font-weight: 400;
+    font-size: 28rpx;
+    color: #333333;
+    line-height: 44rpx;
+}
+
+.memberNo{
+    width: 300rpx;
+}
+.msg{
+    flex: 1;
+}
+.time{
+    font-weight: 400;
+    font-size: 24rpx;
+    color: #999999;
+    line-height: 44rpx;
+}
+.remark{
+    color: #D9001B;
+    font-weight: 400;
+    font-size: 28rpx;
+    line-height: 44rpx;
+}
+.detail{
+    color: #169BD5;
+    font-weight: 400;
+    font-size: 28rpx;
+    line-height: 44rpx;
+}

+ 142 - 0
pages/todaySpecialistsList/module/mescrollUni-item.vue

@@ -0,0 +1,142 @@
+<template>
+	<!--
+    swiper中的transfrom会使fixed失效,此时用height固定高度;
+    swiper中无法触发mescroll-mixins.js的onPageScroll和onReachBottom方法,只能用mescroll-uni,不能用mescroll-body
+    -->
+	<!-- ref动态生成: 字节跳动小程序编辑器不支持一个页面存在相同的ref (如不考虑字节跳动小程序可固定值为 ref="mescrollRef") -->
+	<!-- top的高度等于悬浮菜单tabs的高度 -->
+	<mescroll-uni :ref="'mescrollRef' + i" @init="mescrollInit" :height="height" :down="downOption" @down="downCallback"
+		:up="upOption" @up="upCallback" @emptyclick="emptyClick">
+		<view>
+			<view class="flex-col justify-between item" v-for="(item,index) in 10">
+				<view class="flex-row justify-between listItemMsg">
+					<view class="memberNo">
+						<text>张辉</text>
+					</view>
+					<view class="flex-row justify-between msg">
+						<text>1736500141</text>
+						<text class="detail">详情</text>
+					</view>
+				</view>
+				<view class="flex-row justify-between">
+					<text class="time">2024-01-29 12:00:00</text>
+					<text class="remark">备注</text>
+				</view>
+			</view>
+		</view>
+	</mescroll-uni>
+</template>
+
+<script>
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	import MescrollMoreItemMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js"
+	export default {
+		mixins: [MescrollMixin, MescrollMoreItemMixin], // 注意此处还需使用MescrollMoreItemMixin (必须写在MescrollMixin后面)
+		components: {
+		},
+
+		data() {
+			return {
+				downOption: {
+					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
+				},
+				upOption: {
+					auto: false, // 不自动加载
+					// page: {
+					// 	num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
+					// 	size: 10 // 每页数据的数量
+					// },
+					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
+					empty: {
+						icon: '/static/dataNull.png',
+						tip: '暂无内容', // 提示
+						// btnText: '去看看'
+					},
+					textNoMore: '没有更多了'
+				},
+				list:[],
+			}
+		},
+		props: {
+			i: Number, // 每个tab页的专属下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
+			index: { // 当前tab的下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
+				type: Number,
+				default () {
+					return 0
+				}
+			},
+
+			height: [Number, String], // mescroll的高度
+
+		},
+		watch:{
+
+		},
+
+		created(){
+
+
+		},
+
+		methods: {
+
+
+			/*下拉刷新的回调 */
+			downCallback() {
+				// 这里加载你想下拉刷新的数据, 比如刷新轮播数据
+				// loadSwiper();
+				// 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
+				this.mescroll.resetUpScroll()
+			},
+			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
+			upCallback(page) {
+
+				//联网加载数据
+				let httpData = {
+					pageNum:page.num,
+					pageSize:10
+				}
+
+				this.$api.service.getMyExpandPartnerList(httpData).then((res) => {
+					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
+					this.mescroll.endSuccess(res.data.data.length,res.data.data.length === 10);
+					//设置列表数据
+					if (page.num === 1) this.list = []; //如果是第一页需手动制空列表
+					this.list = this.list.concat(res.data.data); //追加新数据
+					console.log(this.list)
+				}).catch((err) => {
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+
+
+			},
+
+			//点击空布局按钮的回调
+			emptyClick() {
+				uni.showToast({
+					title: '点击了按钮,具体逻辑自行实现'
+				})
+			},
+			// 搜索
+			doSearch() {
+				this.list = []; // 先清空列表,显示加载进度
+				this.mescroll.resetUpScroll();
+			},
+
+
+
+
+			goOrderDetail(item){
+				uni.navigateTo({
+					url:'/myPages/transactionRecordDetail/index?item='+JSON.stringify(item)
+				})
+			},
+		}
+	}
+</script>
+<style>
+	@import '/common/css/common.css';
+	@import './index.rpx.css';
+
+</style>

+ 104 - 0
pages/todaySpecialistsList/todaySpecialistsList.vue

@@ -0,0 +1,104 @@
+<template>
+    <view class="page">
+        <!-- #ifdef H5-->
+        <uni-nav-bar v-if="!$isWxBrowser()" :fixed="true" background-color="#FFE05C" :border="false" :statusBar="false"
+                     left-icon="left" title="今日新增专员记录" @clickLeft="back"/>
+        <!-- #endif -->
+
+        <view :style="{height:height}">
+            <mescroll-item ref="MescrollItem" :i="0"  :index="0"  :height="height">
+            </mescroll-item>
+        </view>
+
+
+        <!--#ifdef H5-->
+        <liu-drag-button v-if="$isWxBrowser()" @clickBtn="back">返回</liu-drag-button>
+        <!--#endif-->
+    </view>
+</template>
+
+<script>
+    import MescrollItem from "./module/mescrollUni-item.vue";
+    export default {
+        components: {
+            MescrollItem
+        },
+        data() {
+            return {
+                height:'',
+            }
+        },
+        onLoad(e) {
+
+            let sysInfo = uni.getSystemInfoSync()
+            this.height = sysInfo.windowHeight  - 50 + 'px' //除标题栏栏外的屏幕可用高度
+        },
+        methods: {
+            back() {
+                let pages = getCurrentPages()
+                if (pages.length > 1){
+                    uni.navigateBack({
+                        delta: 1,
+                        fail:err=>{
+                            console.log(err)
+                        }
+                    })
+                }else {
+                    uni.switchTab({
+                        url: '/pages/my/my'
+                    });
+                }
+            },
+
+
+            /*下拉刷新的回调 */
+            downCallback() {
+                // 这里加载你想下拉刷新的数据, 比如刷新轮播数据
+                // loadSwiper();
+                // 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
+                this.mescroll.resetUpScroll()
+            },
+            /*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
+            upCallback(page) {
+
+                let status = this.index
+                if (this.index === 3){
+                    status = 4
+                }
+
+                //联网加载数据
+                this.mescroll.endSuccess(10, false);
+                // this.$api.service.performanceList({
+                // 	pageNum: page.num,
+                // 	pageSize: 10,
+                // 	type:this.index
+                // }).then((res) => {
+                // 	//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
+                // 	this.mescroll.endSuccess(res.data.data.records.length, res.data.data.records.length === 10);
+                // 	//设置列表数据
+                // 	if (page.num === 1) this.list = []; //如果是第一页需手动制空列表
+                // 	res.data.data.records.forEach(i=>{
+                // 		if (i.avatar){
+                // 			i.avatar = i.avatar.replace(/^http:/, "https:")
+                // 		}
+                // 	})
+                // 	this.list = this.list.concat(res.data.data.records); //追加新数据
+                // 	console.log(this.list)
+                // }).catch((err) => {
+                // 	//联网失败, 结束加载
+                // 	this.mescroll.endErr();
+                // })
+            },
+            //点击空布局按钮的回调
+            emptyClick() {
+                uni.showToast({
+                    title: '点击了按钮,具体逻辑自行实现'
+                })
+            },
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    @import './index.rpx.css';
+</style>