lhl 2 سال پیش
والد
کامیت
b960ebf1c5

+ 6 - 4
common/config.js

@@ -1,21 +1,23 @@
 const url = {
 	dev: {
-		QN_URL: 'http://crm.frp.liuniu946.com',
+		QN_URL: 'https://api.liuniukj.com',
 		QINIU_URL: 'http://image.qianniao.vip',
 		QINIU_KEY: 'devdemo',
 		QN_UP: 'https://upload-z2.qiniup.com', //文件上传地址
 		QRC_SRC: 'https://upload.qianniao.vip/',
 		gdKey:"775628a360cfa78c86d58691ec58cb4e"
 	},
+	// QINIU_URL: 'http://up.liuniukj.com',
+	// QINIU_KEY: 'niuliukj',
 	master: {
 		// #ifdef H5
 		QN_URL: 'http://localhost:8080',
 		// #endif
 		// #ifndef H5
-		QN_URL: 'http://crm.frp.liuniu946.com',
+		QN_URL: 'https://api.liuniukj.com',
 		// #endif
-		QINIU_URL: 'https://onlineimg.qianniao.vip',
-		QINIU_KEY: 'qianniaoonline',
+		QINIU_URL: 'http://up.liuniukj.com',
+		QINIU_KEY: 'niuliukj',
 		QN_UP: 'https://upload-z2.qiniup.com', //文件上传地址
 		QRC_SRC: 'https://upload.qianniao.vip/',
 		gdKey:"775628a360cfa78c86d58691ec58cb4e"

+ 1 - 0
common/http.interceptor.js

@@ -14,6 +14,7 @@ const install = (Vue, vm) => {
 	});
 	// 请求拦截,配置Token等参数
 	Vue.prototype.$u.http.interceptor.request = (config) => {
+		console.log(config.url,config)
 		// 登录token
 		config.header.Authorization = vm.$store.state.token;
 		// 企业Token

+ 1 - 1
components/empty/index.vue

@@ -14,7 +14,7 @@ export default {
 		},
 		text: {
 			type: String,
-			default: '没有数据哦~~'
+			default: '暂无数据'
 		},
 		src: {
 			type: String,

+ 296 - 0
components/its-calendar/its-calendar.vue

@@ -0,0 +1,296 @@
+<template>
+	<view>
+		<view class="calendar">
+			<scroll-view scroll-x="true" class="top-wrap" >
+				<view class="time-wrap" v-for="(dayitem,dayindex) in dayArr" :key="dayindex" :class="{'action':day_index ==dayindex }" @click.stop="dayList(dayitem,dayindex)">
+					<text class="time-val">{{dayitem.days}}</text>
+					<text class="time-xq">{{dayitem.weeks}}</text>
+				</view>
+			</scroll-view>
+			<!-- <view class="calendar_day">
+				
+				<view class="day_x" :style="{'color': (day_index == index ? '#FE3B3C' : '')}"
+					v-for="(item, index) in dayArr" :key="index" @click.stop="dayList(item,index)">
+					<view class="day_x_a">{{item.weeks}}</view>
+					<view class="day_x_b">{{item.days}}</view>
+				</view>
+			</view> -->
+			<view scroll-y class="calendar_time">
+				<view class="time_x" :class="host_index == item.timeStamp ? 'time_x_sty' : ''"
+					v-for="(item, index) in hostArr[day_index]" :key="index"
+					@click="nowTimes < item.timeStamp ? hosts(item) : ''"
+					:style="{'color': (nowTimes > item.timeStamp ? '#999999' : '')}">{{item.hours}}</view>
+			</view>
+		</view>
+		<!-- <view class="sub" @click="sub()">
+			立即预约
+		</view> -->
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			sta_num: {
+				type: Number | String,
+				default: 8
+			},
+			end_num: {
+				type: Number | String,
+				default: 23
+			},
+			int_num: {
+				type: Number | String,
+				default: 30
+			},
+		},
+		data() {
+			return {
+				dayArr: [],
+				hostArr: [],
+				day_index: 0,
+				host_index: '',
+				host_All: [],
+				nowTimes: '',
+			}
+		},
+		mounted() {
+			let dateArr = [];
+			let today = new Date();
+			let nowTime = today.getTime() // 当前时间戳
+			this.nowTimes = parseInt(nowTime / 1000)
+			for (let i = 0; i < 10; i++) {
+				let newDate = new Date(today.getTime() + i * 1000 * 60 * 60 * 24);
+				let month = (parseInt(newDate.getMonth()) + 1) > 9 ? (parseInt(newDate.getMonth()) + 1) : "0" + (parseInt(
+					newDate.getMonth()) + 1); // 当前月份
+				let day = (newDate.getDate()) > 9 ? newDate.getDate() : "0" + newDate.getDate(); //当前日期
+				let backTime = newDate.getTime(); // 几天后时间戳
+				let backDays = newDate.getDay();// 几天后周几
+				let remTime = (backTime - nowTime) / 1000; // 距离今天几天
+				let week = '';
+				// if (remTime == 0) {
+				// 	week = "今天"
+				// } else if (remTime == 86400) {
+				// 	week = "明天"
+				// } else if (remTime == 172800) {
+				// 	week = "后天"
+				// } else {
+					if (backDays == 0) {
+						week = "周日";
+					} else if (backDays == 1) {
+						week = "周一";
+					} else if (backDays == 2) {
+						week = "周二";
+					} else if (backDays == 3) {
+						week = "周三";
+					} else if (backDays == 4) {
+						week = "周四";
+					} else if (backDays == 5) {
+						week = "周五";
+					} else if (backDays == 6) {
+						week = "周六";
+					}
+				// }
+				// let fullDate = `${month}-${day}`;
+				let fullDate = `${day}`;
+				let ass = {
+					weeks: week,
+					days: fullDate
+				};
+				dateArr.push(ass);
+			}
+			this.dayArr = dateArr;
+
+			let timeArr = [];
+			for (let i = 0; i < 5; i++) {
+				// let as = new Date(new Date().toLocaleDateString()).getTime() / 1000
+				let as = new Date(new Date().toLocaleDateString()).getTime() / 1000 + i * 60 * 60 * 24;
+				let staTime = this.sta_num * 60 * 60 + as;
+				let endTime = this.end_num * 60 * 60 + as;
+				let int = this.int_num * 60;
+				let timeArr_s = [];
+				for (staTime; staTime < endTime - int; staTime + int) {
+					staTime = staTime + int;
+					let hours = this.times(staTime);
+					let asb = {
+						hours,
+						timeStamp: staTime
+					};
+					timeArr_s.push(asb);
+				}
+				timeArr.push(timeArr_s);
+			}
+			this.hostArr = timeArr;
+		},
+		methods: {
+			// 点击日期
+			dayList(e, index) {
+				this.day_index = index;
+			},
+			// 点击时间
+			hosts(e) {
+				this.host_All = e;
+				this.host_index = e.timeStamp;
+				this.sub()
+			},
+			// 点击立即预约
+			sub() {
+				if (this.host_index == '') {
+					this.$tool.toast('请选择时间');
+				} else {
+					let day = this.dayArr[this.day_index];
+					let time = this.time(this.host_index);
+					let comTime = {
+						days: day.days,
+						weeks: day.weeks,
+						hours: this.host_All.hours,
+						timeStamp: this.host_All.timeStamp,
+						time: time
+					};
+					this.$emit('getTime', comTime);
+				}
+			},
+			// 格式化时间
+			times(data) {
+				let date = new Date(data * 1000);
+				//时间戳为10位需*1000,时间戳为13位的话不需乘1000
+				let h = date.getHours();
+				h = h < 10 ? ('0' + h) : h; //小时补0
+				let m = date.getMinutes();
+				m = m < 10 ? ('0' + m) : m; //分钟补0
+				return h + ':' + m;
+			},
+			time(data, type){
+				let date = new Date(data * 1000);
+				//时间戳为10位需*1000,时间戳为13位的话不需乘1000
+				let y = date.getFullYear();
+				let MM = date.getMonth() + 1;
+				MM = MM < 10 ? ('0' + MM) : MM; //月补0
+				let d = date.getDate();
+				d = d < 10 ? ('0' + d) : d; //天补0
+				let h = date.getHours();
+				h = h < 10 ? ('0' + h) : h; //小时补0
+				let m = date.getMinutes();
+				m = m < 10 ? ('0' + m) : m; //分钟补0
+				let s = date.getSeconds();
+				s = s < 10 ? ('0' + s) : s; //秒补0
+				if (type == 'yymmdd') {
+					return y + '-' + MM + '-' + d;
+				} else if (type == 'hhmmss') {
+					return h + ':' + m + ':' + s;
+				} else {
+					return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F4F4F4;
+	}
+
+	.calendar {
+		width: 710rpx;
+		height: 590rpx;
+		background-color: #FFFFFF;
+		margin: 20rpx auto 10rpx;
+		border-radius: 8rpx;
+	}
+
+	.calendar_day {
+		display: flex;
+		width: 100%;
+		height: 120rpx;
+
+		.day_x {
+			display: flex;
+			// flex-flow: column nowrap;
+			flex-flow: nowrap;
+			justify-content: center;
+			align-items: center;
+			width: 20%;
+			height: 100%;
+			font-size: 30rpx;
+			color: #333333;
+		}
+	}
+
+	.calendar_time {
+		display: flex;
+		width: 100%;
+		height: 448rpx;
+		flex-flow: row wrap;
+		align-content: flex-start;
+		margin: 20rpx 0;
+		overflow-y: auto;
+
+		.time_x {
+			display: flex;
+			flex-flow: row;
+			justify-content: center;
+			align-items: center;
+			width: 20%;
+			height: 54rpx;
+			border-radius: 26rpx;
+			margin: 10rpx 0;
+			font-size: 30rpx;
+			color: #333333;
+		}
+
+		.time_x_sty {
+			background-color: #262261;
+			color: #fff !important;
+		}
+	}
+
+	.sub {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 710rpx;
+		height: 100rpx;
+		border-radius: 50rpx;
+		margin: 30rpx auto;
+		color: #FFFFFF;
+		font-size: 36rpx;
+		// background-color: #FE3B3C;
+	}
+	.top-wrap {
+		
+		white-space: nowrap;
+		width: 700rpx;
+		// height: 100rpx;
+		padding:20rpx 0;
+		.time-wrap {
+			margin: auto 15rpx;
+			display: inline-block;
+			width: 158rpx;
+			height: 63rpx;
+			border-radius: 32rpx;
+			line-height: 63rpx;
+			text-align: center;
+			background-color: #FDF9FA;
+			.time-xq {
+				font-size: 22rpx;
+				font-weight: 500;
+				color: #999999;
+			}
+			.time-val {
+				font-size: 32rpx;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+		.action {
+			background-color: #262261;
+			.time-xq {
+				color: #FDF9FA;
+			}
+			.time-val {
+				color: #FDF9FA;
+			}
+		}
+	}
+</style>

+ 1 - 0
mixin/goPage.js

@@ -26,6 +26,7 @@ export default {
 			});
 		},
 		goPage(url, type) {
+			console.log('url:',url,'type:',type)
 			if (type === 'none') {
 				return
 			}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 694 - 572
pages.json


+ 50 - 15
pages/app/index.vue

@@ -39,20 +39,13 @@ export default {
 	data() {
 		return {
 			now_list: [
-				{
-					url: '/pages/order/OrderAdd',
-					label: '代客下单',
-					icon: 'custom-icon-piliangxiadan',
-					color: '#f29611',
-					access: 'OrderAdd'
-				},
-				{
-					url: '/pagesT/stock/SalesOrder',
-					label: '出库单',
-					icon: 'custom-icon-quehuoshangpinshu',
-					color: '#5c6aff',
-					access: 'InventoryOut'
-				},
+				// {
+				// 	url: '/pagesT/stock/SalesOrder',
+				// 	label: '出库单',
+				// 	icon: 'custom-icon-quehuoshangpinshu',
+				// 	color: '#5c6aff',
+				// 	access: 'InventoryOut'
+				// },
 				{
 					url: '/pagesT/customer/StaffList',
 					label: '销售排行',
@@ -66,7 +59,49 @@ export default {
 					icon: 'custom-icon-fuwu',
 					color: '#f29611',
 					access: 'CustomerListvisitedLogs'
-				}
+				},
+				{
+					url: '/pagesT/customer/CommunicationLogs',
+					label: '消耗品管理',
+					icon: 'custom-icon-fuwu',
+					color: '#f29611',
+					access: 'CustomerListvisitedLogs'
+				},
+				{
+					url: '/pagesT/customer/CommunicationLogs',
+					label: '代客预约',
+					icon: 'custom-icon-fuwu',
+					color: '#f29611',
+					access: 'CustomerListvisitedLogs'
+				},
+				{
+					url: '/pagesT/customer/CommunicationLogs',
+					label: '员工打卡',
+					icon: 'custom-icon-fuwu',
+					color: '#f29611',
+					access: 'CustomerListvisitedLogs'
+				},
+				{
+					url: '/pagesT/customer/CommunicationLogs',
+					label: '门店员工',
+					icon: 'custom-icon-fuwu',
+					color: '#f29611',
+					access: 'CustomerListvisitedLogs'
+				},
+				{
+					url: '/pagesS/yg/gzdetail',
+					label: '工资表',
+					icon: 'custom-icon-fuwu',
+					color: '#f29611',
+					access: 'CustomerListvisitedLogs'
+				},
+				{
+					url: '/pages/order/OrderAdd',
+					label: '代客下单',
+					icon: 'custom-icon-piliangxiadan',
+					color: '#f29611',
+					access: 'OrderAdd'
+				},
 			],
 			app_list: []
 		};

+ 984 - 674
pages/index/index.vue

@@ -1,7 +1,8 @@
 <template>
 	<view class="home">
 		<view class="top_view">
-			<u-navbar :title-bold="true" :border-bottom="false" :background="{ background: `rgba(64, 118, 214, ${scroll_top / 100})` }" :is-back="false" title=" ">
+			<u-navbar :title-bold="true" :border-bottom="false"
+				:background="{ background: `rgba(64, 118, 214, ${scroll_top / 100})` }" :is-back="false" title=" ">
 				<view class="title">{{ enterprise.enterpriseName || '工作台' }}</view>
 			</u-navbar>
 			<!-- <uniStatusBar></uniStatusBar> -->
@@ -15,13 +16,21 @@
 					<view class="btn-li" @click="goPage('/pages/enterprise/index', 'reLaunch')">
 						<u-icon name="qiehuan-" custom-prefix="custom-icon" size="36" color="#4076D6"></u-icon>
 					</view>
-					<view class="btn-li" @click="overview('reset')"><u-icon name="shuaxin" size="36" color="#4076D6" custom-prefix="custom-icon"></u-icon></view>
-					<view class="btn-li" @click="goPage('/pages/index/WxCode')"><u-icon name="erweima" size="32" custom-prefix="custom-icon" color="#4076D6"></u-icon></view>
-					<view class="btn-li" @click="goPage('/pagesT/notice/notice')"><u-icon name="bell" size="36" color="#4076D6"></u-icon></view>
-					<view class="btn-li" @click="logout"><u-icon name="zhuxiao" custom-prefix="custom-icon" size="34" color="#4076D6"></u-icon></view>
+					<view class="btn-li" @click="overview('reset')">
+						<u-icon name="shuaxin" size="36" color="#4076D6" custom-prefix="custom-icon"></u-icon>
+					</view>
+					<view class="btn-li" @click="goPage('/pages/index/WxCode')">
+						<u-icon name="erweima" size="32" custom-prefix="custom-icon" color="#4076D6"></u-icon>
+					</view>
+					<view class="btn-li" @click="goPage('/pagesT/notice/notice')">
+						<u-icon name="bell" size="36" color="#4076D6"></u-icon>
+					</view>
+					<view class="btn-li" @click="logout">
+						<u-icon name="zhuxiao" custom-prefix="custom-icon" size="34" color="#4076D6"></u-icon>
+					</view>
 				</view>
 			</view>
-			<view class="top_money clearfix" v-if="$accessCheck($Access.overview)">
+			<!-- <view class="top_money clearfix" v-if="$accessCheck($Access.overview)">
 				<view class="float_left" style="font-weight: 400;">
 					<u-icon name="jinbi" size="36" color="#ffffff" margin-left="12" label-color="#ffffff" label-size="24" label="应收账款" custom-prefix="custom-icon"></u-icon>
 				</view>
@@ -29,9 +38,9 @@
 					<text class="rmb-icon">¥</text>
 					{{ $utils.formatNub(now.totalShouldReceive) }}
 				</view>
-			</view>
+			</view> -->
 		</view>
-		<view class="top_bottom" v-if="$accessCheck($Access.overview)">
+		<!-- <view class="top_bottom" v-if="$accessCheck($Access.overview)">
 			<view class="money-li">
 				<view>
 					<u-icon name="jinbi" size="36" color="#f69844" margin-left="12" label-color="#BABBC6" label-size="24" label="应付账款" custom-prefix="custom-icon"></u-icon>
@@ -87,25 +96,58 @@
 					<text class="written">{{ $utils.formatNub(now.totalMoneyOfInventory) }}</text>
 				</view>
 			</view>
-		</view>
+		</view> -->
 		<!-- 内容 -->
 		<view class="content">
 			<!-- 工作台 -->
 			<view class="content_main" style="margin-top: 0;">
-				<view class="content_top clearfix" style="background: linear-gradient(270deg, #FDFFFE 0%, #EAFEEE 100%);">
+				<view class="content_top clearfix"
+					style="background: linear-gradient(270deg, #FDFFFE 0%, #EAFEEE 100%);">
 					<image src="../../static/img/ic-work.png" class="img"></image>
 					<text class="title-text">工作台</text>
 					<view class="edit-btn float_right" @click="goPage('/pages/app/index')">
-						<u-icon name="edit-pen-fill" color="#4076D6" label-color="#4076D6" size="28" label="编辑" label-size="28"></u-icon>
+						<u-icon name="edit-pen-fill" color="#4076D6" label-color="#4076D6" size="28" label="编辑"
+							label-size="28"></u-icon>
 					</view>
 				</view>
 				<view class="cont">
-					<swiper class="swiper" indicator-color="#B8C0C8" indicator-active-color="#4076D6" :indicator-dots="true" :autoplay="false" :interval="2000" :duration="500">
+					<swiper class="swiper" indicator-color="#B8C0C8" indicator-active-color="#4076D6" :autoplay="false"
+						:interval="2000" :duration="500">
+						<swiper-item v-for="(item, index) in nav_list_yg" :key="index">
+							<view class="app-ul">
+								<block v-for="(app, appi) in item" :key="appi">
+									<view class="app-li" @click="goPage(app.url)"
+										v-if="$accessCheck($Access[app.access])">
+										<view class="icon-view" :style="{ background: app.color }"><text
+												:class="[app.icon]" class="custom-icon"></text></view>
+										<view class="label ellipsis">{{ app.label }}</view>
+									</view>
+								</block>
+							</view>
+						</swiper-item>
+					</swiper>
+				</view>
+			</view>
+			<view class="content_main" style="margin-top: 0;">
+				<view class="content_top clearfix"
+					style="background: linear-gradient(270deg, #FDFFFE 0%, #EAFEEE 100%);">
+					<image src="../../static/img/ic-work.png" class="img"></image>
+					<text class="title-text">工作台</text>
+					<view class="edit-btn float_right" @click="goPage('/pages/app/index')">
+						<u-icon name="edit-pen-fill" color="#4076D6" label-color="#4076D6" size="28" label="编辑"
+							label-size="28"></u-icon>
+					</view>
+				</view>
+				<view class="cont">
+					<swiper class="swiper" indicator-color="#B8C0C8" indicator-active-color="#4076D6" :autoplay="false"
+						:interval="2000" :duration="500">
 						<swiper-item v-for="(item, index) in nav_list" :key="index">
 							<view class="app-ul">
 								<block v-for="(app, appi) in item" :key="appi">
-									<view class="app-li" @click="goPage(app.url)" v-if="$accessCheck($Access[app.access])">
-										<view class="icon-view" :style="{ background: app.color }"><text :class="[app.icon]" class="custom-icon"></text></view>
+									<view class="app-li" @click="goPage(app.url)"
+										v-if="$accessCheck($Access[app.access])">
+										<view class="icon-view" :style="{ background: app.color }"><text
+												:class="[app.icon]" class="custom-icon"></text></view>
 										<view class="label ellipsis">{{ app.label }}</view>
 									</view>
 								</block>
@@ -187,7 +229,8 @@
 			</view>
 			<!-- 	订单概况 -->
 			<view class="content_main" v-if="$accessCheck($Access.overview)">
-				<view class="content_top clearfix" style="background: linear-gradient(270deg, #FFFFFF 0%, #FDF6E8 100%); ">
+				<view class="content_top clearfix"
+					style="background: linear-gradient(270deg, #FFFFFF 0%, #FDF6E8 100%); ">
 					<view class="float_left">
 						<image src="../../static/img/ic-jyh3.png" class="img" mode="aspectFill"></image>
 						<text class="title-text">订单概况</text>
@@ -265,13 +308,17 @@
 					<image src="../../static/img/ic-jyh2.png" class="img" style="vertical-align: middle;"></image>
 					<text class="title-text">近7日交易趋势</text>
 				</view>
-				<view class="charts-box"><qiun-data-charts type="area" :chartData="chartData" :echartsH5="true" :echartsApp="true" background="none" :animation="false" /></view>
+				<view class="charts-box">
+					<qiun-data-charts type="area" :chartData="chartData" :echartsH5="true" :echartsApp="true"
+						background="none" :animation="false" />
+				</view>
 			</view>
 			<!-- tab -->
 			<view class="content_main" v-if="$accessCheck($Access.overview)">
 				<view class="content_top tabs-ul">
 					<ul class="ul_tag">
-						<li v-for="(item, index) in tag" :key="index" @click="changeTag(item.value)" class="ul_tag_item" :class="[item.value === rank_on ? 'hover' : '']">
+						<li v-for="(item, index) in tag" :key="index" @click="changeTag(item.value)" class="ul_tag_item"
+							:class="[item.value === rank_on ? 'hover' : '']">
 							{{ item.label }}
 						</li>
 					</ul>
@@ -279,36 +326,27 @@
 				<view class="content_bottom">
 					<view class="bottom_top clearfix">
 						<view class="float_left">
-							<text class="sale" @click="changeSel(1)" :class="[ranking_sel === 1 ? 'show-on' : '']">销额</text>
-							<text style="width: 1rpx;height: 24rpx;display: inline-block;border-left: 1rpx solid #ECF0F7;"></text>
-							<text class="sale_num" @click="changeSel(2)" :class="[ranking_sel === 2 ? 'show-on' : '']">销量</text>
+							<text class="sale" @click="changeSel(1)"
+								:class="[ranking_sel === 1 ? 'show-on' : '']">销额</text>
+							<text
+								style="width: 1rpx;height: 24rpx;display: inline-block;border-left: 1rpx solid #ECF0F7;"></text>
+							<text class="sale_num" @click="changeSel(2)"
+								:class="[ranking_sel === 2 ? 'show-on' : '']">销量</text>
 						</view>
 						<view v-if="false" class="float_right" @click="goPage('/pagesT/shop/selShop')">
-							<u-icon
-								name="arrow-down-fill"
-								color="#B8C0C8"
-								margin-right="20"
-								label-size="28rpx"
-								label-color="#B8C0C8"
-								size="14"
-								label="选择店铺"
-								label-pos="left"
-							></u-icon>
+							<u-icon name="arrow-down-fill" color="#B8C0C8" margin-right="20" label-size="28rpx"
+								label-color="#B8C0C8" size="14" label="选择店铺" label-pos="left"></u-icon>
 						</view>
 					</view>
 					<view style="margin-top:40rpx">
 						<ul class="progress-ul" v-if="rank_on === 1">
-							<li class="clearfix progress-li" v-for="(item, index) in ranking.categoryRanking" :key="index">
+							<li class="clearfix progress-li" v-for="(item, index) in ranking.categoryRanking"
+								:key="index">
 								<view class="float_left label ellipsis">{{ item.categoryName }}</view>
 								<view class="float_left line">
-									<u-line-progress
-										active-color="#4076D6"
-										:percent="item.percent"
-										:show-percent="false"
-										height="16prx"
-										width="423prx"
-										:round="true"
-									></u-line-progress>
+									<u-line-progress active-color="#4076D6" :percent="item.percent"
+										:show-percent="false" height="16prx" width="423prx" :round="true">
+									</u-line-progress>
 								</view>
 								<view class="float_right num">{{ item.numberOrMoney }}</view>
 							</li>
@@ -317,45 +355,95 @@
 							<li class="clearfix progress-li" v-for="(item, index) in ranking.goodsRanking" :key="index">
 								<view class="float_left label ellipsis">{{ item.goodsName || '未设置' }}</view>
 								<view class="float_left line">
-									<u-line-progress
-										active-color="#4076D6"
-										:percent="item.percent"
-										:show-percent="false"
-										height="16prx"
-										width="423prx"
-										:round="true"
-									></u-line-progress>
+									<u-line-progress active-color="#4076D6" :percent="item.percent"
+										:show-percent="false" height="16prx" width="423prx" :round="true">
+									</u-line-progress>
 								</view>
 								<view class="float_right num">{{ item.numberOrMoney }}</view>
 							</li>
 						</ul>
 						<ul class="progress-ul" v-if="rank_on === 3">
-							<li class="clearfix progress-li" v-for="(item, index) in ranking.customerRanking" :key="index">
-								<view style="width: 450rpx;border: 0;" class="float_left label ellipsis">{{ item.customerName }}</view>
-								<view style="width: 200rpx;text-align: left;" class="float_right num">{{ item.numberOrMoney }}</view>
+							<li class="clearfix progress-li" v-for="(item, index) in ranking.customerRanking"
+								:key="index">
+								<view style="width: 450rpx;border: 0;" class="float_left label ellipsis">
+									{{ item.customerName }}</view>
+								<view style="width: 200rpx;text-align: left;" class="float_right num">
+									{{ item.numberOrMoney }}</view>
 							</li>
 						</ul>
 						<ul class="progress-ul" v-if="rank_on === 4">
-							<li class="clearfix progress-li ellipsis" v-for="(item, index) in ranking.supplierRanking" :key="index">
-								<view style="width: 450rpx;border: 0;" class="float_left label">{{ item.supplierName }}</view>
-								<view style="width: 200rpx;text-align: left;" class="float_right num">{{ item.numberOrMoney }}</view>
+							<li class="clearfix progress-li ellipsis" v-for="(item, index) in ranking.supplierRanking"
+								:key="index">
+								<view style="width: 450rpx;border: 0;" class="float_left label">{{ item.supplierName }}
+								</view>
+								<view style="width: 200rpx;text-align: left;" class="float_right num">
+									{{ item.numberOrMoney }}</view>
 							</li>
 						</ul>
 					</view>
 				</view>
 			</view>
+			<!-- 员工订单 -->
+			<view class="ygdd">
+				<view class="dd-tit">
+					<view class="tit-left">
+						<view class="sx">
+							
+						</view>
+						<view class="">
+							我的订单
+						</view>
+					</view>
+					<view class="tit-right" @click="goPage('/pagesS/order/allorder')">
+						全部订单
+						<image src="../../static/img/down-right-w.png" mode=""></image>
+					</view>
+				</view>
+				<view class="dd-wrap">
+					<view class="dd-id-status">
+						<view class="dd-stata">
+								待服务
+						</view>
+						<view class="dd-id">
+							ddddadfasfdasdf-adfas
+						</view>
+						<view class="dd-status">
+							已预约
+						</view>
+					</view>
+					<view class="dd-info" style="margin-top: 20rpx;">
+							客服名称<text>小圆</text>
+					</view>
+					<view class="dd-info">
+							下单时间<text>2022-11-03 9:30~10:30</text>
+					</view>
+					<view class="dd-info">
+							预约时间<text class="chs" style="color:#FF5600;">2022-11-03 9:30~10:30</text>
+					</view>
+					<view class="dd-btm">
+						<view class="btm-price">
+							订单金额: <text>¥2400</text>
+						</view>
+						<view class="btm-btn">
+							联系客户
+						</view>
+					</view>
+					<view class="add-dd">
+						<image src="../../static/img/add-dd.png" mode=""></image>
+						<view class="">
+							添加项目
+						</view>
+					</view>
+				</view>
+			</view>
 		</view>
-		<u-popup
-			v-model="noticePop"
-			border-radius="18"
-			mode="center"
-			height="905"
-			:custom-style="{
+		<u-popup v-model="noticePop" border-radius="18" mode="center" height="905" :custom-style="{
 				background: 'rgba(0,0,0,0)'
-			}"
-		>
+			}">
 			<view class="mag-view">
-				<view class="mag-top"><image class="notice-i" src="../../static/img/notice-i.png" mode=""></image></view>
+				<view class="mag-top">
+					<image class="notice-i" src="../../static/img/notice-i.png" mode=""></image>
+				</view>
 				<view class="msg-cont">
 					<image class="msg-yun" src="../../static/img/notice-bg.png" mode=""></image>
 					<view class="mag-tit">{{ notice_data.title }}</view>
@@ -370,738 +458,960 @@
 </template>
 
 <script>
-import { mapActions } from 'vuex';
-import uniStatusBar from '../../components/uni-status-bar.vue';
-export default {
-	data() {
-		return {
-			tabbar_current: 0,
-			notice_data: {
-				title: '',
-				content: ''
-			},
-			noticePop: false,
-			shopData: '',
-			ranking: [],
-			now: {}, //
-			type: true,
-			businessOverview: {},
-			active: false,
-			rank_on: 1,
-			list: ['快销品', '包装食品', '饼干糕点', '保健品', '营养保健品', '速冻面店', '办公器材', '美容化妆'],
-			tag: [
-				{
-					value: 1,
-					label: '类目排行',
-					active: true
-				},
-				{
-					value: 2,
-					label: '商品排行',
-					active: false
-				},
-				{
-					value: 3,
-					label: '客户排行',
-					active: false
-				},
-				{
-					value: 4,
-					label: '供应商排行',
-					active: false
-				}
-			],
-			chartData: {
-				categories: [],
-				series: []
-			},
-			tabs_current: 0,
-			tabs_list: [
-				{
-					name: '订单金额'
+	import {
+		mapActions
+	} from 'vuex';
+	import uniStatusBar from '../../components/uni-status-bar.vue';
+	export default {
+		data() {
+			return {
+				tabbar_current: 0,
+				notice_data: {
+					title: '',
+					content: ''
 				},
-				{
-					name: '客户统计'
-				},
-				{
-					name: '资金统计'
-				},
-				{
-					name: '订单数'
-				}
-			],
-			ranking_sel: 1,
-			nav_list: [
-				[
-					{
-						url: '/pages/order/OrderAdd',
-						label: '代客下单',
-						icon: 'custom-icon-piliangxiadan',
-						color: '#f29611',
-						access: 'OrderAdd'
+				noticePop: false,
+				shopData: '',
+				ranking: [],
+				now: {}, //
+				type: true,
+				businessOverview: {},
+				active: false,
+				rank_on: 1,
+				list: ['快销品', '包装食品', '饼干糕点', '保健品', '营养保健品', '速冻面店', '办公器材', '美容化妆'],
+				tag: [{
+						value: 1,
+						label: '类目排行',
+						active: true
 					},
 					{
-						url: '/pagesT/stock/SalesOrder',
-						label: '出库单',
-						icon: 'custom-icon-quehuoshangpinshu',
-						color: '#5c6aff',
-						access: 'InventoryOut'
+						value: 2,
+						label: '商品排行',
+						active: false
 					},
 					{
-						url: '/pagesT/customer/StaffList',
-						label: '销售排行',
-						icon: 'custom-icon-paihangbang',
-						color: '#f29611',
-						access: 'salesRanking'
+						value: 3,
+						label: '客户排行',
+						active: false
 					},
 					{
-						url: '/pagesT/customer/CommunicationLogs',
-						label: '客户拜访',
-						icon: 'custom-icon-fuwu',
-						color: '#f29611',
-						access: 'CustomerListvisitedLogs'
+						value: 4,
+						label: '供应商排行',
+						active: false
 					}
-				]
-			],
-			scroll_top: 0
-		};
-	},
-	onPageScroll(e) {
-		this.scroll_top = e.scrollTop;
-	},
-	components: {
-		uniStatusBar
-	},
-	computed: {
-		hasLogin() {
-			return this.$store.state.hasLogin;
-		},
-		userInfo() {
-			return this.$store.state.userInfo;
-		},
-		enterprise() {
-			return this.$store.state.enterprise;
-		}
-	},
-	watch: {
-		shopData(val) {}
-	},
-	async onLoad() {
-		// this.noticePop=true
-		if (!this.hasLogin) {
-			this.logout();
-			return;
-		}
-		await this.overview();
-		await this.getupStatusAnnouncementInfo();
-		await this.getBasicSetup();
-	},
-	async onShow() {
-		await this.getCommonAppInfo();
-	},
-	async onPullDownRefresh() {
-		await this.overview();
-		await this.getupStatusAnnouncementInfo();
-		await this.getBasicSetup();
-	},
-	onShareAppMessage(res) {},
-	methods: {
-		...mapActions({
-			logout: 'logout'
-		}),
-		setChartData(timeData, orderMoney, goodsNum, orderNum) {
-			this.chartData = {
-				categories: timeData,
-				series: [
+				],
+				chartData: {
+					categories: [],
+					series: []
+				},
+				tabs_current: 0,
+				tabs_list: [{
+						name: '订单金额'
+					},
 					{
-						name: '金额',
-						data: orderMoney,
-						// pointShape: 'circle',
-						legendShape: 'line'
+						name: '客户统计'
 					},
 					{
-						name: '商品数量',
-						data: goodsNum,
-						// pointShape: 'circle',
-						legendShape: 'line'
+						name: '资金统计'
 					},
 					{
-						name: '订单数量',
-						data: orderNum,
-						// pointShape: 'circle',
-						legendShape: 'line'
+						name: '订单数'
 					}
-				]
+				],
+				ranking_sel: 1,
+				nav_list_yg: [
+					[{
+							url: '/pagesT/customer/StaffList',
+							label: '销售排行',
+							icon: 'custom-icon-paihangbang',
+							color: '#f29611',
+							access: 'salesRanking'
+						},
+						{
+							url: '/pagesS/yg/dkdetail',
+							label: '考勤记录',
+							icon: 'custom-icon-paihangbang',
+							color: '#f29611',
+							access: 'salesRanking'
+						},
+						{
+							url: '/pagesS/yg/gqdetail',
+							label: '股权管理',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						},
+						{
+							url: '/pagesS/yg/yjjl',
+							label: '业绩奖励',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						},
+						{
+							url: '/pagesS/yg/gztx',
+							label: '工资提现',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						},
+						{
+							url: '/pagesS/yg/ygdetail',
+							label: '我的评价',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						},
+						{
+							url: '/pagesS/yg/myteam',
+							label: '我的转介绍',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						}
+					]
+				],
+				nav_list: [
+					[{
+							url: '/pagesT/customer/StaffList',
+							label: '销售排行',
+							icon: 'custom-icon-paihangbang',
+							color: '#f29611',
+							access: 'salesRanking'
+						},
+						{
+							url: '/pagesT/customer/selCustomert',
+							label: '客户拜访',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pagesS/goods/xhplist',
+							label: '消耗品管理',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pagesS/goods/valetbuy',
+							label: '代客预约',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pagesS/yg/dklist',
+							label: '员工打卡',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pagesS/yg/yglist?type=yg',
+							label: '门店员工',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pagesS/yg/yglist?type=gz',
+							label: '工资表',
+							icon: 'custom-icon-fuwu',
+							color: '#f29611',
+							access: 'CustomerListvisitedLogs'
+						},
+						{
+							url: '/pages/order/OrderAdd',
+							label: '代客下单',
+							icon: 'custom-icon-piliangxiadan',
+							color: '#f29611',
+							access: 'OrderAdd'
+						}
+					]
+				],
+				scroll_top: 0
 			};
 		},
-		changeTag(val) {
-			this.rank_on = val;
+		onPageScroll(e) {
+			this.scroll_top = e.scrollTop;
 		},
-		changeSel(val) {
-			this.ranking_sel = val;
-			this.overview();
+		components: {
+			uniStatusBar
 		},
-		async overview(isReset) {
-			if (isReset) {
-				uni.showLoading({
-					title: '加载中...'
-				});
+		computed: {
+			hasLogin() {
+				return this.$store.state.hasLogin;
+			},
+			userInfo() {
+				return this.$store.state.userInfo;
+			},
+			enterprise() {
+				return this.$store.state.enterprise;
 			}
-			await this.$u.api
-				.overview({
-					ranking: this.ranking_sel, // "1销量排行 2销额排行",
-					businessOverviewShopId: '', // "经营概况按店铺筛选:为空则筛选全店",
-					categoryRankingShopId: '', // "类目排行按店铺筛选:为空则筛选全店",
-					goodsRankingShopId: '', // "商品排行按店铺筛选:为空则筛选全店",
-					supplierRankingShopId: '' // 供应商排行按店铺筛选:为空则筛选全店"
-				})
-				.then(res => {
-					uni.stopPullDownRefresh();
-					uni.hideLoading();
-					this.businessOverview = res.data.businessOverview;
-					this.now = res.data.aggregateStatistics;
-					this.ranking = res.data.ranking;
-					const timeData = [];
-					const goodsNumData = [];
-					const orderMoneyData = [];
-					const orderNumData = [];
-					this.$nextTick(() => {
-						res.data.chartData.forEach(value => {
-							const arr = value.date.split('-');
-							timeData.push(arr[1] + '-' + arr[2]);
-							goodsNumData.push(Number(value.goodsNum));
-							orderMoneyData.push(Number(value.orderMoney));
-							orderNumData.push(Number(value.orderNum));
+		},
+		watch: {
+			shopData(val) {}
+		},
+		async onLoad() {
+			// this.noticePop=true
+			if (!this.hasLogin) {
+				this.logout();
+				return;
+			}
+			await this.overview();
+			await this.getupStatusAnnouncementInfo();
+			await this.getBasicSetup();
+		},
+		async onShow() {
+			// await this.getCommonAppInfo();
+		},
+		async onPullDownRefresh() {
+			await this.overview();
+			await this.getupStatusAnnouncementInfo();
+			await this.getBasicSetup();
+		},
+		onShareAppMessage(res) {},
+		methods: {
+			...mapActions({
+				logout: 'logout'
+			}),
+			setChartData(timeData, orderMoney, goodsNum, orderNum) {
+				this.chartData = {
+					categories: timeData,
+					series: [{
+							name: '金额',
+							data: orderMoney,
+							// pointShape: 'circle',
+							legendShape: 'line'
+						},
+						{
+							name: '商品数量',
+							data: goodsNum,
+							// pointShape: 'circle',
+							legendShape: 'line'
+						},
+						{
+							name: '订单数量',
+							data: orderNum,
+							// pointShape: 'circle',
+							legendShape: 'line'
+						}
+					]
+				};
+			},
+			changeTag(val) {
+				this.rank_on = val;
+			},
+			changeSel(val) {
+				this.ranking_sel = val;
+				this.overview();
+			},
+			async overview(isReset) {
+				if (isReset) {
+					uni.showLoading({
+						title: '加载中...'
+					});
+				}
+				await this.$u.api
+					.overview({
+						ranking: this.ranking_sel, // "1销量排行 2销额排行",
+						businessOverviewShopId: '', // "经营概况按店铺筛选:为空则筛选全店",
+						categoryRankingShopId: '', // "类目排行按店铺筛选:为空则筛选全店",
+						goodsRankingShopId: '', // "商品排行按店铺筛选:为空则筛选全店",
+						supplierRankingShopId: '' // 供应商排行按店铺筛选:为空则筛选全店"
+					})
+					.then(res => {
+						uni.stopPullDownRefresh();
+						uni.hideLoading();
+						this.businessOverview = res.data.businessOverview;
+						this.now = res.data.aggregateStatistics;
+						this.ranking = res.data.ranking;
+						const timeData = [];
+						const goodsNumData = [];
+						const orderMoneyData = [];
+						const orderNumData = [];
+						this.$nextTick(() => {
+							res.data.chartData.forEach(value => {
+								const arr = value.date.split('-');
+								timeData.push(arr[1] + '-' + arr[2]);
+								goodsNumData.push(Number(value.goodsNum));
+								orderMoneyData.push(Number(value.orderMoney));
+								orderNumData.push(Number(value.orderNum));
+							});
+							this.setChartData(timeData, orderMoneyData, goodsNumData, orderNumData);
 						});
-						this.setChartData(timeData, orderMoneyData, goodsNumData, orderNumData);
+					})
+					.catch(err => {
+						uni.hideLoading();
+						uni.stopPullDownRefresh();
 					});
-				})
-				.catch(err => {
-					uni.hideLoading();
-					uni.stopPullDownRefresh();
+			},
+			async getupStatusAnnouncementInfo() {
+				await this.$u.api.getupStatusAnnouncementInfo().then(res => {
+					if (res.data.upStatus === 5) {
+						this.noticePop = true;
+						this.notice_data.title = res.data.title;
+						this.notice_data.content = res.data.content;
+					} else {
+						this.noticePop = false;
+					}
 				});
-		},
-		async getupStatusAnnouncementInfo() {
-			await this.$u.api.getupStatusAnnouncementInfo().then(res => {
-				if (res.data.upStatus === 5) {
-					this.noticePop = true;
-					this.notice_data.title = res.data.title;
-					this.notice_data.content = res.data.content;
-				} else {
-					this.noticePop = false;
-				}
-			});
-		},
-		async getCommonAppInfo() {
-			await this.$u.api.getCommonAppInfo(this.userInfo.userCenterId).then(res => {
-				if (res.data.jsonKey) {
-					const jsonKey = res.data.jsonKey;
-					if (jsonKey[0].icon.indexOf('ibon') > -1) {
-						return;
+			},
+			async getCommonAppInfo() {
+				await this.$u.api.getCommonAppInfo(this.userInfo.userCenterId).then(res => {
+					if (res.data.jsonKey) {
+						const jsonKey = res.data.jsonKey;
+						if (jsonKey[0].icon.indexOf('ibon') > -1) {
+							return;
+						}
+						//可对一个数进行上舍入
+						let num = Math.ceil(jsonKey.length / 8);
+						let arr = [];
+						for (let i = 0; i < num; i++) {
+							arr[i] = jsonKey.slice(i * 8, i * 8 + 8);
+						}
+						this.nav_list = arr;
 					}
-					//可对一个数进行上舍入
-					let num = Math.ceil(jsonKey.length / 8);
-					let arr = [];
-					for (let i = 0; i < num; i++) {
-						arr[i] = jsonKey.slice(i * 8, i * 8 + 8);
+				});
+			},
+			// 获取基本设置
+			async getBasicSetup() {
+				await this.$u.api.getBasicSetup().then(res => {
+					if (res.data.basicData) {
+						this.$store.commit('commit_basicSet', res.data.basicData);
 					}
-					this.nav_list = arr;
-				}
-			});
-		},
-		// 获取基本设置
-		async getBasicSetup() {
-			await this.$u.api.getBasicSetup().then(res => {
-				if (res.data.basicData) {
-					this.$store.commit('commit_basicSet', res.data.basicData);
-				}
-			});
+				});
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss" scoped>
-.charts-box {
-	width: 710rpx;
-	height: 530rpx;
-	padding: 24rpx 24rpx 0 0;
-	background-color: #ffffff;
-}
-
-.show {
-	color: #2d405e;
-}
-
-.home {
-	font-family: DIN-Medium;
-	.top_bottom {
-		width: 686rpx;
-		margin: 0 auto;
+	.charts-box {
+		width: 710rpx;
+		height: 530rpx;
+		padding: 24rpx 24rpx 0 0;
 		background-color: #ffffff;
-		border-radius: 8rpx;
-		display: flex;
-		padding: 32rpx;
-		flex-wrap: wrap;
-		transform: translateY(-146rpx);
-
-		.money-li {
-			padding-left: 42rpx;
-			width: 50%;
-			color: #2d405e;
-			padding-top: 20rpx;
-
-			&:nth-child(odd) {
-				border-right: 1px solid #ecf0f7;
-			}
-
-			&:nth-child(2) {
-				padding-top: 0;
-				border-bottom: 1px solid #ecf0f7;
-			}
-
-			&:first-child {
-				padding-top: 0;
-				border-bottom: 1px solid #ecf0f7;
-			}
-
-			.num {
-				padding-top: 8px;
-				font-size: 24rpx;
-				font-weight: 500;
-				color: #2d405e;
-				line-height: 50rpx;
-
-				.written {
-					font-size: 40rpx;
-				}
-			}
-		}
 	}
 
-	.top_view {
-		padding: 0 32rpx 164rpx;
-		// height: calc(500rpx + var(--status-bar-height));
-		background: linear-gradient(#4076d6, #4076d6, #4076d6, #4076d6, #f5f5f6 100%);
+	.show {
+		color: #2d405e;
+	}
 
-		.title {
-			padding-left: 32rpx;
-			font-size: 32rpx;
-			font-weight: 500;
-			color: #ffffff;
-		}
+	.home {
+		font-family: DIN-Medium;
 
-		.user_img {
-			margin-top: 52rpx;
+		.top_bottom {
+			width: 686rpx;
+			margin: 0 auto;
+			background-color: #ffffff;
+			border-radius: 8rpx;
+			display: flex;
+			padding: 32rpx;
+			flex-wrap: wrap;
+			transform: translateY(-146rpx);
 
-			.img {
-				float: left;
+			.money-li {
+				padding-left: 42rpx;
+				width: 50%;
+				color: #2d405e;
+				padding-top: 20rpx;
 
-				image {
-					margin-right: 8rpx;
-					vertical-align: middle;
-					width: 68rpx;
-					height: 68rpx;
-					border-radius: 100%;
-					border: 4rpx solid #ffffff;
-					background-color: #ffffff;
+				&:nth-child(odd) {
+					border-right: 1px solid #ecf0f7;
 				}
 
-				.img_title {
-					line-height: 68rpx;
-					vertical-align: middle;
-					font-size: 28rpx;
-					font-weight: 500;
-					color: #ffffff;
+				&:nth-child(2) {
+					padding-top: 0;
+					border-bottom: 1px solid #ecf0f7;
 				}
-			}
-
-			.Icon {
-				float: right;
-				line-height: 72rpx;
 
-				.btn-li {
-					font-weight: bold;
-					width: 50rpx;
-					height: 50rpx;
-					background-color: #ffffff;
-					display: inline-block;
-					text-align: center;
-					vertical-align: middle;
-					margin-left: 30rpx;
-					line-height: 50rpx;
-					border-radius: 6rpx;
+				&:first-child {
+					padding-top: 0;
+					border-bottom: 1px solid #ecf0f7;
 				}
-			}
-		}
 
-		.top_money {
-			color: #ffffff;
-			margin-top: 52rpx;
-
-			.float_right {
-				font-size: 34rpx;
-				font-weight: 400;
-				font-family: DINPro-Regular;
-				.rmb-icon {
-					margin-right: 4rpx;
+				.num {
+					padding-top: 8px;
 					font-size: 24rpx;
+					font-weight: 500;
+					color: #2d405e;
+					line-height: 50rpx;
+
+					.written {
+						font-size: 40rpx;
+					}
 				}
 			}
 		}
 
-		.txst {
-			width: 141rpx;
-			height: 33px;
-			font-size: 24px;
-			font-weight: 400;
-			color: #2d405e;
-			line-height: 33px;
-		}
-	}
+		.top_view {
+			padding: 0 32rpx 164rpx;
+			// height: calc(500rpx + var(--status-bar-height));
+			background: linear-gradient(#4076d6, #4076d6, #4076d6, #4076d6, #f5f5f6 100%);
 
-	.content {
-		transform: translateY(-120rpx);
+			.title {
+				padding-left: 32rpx;
+				font-size: 32rpx;
+				font-weight: 500;
+				color: #ffffff;
+			}
 
-		.content_main {
-			margin: 24rpx auto;
-			width: 710rpx;
-			border-radius: 12rpx;
-			overflow: hidden;
-
-			.content_top {
-				background: linear-gradient(270deg, #fcfdff 0%, #e2ebff 100%);
-				line-height: 40rpx;
-				height: 80rpx;
-				line-height: 80rpx;
-				padding: 0 24rpx;
-				overflow: hidden;
+			.user_img {
+				margin-top: 52rpx;
 
 				.img {
-					width: 40rpx;
-					height: 40rpx;
-					display: inline-block;
-					margin-right: 16rpx;
-					vertical-align: middle;
-				}
+					float: left;
+
+					image {
+						margin-right: 8rpx;
+						vertical-align: middle;
+						width: 68rpx;
+						height: 68rpx;
+						border-radius: 100%;
+						border: 4rpx solid #ffffff;
+						background-color: #ffffff;
+					}
 
-				.title-text {
-					font-size: 32rpx;
-					font-weight: 600;
-					color: #2d405e;
-					vertical-align: middle;
+					.img_title {
+						line-height: 68rpx;
+						vertical-align: middle;
+						font-size: 28rpx;
+						font-weight: 500;
+						color: #ffffff;
+					}
 				}
 
-				.edit-btn {
-					margin-left: 20rpx;
-					display: inline-block;
-				}
+				.Icon {
+					float: right;
+					line-height: 72rpx;
 
-				&.tabs-ul {
-					overflow: auto;
-					height: 88rpx;
-					padding: 0rpx;
-					background: transparent;
+					.btn-li {
+						font-weight: bold;
+						width: 50rpx;
+						height: 50rpx;
+						background-color: #ffffff;
+						display: inline-block;
+						text-align: center;
+						vertical-align: middle;
+						margin-left: 30rpx;
+						line-height: 50rpx;
+						border-radius: 6rpx;
+					}
+				}
+			}
 
-					.ul_tag {
-						display: flex;
-						width: 710rpx;
-						height: 72rpx;
-						line-height: 72rpx;
-						transform: translateY(16rpx);
-						background: linear-gradient(217deg, #ffffff 0%, #ecf0f7 100%);
+			.top_money {
+				color: #ffffff;
+				margin-top: 52rpx;
 
-						.ul_tag_item {
-							flex: 4;
-							width: 177rpx;
-							text-align: center;
-							font-size: 24rpx;
-							font-weight: 400;
-							color: #62738e;
-						}
+				.float_right {
+					font-size: 34rpx;
+					font-weight: 400;
+					font-family: DINPro-Regular;
 
-						.hover {
-							font-weight: 400;
-							height: 88rpx;
-							line-height: 88rpx;
-							background-color: #4076d6;
-							color: #ffffff;
-							font-size: 28rpx;
-							transform: translateY(-16rpx);
-							border-radius: 8rpx 8rpx 0rpx 0rpx;
-						}
+					.rmb-icon {
+						margin-right: 4rpx;
+						font-size: 24rpx;
 					}
 				}
 			}
 
-			.content_bottom {
+			.txst {
+				width: 141rpx;
+				height: 33px;
+				font-size: 24px;
+				font-weight: 400;
+				color: #2d405e;
+				line-height: 33px;
+			}
+		}
+
+		.content {
+			transform: translateY(-120rpx);
+
+			.content_main {
+				margin: 24rpx auto;
 				width: 710rpx;
-				background-color: #ffffff;
-				padding-top: 38rpx;
+				border-radius: 12rpx;
+				overflow: hidden;
 
-				.bottom_top {
-					padding: 0 32rpx;
-					height: 50rpx;
-					line-height: 50rpx;
-					font-size: 28rpx;
+				.content_top {
+					background: linear-gradient(270deg, #fcfdff 0%, #e2ebff 100%);
+					line-height: 40rpx;
+					height: 80rpx;
+					line-height: 80rpx;
+					padding: 0 24rpx;
+					overflow: hidden;
 
-					.float_right {
-						width: 210rpx;
-						height: 50rpx;
-						border-radius: 25rpx;
-						border: 2rpx solid #b8c0c8;
-						text-align: center;
-						line-height: 36rpx;
+					.img {
+						width: 40rpx;
+						height: 40rpx;
+						display: inline-block;
+						margin-right: 16rpx;
+						vertical-align: middle;
 					}
 
-					.sale {
-						font-size: 28rpx;
-						width: 56rpx;
-						height: 40rpx;
-						color: #b8c0c8;
-						margin-left: 32rpx;
-						margin-right: 20rpx;
+					.title-text {
+						font-size: 32rpx;
+						font-weight: 600;
+						color: #2d405e;
+						vertical-align: middle;
 					}
 
-					.sale_num {
-						font-size: 28rpx;
-						width: 56rpx;
-						font-weight: 400;
-						color: #b8c0c8;
+					.edit-btn {
 						margin-left: 20rpx;
+						display: inline-block;
 					}
 
-					.show-on {
-						font-size: 28rpx;
-						font-weight: 500;
-						color: #2d405e;
-					}
+					&.tabs-ul {
+						overflow: auto;
+						height: 88rpx;
+						padding: 0rpx;
+						background: transparent;
+
+						.ul_tag {
+							display: flex;
+							width: 710rpx;
+							height: 72rpx;
+							line-height: 72rpx;
+							transform: translateY(16rpx);
+							background: linear-gradient(217deg, #ffffff 0%, #ecf0f7 100%);
+
+							.ul_tag_item {
+								flex: 4;
+								width: 177rpx;
+								text-align: center;
+								font-size: 24rpx;
+								font-weight: 400;
+								color: #62738e;
+							}
 
-					.sel {
-						padding: 10rpx;
-						font-size: 28rpx;
-						width: 210rpx;
-						border-radius: 25rpx;
-						border: 2rpx solid #b8c0c8;
-						margin-left: 320rpx;
-						color: #b8c0c8;
+							.hover {
+								font-weight: 400;
+								height: 88rpx;
+								line-height: 88rpx;
+								background-color: #4076d6;
+								color: #ffffff;
+								font-size: 28rpx;
+								transform: translateY(-16rpx);
+								border-radius: 8rpx 8rpx 0rpx 0rpx;
+							}
+						}
 					}
 				}
-			}
 
-			.content_text {
-				background-color: #ffffff;
+				.content_bottom {
+					width: 710rpx;
+					background-color: #ffffff;
+					padding-top: 38rpx;
 
-				.content-ul {
-					display: flex;
-					flex-wrap: wrap;
-					padding: 0 24rpx;
+					.bottom_top {
+						padding: 0 32rpx;
+						height: 50rpx;
+						line-height: 50rpx;
+						font-size: 28rpx;
 
-					.li-list {
-						width: 33.3333%;
-						text-align: center;
-						margin-top: 10rpx;
-						padding-bottom: 32rpx;
-						padding-top: 40rpx;
-						border-bottom: 1px solid #ecf0f7;
-						position: relative;
-
-						&::after {
-							content: '';
-							display: block;
-							width: 1px;
-							height: 120rpx;
-							position: absolute;
-							background-color: #ecf0f7;
-							right: 0;
-							top: 50%;
-							transform: translateY(-48%);
+						.float_right {
+							width: 210rpx;
+							height: 50rpx;
+							border-radius: 25rpx;
+							border: 2rpx solid #b8c0c8;
+							text-align: center;
+							line-height: 36rpx;
 						}
 
-						&:nth-child(5),
-						&:nth-child(4) {
-							padding-top: 32rpx;
-							padding-bottom: 40rpx;
-							border-bottom: 0;
+						.sale {
+							font-size: 28rpx;
+							width: 56rpx;
+							height: 40rpx;
+							color: #b8c0c8;
+							margin-left: 32rpx;
+							margin-right: 20rpx;
 						}
 
-						&:nth-child(3),
-						&:last-child {
-							&::after {
-								height: 0;
-								width: 0;
-							}
+						.sale_num {
+							font-size: 28rpx;
+							width: 56rpx;
+							font-weight: 400;
+							color: #b8c0c8;
+							margin-left: 20rpx;
 						}
 
-						.num {
-							font-size: 44rpx;
+						.show-on {
+							font-size: 28rpx;
 							font-weight: 500;
 							color: #2d405e;
-							line-height: 56rpx;
-							height: 56rpx;
-							padding-top: 12rpx;
 						}
 
-						.order_money {
-							font-size: 24rpx;
-							font-weight: 400;
+						.sel {
+							padding: 10rpx;
+							font-size: 28rpx;
+							width: 210rpx;
+							border-radius: 25rpx;
+							border: 2rpx solid #b8c0c8;
+							margin-left: 320rpx;
 							color: #b8c0c8;
-							line-height: 33rpx;
 						}
+					}
+				}
 
-						.txt {
-							font-size: 20rpx;
-							font-weight: 400;
-							color: #62738e;
-							line-height: 28rpx;
-						}
+				.content_text {
+					background-color: #ffffff;
 
-						.time {
-							font-size: 20rpx;
-							font-weight: 400;
-							color: #62738e;
-							line-height: 45rpx;
-						}
+					.content-ul {
+						display: flex;
+						flex-wrap: wrap;
+						padding: 0 24rpx;
+
+						.li-list {
+							width: 33.3333%;
+							text-align: center;
+							margin-top: 10rpx;
+							padding-bottom: 32rpx;
+							padding-top: 40rpx;
+							border-bottom: 1px solid #ecf0f7;
+							position: relative;
+
+							&::after {
+								content: '';
+								display: block;
+								width: 1px;
+								height: 120rpx;
+								position: absolute;
+								background-color: #ecf0f7;
+								right: 0;
+								top: 50%;
+								transform: translateY(-48%);
+							}
+
+							&:nth-child(5),
+							&:nth-child(4) {
+								padding-top: 32rpx;
+								padding-bottom: 40rpx;
+								border-bottom: 0;
+							}
+
+							&:nth-child(3),
+							&:last-child {
+								&::after {
+									height: 0;
+									width: 0;
+								}
+							}
+
+							.num {
+								font-size: 44rpx;
+								font-weight: 500;
+								color: #2d405e;
+								line-height: 56rpx;
+								height: 56rpx;
+								padding-top: 12rpx;
+							}
+
+							.order_money {
+								font-size: 24rpx;
+								font-weight: 400;
+								color: #b8c0c8;
+								line-height: 33rpx;
+							}
 
-						&.bottom-li {
-							width: 50%;
+							.txt {
+								font-size: 20rpx;
+								font-weight: 400;
+								color: #62738e;
+								line-height: 28rpx;
+							}
+
+							.time {
+								font-size: 20rpx;
+								font-weight: 400;
+								color: #62738e;
+								line-height: 45rpx;
+							}
+
+							&.bottom-li {
+								width: 50%;
+							}
 						}
 					}
 				}
 			}
 		}
 	}
-}
 
-.cont {
-	.swiper {
-		width: 710rpx;
-		height: 400rpx;
-
-		.app-ul {
-			padding: 40rpx 0 0;
-			display: flex;
-			flex-wrap: wrap;
-			background-color: #ffffff;
+	.cont {
+		.swiper {
+			width: 710rpx;
 			height: 400rpx;
 
-			.app-li {
-				text-align: center;
-				width: 25%;
-				margin-bottom: 40rpx;
+			.app-ul {
+				padding: 40rpx 0 0;
+				display: flex;
+				flex-wrap: wrap;
+				background-color: #ffffff;
+				height: 400rpx;
 
-				.icon-view {
-					width: 72rpx;
-					height: 72rpx;
-					line-height: 72rpx;
-					border-radius: 30rpx;
-					margin: 0 auto;
+				.app-li {
+					text-align: center;
+					width: 25%;
+					margin-bottom: 40rpx;
 
-					.custom-icon {
-						font-size: 42rpx;
-						color: #ffffff;
+					.icon-view {
+						width: 72rpx;
+						height: 72rpx;
+						line-height: 72rpx;
+						border-radius: 30rpx;
+						margin: 0 auto;
+
+						.custom-icon {
+							font-size: 42rpx;
+							color: #ffffff;
+						}
 					}
-				}
 
-				.label {
-					font-size: 26rpx;
-					line-height: 36rpx;
-					padding-top: 16rpx;
-					color: #2d405e;
+					.label {
+						font-size: 26rpx;
+						line-height: 36rpx;
+						padding-top: 16rpx;
+						color: #2d405e;
+					}
 				}
 			}
 		}
 	}
-}
-
-.progress-ul {
-	padding-bottom: 40rpx;
-
-	.progress-li {
-		line-height: 90rpx;
-
-		.label {
-			width: 152rpx;
-			text-align: right;
-			border-right: 1px solid #dddddd;
-			padding-right: 12rpx;
-			color: #2d405e;
-			font-size: 24rpx;
-			font-weight: 400;
-		}
 
-		.line {
-			width: 400rpx;
-		}
+	.progress-ul {
+		padding-bottom: 40rpx;
+
+		.progress-li {
+			line-height: 90rpx;
+
+			.label {
+				width: 152rpx;
+				text-align: right;
+				border-right: 1px solid #dddddd;
+				padding-right: 12rpx;
+				color: #2d405e;
+				font-size: 24rpx;
+				font-weight: 400;
+			}
 
-		.num {
-			color: #5c79b0;
-			font-size: 24rpx;
-			margin-right: 30rpx;
+			.line {
+				width: 400rpx;
+			}
+
+			.num {
+				color: #5c79b0;
+				font-size: 24rpx;
+				margin-right: 30rpx;
+			}
 		}
 	}
-}
-
-.mag-view {
-	text-align: center;
-	transform: translateY(100rpx);
-	background-color: #ffffff;
-	width: 612rpx;
-	border-radius: 18rpx;
-	padding-bottom: 46rpx;
-
-	.mag-top {
-		height: 242rpx;
+
+	.mag-view {
+		text-align: center;
+		transform: translateY(100rpx);
+		background-color: #ffffff;
+		width: 612rpx;
 		border-radius: 18rpx;
-		background-color: $uni-color-primary;
-		width: 100%;
-		position: relative;
-
-		.notice-i {
-			width: 422rpx;
-			height: 312rpx;
-			position: absolute;
-			top: -100rpx;
-			left: 140rpx;
-		}
-	}
+		padding-bottom: 46rpx;
 
-	.msg-cont {
-		padding: 0 50rpx;
-		padding-top: 56rpx;
-		position: relative;
-
-		.msg-yun {
-			position: absolute;
-			width: 622rpx;
-			height: 215rpx;
-			left: 0;
-			top: -116rpx;
-			z-index: 1;
-		}
+		.mag-top {
+			height: 242rpx;
+			border-radius: 18rpx;
+			background-color: $uni-color-primary;
+			width: 100%;
+			position: relative;
 
-		.mag-main {
-			height: 200rpx;
+			.notice-i {
+				width: 422rpx;
+				height: 312rpx;
+				position: absolute;
+				top: -100rpx;
+				left: 140rpx;
+			}
 		}
 
-		.mag-tit {
+		.msg-cont {
+			padding: 0 50rpx;
+			padding-top: 56rpx;
 			position: relative;
-			z-index: 9;
-			font-size: 38upx;
-			font-weight: bold;
-			padding-bottom: 30rpx;
+
+			.msg-yun {
+				position: absolute;
+				width: 622rpx;
+				height: 215rpx;
+				left: 0;
+				top: -116rpx;
+				z-index: 1;
+			}
+
+			.mag-main {
+				height: 200rpx;
+			}
+
+			.mag-tit {
+				position: relative;
+				z-index: 9;
+				font-size: 38upx;
+				font-weight: bold;
+				padding-bottom: 30rpx;
+			}
 		}
-	}
 
-	.confirm-btn {
-		line-height: 90rpx;
-		height: 90rpx;
-		font-size: 34rpx;
-		width: 506rpx;
-		margin: 30rpx auto 0;
-		border: 1px solid $uni-color-primary;
-		color: $uni-color-primary;
-		border-radius: 12rpx;
+		.confirm-btn {
+			line-height: 90rpx;
+			height: 90rpx;
+			font-size: 34rpx;
+			width: 506rpx;
+			margin: 30rpx auto 0;
+			border: 1px solid $uni-color-primary;
+			color: $uni-color-primary;
+			border-radius: 12rpx;
+		}
+	}
+	.ygdd {
+		width: 100%;
+		background-color: #0c0a16;
+		padding-bottom: 20rpx;
+		.dd-tit {
+			padding: 0 37rpx;
+			height: 95rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			.tit-left, .tit-right {
+				display: flex;
+				align-items: center;
+			}
+			.tit-left {
+				color: #e3c4a5;
+				font-size: 30rpx;
+				font-weight: bold;
+				.sx {
+					background-color: #e3c4a5;
+					width: 7rpx;
+					height: 36rpx;
+					border-radius: 4rpx;
+					margin-right: 20rpx;
+				}
+			}
+			.tit-right {
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				image {
+					width: 22rpx;
+					height: 22rpx;
+				}
+			}
+		}
+		.dd-wrap {
+			margin: auto;
+			width: 713rpx;
+			height: 314rpx;
+			border-radius: 20rpx;
+			background-color: #fff;
+			padding-top: 35rpx;
+			position: relative;
+			margin-bottom: 27rpx;
+			.dd-id-status {
+				height: 40rpx;
+				display: flex;
+				align-items: center;
+				width: 100%;
+				font-size: 24rpx;
+				padding: 0 23rpx 0 43rpx;
+				.dd-stata {
+					flex-shrink: 0;
+					width: 123rpx;
+					height: 39rpx;
+					background: #FF5600;
+					border-radius: 5rpx;
+					text-align: center;
+					line-height: 39rpx;
+					
+					font-weight: 400;
+					color: #FFFFFF;
+				}
+				.dd-id {
+					margin-left: 15rpx;
+					flex-grow: 1;
+					color: #1e395a;
+					
+				}
+				.dd-status {
+					flex-shrink: 0;
+					font-weight: 400;
+					color: #FCA930;
+				}
+			}
+			.dd-info {
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #A0A0A0;
+				padding-left: 42rpx;
+				text {
+					padding-left: 32rpx;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #173456;
+				}
+				
+			}
+			.dd-btm {
+				position: absolute;
+				bottom: 0;
+				height: 90rpx;
+				width: 713rpx;
+				background: linear-gradient(to right,#fbf5eb,#ffffff);
+				border-radius: 0 0 20rpx 20rpx;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				padding: 0 20rpx 0 42rpx;
+				.btm-price {
+					font-size: 26rpx;
+					color: #56687f;
+					text {
+						color:#ff1e00 ;
+					}
+				}
+				.btm-btn {
+					width: 126rpx;
+					height: 48rpx;
+					line-height: 48rpx;
+					background:#ebccae;
+					border-radius: 10rpx;
+					font-size: 24rpx;
+					font-weight: 400;
+					color: #0C0A15;
+					text-align: center;
+					
+				}
+				
+			}
+			.add-dd {
+				position: absolute;
+				bottom: 90rpx;
+				right: 20rpx;
+				width: 110rpx;
+				height: 100rpx;
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #FF5600;
+				text-align: center;
+				image {
+					display: block;
+					margin: auto;
+					width: 36rpx;
+					height: 45rpx;
+				}
+				
+			}
+		}
 	}
-}
+	
 </style>

+ 4 - 1
pages/login/index.vue

@@ -76,6 +76,7 @@ export default {
 		},
 		login(test) {
 			// 体验一下
+			console.log('登录')
 			let mobile = '';
 			let password = '';
 			if (test) {
@@ -117,8 +118,10 @@ export default {
 						this.$u.toast('抱歉当前账号没有企业');
 					}
 				})
-				.catch(() => {
+				.catch((err) => {
 					this.is_loading = false;
+					console.log(err)
+					console.log('错误')
 				});
 		},
 		forgetPwd() {

+ 279 - 0
pagesS/goods/valetbuy.vue

@@ -0,0 +1,279 @@
+<template>
+	<view class="content">
+		<view class="" style="background-color: #4076d6;height: 100rpx;">
+			
+		</view>
+		<view class="good-info-wrap">
+			<view class="good-list">
+				<view class="empty" v-if="xmlist.length == 0" @click="chooseGoods">
+					选择项目
+				</view>
+				<!-- 商品详情 -->
+				<view class="good-wrap" v-else>
+					<view class="good" v-for="goodsitem in xmlist">
+						<image src="" mode="" class="good-img"></image>
+						<view class="good-info">
+							<view class="good-name clamp2">
+								{{goodsitem.name}}
+							</view>
+							<view class="good-price">
+								{{goodsitem.price}}
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="mjly">
+				<view class="ly-left">
+					买家留言
+				</view>
+				<input type="text" placeholder="请输入留言内容" class="ly-right" v-model="mjly">
+			</view>
+			
+		</view>
+		<view class="mj-info" @click="goPage('/pagesT/customer/selCustomer')">
+			<view class="mjly" style="border-bottom: 1rpx solid #f7f8fa;">
+				<view class="ly-left">
+					客户姓名
+				</view>
+				<input type="text" placeholder="请输入留言内容" class="ly-right" v-model="customerData.name" v-if="customerData.name" disabled>
+				<image src="../../static/img/downright.png" mode="" v-else></image>
+			</view>
+			<view class="mjly" >
+				<view class="ly-left">
+					联系方式
+				</view>
+				<input type="number" placeholder="请填写联系方式" class="ly-right" v-model="customerData.mobile" @click.stop="">
+			</view>
+		</view>
+		<!-- 指派 -->
+		<scroll-view scroll-x="true" class="zp-wrap">
+			<view class="zp-item" v-for="item in 10">
+				<image src="" mode="" class="zp-logo"></image>
+				<view class="zp-name">随机指派</view>
+			</view>
+		</scroll-view>
+		<!-- 预约 -->
+			<its-calendar :sta_num="8" :end_num="23" :int_num="30" @getTime="getTime"></its-calendar>
+		<!-- 结算 -->
+		<!-- 填充 -->
+		<view class="" style="height: 110rpx;"></view>
+		<view class="tj-dd">
+			<view class="">
+				<text style="font-size: 26rpx;color: #999;">提交</text>
+				<text style="color: #CE372E;font-size: 44rpx;font-weight: bold;padding-left: 10rpx;" class="rmb">1000</text>
+				<text style="font-size: 22rpx;color: #333333;font-weight: bold;">(包含预约费¥3元)</text>
+			</view>
+			<view class="tj-btn">
+				提交
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import its from '@/components/its-calendar/its-calendar.vue'
+	export default {
+		components: {
+			its
+		},
+		data() {
+			return {
+				xmlist: [],
+				mjly: '',
+				customerData: {}
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+			console.log(this.customerData)
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+			chooseGoods() {
+				uni.navigateTo({
+					url: '/pagesS/goods/yygoods'
+				})
+				this.xmlist = [{
+					name: '线雕提拉术',
+					id: 1,
+					price: '1100'
+				},
+				{
+					name: '减肥大计划',
+					id: 1,
+					price: '1200'
+				}]
+			},
+			getTime(e) {
+				console.log(e);
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+		
+	.good-info-wrap {
+		margin:-50rpx auto 20rpx;
+		width: 712rpx;
+		min-height: 285rpx;
+		background: #FFFFFF;
+		border-radius: 10rpx;
+		padding:10rpx 20rpx;
+		.good-list {
+			min-height: 177rpx;
+			width: 100%;
+			
+			.good-wrap {
+				min-height: 177rpx;
+				.good {
+					height: 177rpx;
+					border-bottom: 1px solid #f7f8fa;
+					display: flex;
+					justify-content: flex-start;
+					align-items: center;
+					.good-info {
+						height: 177rpx;
+						width: 365rpx;
+						padding:25rpx 0 25rpx 20rpx;
+						display: flex;
+						flex-direction: column;
+						justify-content: space-between;
+						align-items: flex-start;
+						.good-name {
+							font-size: 26rpx;
+							font-weight: 500;
+							color: #333333;
+						}
+						.good-price {
+							margin-top: 20rpx;
+							font-size: 34rpx;
+							font-weight: bold;
+							color: #CE372E;
+							&::before {
+								content: '¥';
+								font-size: 24rpx;
+								color: #CE372E;
+							}
+						}
+					}
+					.good-img {
+						width: 133rpx;
+						height: 133rpx;
+						border-radius: 10rpx;
+						background-color: #eee;
+					}
+				}
+			}
+			.empty {
+				// display: ;
+				font-size: 28rpx;
+				height: 177rpx;
+				background-color: #ecf1f7;
+				text-align: center;
+				line-height: 177rpx;
+				color: #4472bd;
+				border-radius: 10rpx;
+			}
+		}
+		
+	}
+	.mj-info {
+		width: 712rpx;
+		height: 200rpx;
+		background: #FFFFFF;
+		border-radius: 10px;
+		margin: 20rpx auto;
+		padding:0 20rpx;
+	}
+	.mjly {
+		height: 100rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		font-size: 26rpx;
+		.ly-left {
+			font-weight: 500;
+			color: #000;
+			
+		}
+		.ly-right {
+			width: 400rpx;
+			text-align: right;
+		}
+		image {
+			width: 15rpx;
+			height: 28rpx;
+		}
+	}
+	//指派
+	.zp-wrap {
+		margin-top: 20rpx;
+		width: 750rpx;
+		height: 216rpx;
+		white-space: nowrap;
+		.zp-item {
+			display: inline-block;
+			margin-right: 15rpx;
+			padding-top: 34rpx;
+			width: 172rpx;
+			height: 216rpx;
+			// background: #E02020;
+			background-color: #fff;
+			border-radius: 10rpx;
+			.zp-logo {
+				display: block;
+				width: 106rpx;
+				height: 106rpx;
+				margin: auto;
+				border-radius: 50%;
+				background-color: #999999;
+			}
+			.zp-name {
+				width: 100%;
+				text-align: center;
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+	}
+	.tj-dd {
+		width: 750rpx;
+		height: 100rpx;
+		position: fixed;
+		bottom: 0;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		background-color: #fff;
+		padding: 0 20rpx;
+		.tj-btn {
+			width: 200rpx;
+			height: 75rpx;
+			line-height: 75rpx;
+			color: #fff;
+			background-color: #d84840;
+			border-radius: 10rpx;
+			text-align: center;
+			font-size: 28rpx;
+			font-weight: 500;
+			
+		}
+	}
+	.rmb {
+		&::before {
+			content: '¥';
+			color: #CE372E;
+			font-size: 30rpx;
+		}
+	}
+</style>

+ 253 - 0
pagesS/goods/xhplist.vue

@@ -0,0 +1,253 @@
+<template>
+	<view class="content">
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" :style="{'height': height}" class="swiper-box" @scrolltolower="loadData"
+					v-for="">
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+					<view class="gq-list">
+						<view class="gq-item" v-for="item in tabItem.list">
+							<view class="gq-logo">
+								<image src="" mode="" class=""></image>
+							</view>
+							<view class="info">
+								<view class="info-tit">
+									名称:
+								</view>
+								<view class="info-val">
+									创始人
+								</view>
+							</view>
+							<view class="info">
+								<view class="info-tit">
+									ID:
+								</view>
+								<view class="info-val">
+									创始人
+								</view>
+							</view>
+							<view class="info">
+								<view class="info-tit">
+									出仓时间:
+								</view>
+								<view class="info-val">
+									创始人
+								</view>
+							</view>
+							<view class="info">
+								<view class="info-tit">
+									门店:
+								</view>
+								<view class="info-val">
+									创始人
+								</view>
+							</view>
+							<view class="info">
+								<view class="info-tit">
+									调拨人:
+								</view>
+								<view class="info-val">
+									创始人
+								</view>
+							</view>
+						</view>
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+
+			</swiper-item>
+		</swiper>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				tabCurrentIndex: 0,
+				height: '',
+				navlist: [{
+						status: 0,
+						title: '使用中',
+						list: 10,
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '已使用',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				this.loadData('tab')
+			},
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'loadmore'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'nomore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.navbar {
+		// margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	.swiper-box {
+		.gq-list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: flex-start;
+			// justify-content: space-between;
+			padding: 20rpx 0 20rpx 20rpx;
+		}
+
+		.gq-item {
+			margin: 0 0 20rpx 14rpx;
+			width: 227rpx;
+			// height: 351rpx;
+			background: #FFFFFF;
+			box-shadow: 0px 5rpx 5rpx 0px rgba(35, 24, 21, 0.06);
+			border-radius: 10rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: space-between;
+			padding: 30rpx 14rpx 20rpx;
+
+			.gq-logo {
+				width: 193rpx;
+				height: 193rpx;
+				background: #EEEFF1;
+				border-radius: 15px;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+
+				image {
+					width: 193rpx;
+					height: 193rpx;
+				}
+			}
+
+			.store-name {
+				padding-top: 10rpx;
+				text-align: center;
+				width: 100%;
+				font-size: 26rpx;
+				font-weight: 500;
+				color: #262261;
+				overflow: hidden;
+			}
+
+			.info {
+				width: 100%;
+				display: flex;
+				padding: 5rpx 0;
+
+				.info-tit {
+					font-size: 18rpx;
+					flex-shrink: 0;
+				}
+
+				.info-val {
+					text-align: center;
+					font-size: 20rpx;
+					width: 140rpx;
+					border-bottom: 1px #C7C7C7 solid;
+				}
+			}
+
+		}
+	}
+</style>

+ 189 - 0
pagesS/goods/yygoods.vue

@@ -0,0 +1,189 @@
+<template>
+	<view class="content">
+		<checkbox-group>
+			<view class="good" v-for="item in list">
+				<image src="" mode="" class="good-img"></image>
+				<view class="good-info">
+					<view class="good-tit clamp2">
+						涅槃旗下官方正品线雕提拉术
+					</view>
+					<view class="good-tip">
+						随时随地 预约服务
+					</view>
+					<view class="good-buy">
+						已售1000件
+					</view>
+					<view class="good-price">
+						34 <text class="ot-price"></text>
+					</view>
+				</view>
+				<checkbox :checked="item.isCheck" class="good-check" :value="item.id" @click="changeCheck(item)"/>
+			</view>
+		</checkbox-group>
+			<u-loadmore :status="loadingType" />
+		<view class="" style="height: 120rpx;">
+			
+		</view>
+		<view class="sub-btn" @click="addGood">
+			确认添加
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				loadingType: 'loadmore',
+				page: 1,
+				limit: 10,
+				loaded: false,
+				list: [
+					{
+						id:1,
+						isCheck: false
+					},
+					{
+						id:2,
+						isCheck: false
+					},
+					{
+						id:2,
+						isCheck: false
+					},
+					{
+						id:2,
+						isCheck: false
+					},
+					
+					{
+						id:2,
+						isCheck: false
+					}
+				]
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+			// this.getList()
+		},
+		onReachBottom() {
+			// this.getList()
+		},
+		onReady() {
+
+		},
+		methods: {
+			addGood() {
+				uni.navigateBack()
+			},
+			changeCheck(item) {
+				item.isCheck = !item.isCheck
+				console.log(this.list)
+			},
+			getList() {
+				let that = this
+				if(that.loadingType == 'nomre' || that.loadingType == 'loading') {
+					return
+				}
+				that.loadingType = 'loading'
+				
+				getYyGoods({
+					page: that.page,
+					limit: that.limit,
+				}).then(res => {
+					that.list = that.list.concat(res.data.list)
+					that.page++
+					if(that.limit == res.data.list.length ) {
+						that.loadingType = 'loadmore'
+					}else {
+						that.loadingType = 'nomore'
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		padding-top: 1rpx;
+	}
+	.good {
+		width: 690rpx;
+		margin: 20rpx auto;
+		display: flex;
+		justify-content: flex-start;
+		padding: 20rpx;
+		background-color: #fff;
+		border-radius: 20rpx;
+		position: relative;
+		.good-check {
+			position: absolute;
+			bottom: 20rpx;
+			right: 20rpx;
+		}
+		.good-img {
+			width: 256rpx;
+			height: 256rpx;
+			background: #D6DEE1;
+			border-radius: 15rpx;
+			flex-shrink: 0;
+			margin-right: 15rpx;
+		}
+		.good-info {
+			display: flex;
+			flex-direction: column;
+			// align-items: ;
+			justify-content: space-between;
+			align-items: flex-start;
+			.good-tit {
+				font-size: 28rpx;
+				font-weight: 500;
+				color: #333333;
+			}
+			.good-buy {
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #9a9a9a;
+			}
+			
+			.good-tip {
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #FA7014;
+			}
+			.good-price {
+				color: #fd463e;
+				font-size: 32rpx;
+				&::before {
+					content: '¥';
+					font-size: 22rpx;
+					color: #fd463e;
+				}
+				text {
+					
+				}
+			}
+		}
+		
+	}
+	.sub-btn {
+		width: 616rpx;
+		height: 74rpx;
+		background: #4D74CF;
+		border-radius: 15rpx;
+		font-size: 30rpx;
+		font-weight: bold;
+		color: #FFFFFF;
+		text-align: center;
+		line-height: 74rpx;
+		position: fixed;
+		bottom: 45rpx;
+		left: 0;
+		right: 0;
+		margin: auto;
+	}
+</style>

+ 313 - 0
pagesS/order/addorder.vue

@@ -0,0 +1,313 @@
+<template>
+	<view class="content">
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData" :style="{ height: height }">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="dd-wrap" v-for="item in tabItem.list" :key="item">
+						<view class="dd-id-status">
+							<view class="dd-stata">
+								待服务
+							</view>
+							<view class="dd-id">
+								ddddadfasfdasdf-adfas
+							</view>
+							<view class="dd-status">
+								已预约
+							</view>
+						</view>
+						<view class="dd-info" style="margin-top: 20rpx;">
+							客服名称<text>小圆</text>
+						</view>
+						<view class="dd-info">
+							下单时间<text>2022-11-03 9:30~10:30</text>
+						</view>
+						<view class="dd-info">
+							预约时间<text class="chs" style="color:#FF5600;">2022-11-03 9:30~10:30</text>
+						</view>
+						<view class="dd-btm">
+							<view class="btm-price">
+								订单金额: <text>¥2400</text>
+							</view>
+							<view class="btm-btn btm-btn-lx">
+								联系客户
+							</view>
+							<view class="btm-btn btm-btn-sm">
+								扫码完成
+							</view>
+						</view>
+						<!-- <view class="add-dd">
+							<image src="../../static/img/add-dd.png" mode=""></image>
+							<view class="">
+								添加项目
+							</view>
+						</view> -->
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				height: '',
+				tabCurrentIndex: 0,
+				navlist: [{
+						status: 0,
+						title: '全部',
+						list: 10,
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '待服务',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 2,
+						title: '已完成',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				// this.loadData('tab')
+			},
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.navbar {
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #4076d6;
+				}
+			}
+		}
+	}
+
+	.dd-wrap {
+		margin: auto;
+		width: 713rpx;
+		height: 314rpx;
+		border-radius: 20rpx;
+		background-color: #fff;
+		padding-top: 35rpx;
+		position: relative;
+		margin-bottom: 27rpx;
+
+		.dd-id-status {
+			height: 40rpx;
+			display: flex;
+			align-items: center;
+			width: 100%;
+			font-size: 24rpx;
+			padding: 0 23rpx 0 43rpx;
+
+			.dd-stata {
+				flex-shrink: 0;
+				width: 123rpx;
+				height: 39rpx;
+				background: #FF5600;
+				border-radius: 5rpx;
+				text-align: center;
+				line-height: 39rpx;
+
+				font-weight: 400;
+				color: #FFFFFF;
+			}
+
+			.dd-id {
+				margin-left: 15rpx;
+				flex-grow: 1;
+				color: #1e395a;
+
+			}
+
+			.dd-status {
+				flex-shrink: 0;
+				font-weight: 400;
+				color: #FCA930;
+			}
+		}
+
+		.dd-info {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #A0A0A0;
+			padding-left: 42rpx;
+
+			text {
+				padding-left: 32rpx;
+				font-size: 26rpx;
+				font-weight: 500;
+				color: #173456;
+			}
+
+		}
+
+		.dd-btm {
+			position: absolute;
+			bottom: 0;
+			height: 90rpx;
+			width: 713rpx;
+			background: linear-gradient(to right, #fbf5eb, #ffffff);
+			border-radius: 0 0 20rpx 20rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 0 20rpx 0 42rpx;
+
+			.btm-price {
+				font-size: 26rpx;
+				color: #56687f;
+				flex-grow: 1;
+				text {
+					color: #ff1e00;
+				}
+			}
+
+			.btm-btn {
+				width: 126rpx;
+				height: 48rpx;
+				line-height: 48rpx;
+				background: #ebccae;
+				border-radius: 10rpx;
+				font-size: 24rpx;
+				font-weight: 400;
+				text-align: center;
+			}
+			.btm-btn-sm {
+		
+				background: #4D74CF;
+				margin-left: 10rpx;
+				color: #fff;
+			}
+			.btm-btn-lx {
+				background-color: #fff;
+				border: 1px solid #65676A;
+				color: #56585C;
+			}
+
+		}
+
+		.add-dd {
+			position: absolute;
+			bottom: 90rpx;
+			right: 20rpx;
+			width: 110rpx;
+			height: 100rpx;
+			font-size: 24rpx;
+			font-weight: 500;
+			color: #FF5600;
+			text-align: center;
+
+			image {
+				display: block;
+				margin: auto;
+				width: 36rpx;
+				height: 45rpx;
+			}
+
+		}
+	}
+</style>

+ 313 - 0
pagesS/order/allorder.vue

@@ -0,0 +1,313 @@
+<template>
+	<view class="content">
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData" :style="{ height: height }">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="dd-wrap" v-for="item in tabItem.list" :key="item">
+						<view class="dd-id-status">
+							<view class="dd-stata">
+								待服务
+							</view>
+							<view class="dd-id">
+								ddddadfasfdasdf-adfas
+							</view>
+							<view class="dd-status">
+								已预约
+							</view>
+						</view>
+						<view class="dd-info" style="margin-top: 20rpx;">
+							客服名称<text>小圆</text>
+						</view>
+						<view class="dd-info">
+							下单时间<text>2022-11-03 9:30~10:30</text>
+						</view>
+						<view class="dd-info">
+							预约时间<text class="chs" style="color:#FF5600;">2022-11-03 9:30~10:30</text>
+						</view>
+						<view class="dd-btm">
+							<view class="btm-price">
+								订单金额: <text>¥2400</text>
+							</view>
+							<view class="btm-btn btm-btn-lx">
+								联系客户
+							</view>
+							<view class="btm-btn btm-btn-sm">
+								扫码完成
+							</view>
+						</view>
+						<!-- <view class="add-dd">
+							<image src="../../static/img/add-dd.png" mode=""></image>
+							<view class="">
+								添加项目
+							</view>
+						</view> -->
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				height: '',
+				tabCurrentIndex: 0,
+				navlist: [{
+						status: 0,
+						title: '全部',
+						list: 10,
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '待服务',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 2,
+						title: '已完成',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				// this.loadData('tab')
+			},
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.navbar {
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #4076d6;
+				}
+			}
+		}
+	}
+
+	.dd-wrap {
+		margin: auto;
+		width: 713rpx;
+		height: 314rpx;
+		border-radius: 20rpx;
+		background-color: #fff;
+		padding-top: 35rpx;
+		position: relative;
+		margin-bottom: 27rpx;
+
+		.dd-id-status {
+			height: 40rpx;
+			display: flex;
+			align-items: center;
+			width: 100%;
+			font-size: 24rpx;
+			padding: 0 23rpx 0 43rpx;
+
+			.dd-stata {
+				flex-shrink: 0;
+				width: 123rpx;
+				height: 39rpx;
+				background: #FF5600;
+				border-radius: 5rpx;
+				text-align: center;
+				line-height: 39rpx;
+
+				font-weight: 400;
+				color: #FFFFFF;
+			}
+
+			.dd-id {
+				margin-left: 15rpx;
+				flex-grow: 1;
+				color: #1e395a;
+
+			}
+
+			.dd-status {
+				flex-shrink: 0;
+				font-weight: 400;
+				color: #FCA930;
+			}
+		}
+
+		.dd-info {
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #A0A0A0;
+			padding-left: 42rpx;
+
+			text {
+				padding-left: 32rpx;
+				font-size: 26rpx;
+				font-weight: 500;
+				color: #173456;
+			}
+
+		}
+
+		.dd-btm {
+			position: absolute;
+			bottom: 0;
+			height: 90rpx;
+			width: 713rpx;
+			background: linear-gradient(to right, #fbf5eb, #ffffff);
+			border-radius: 0 0 20rpx 20rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 0 20rpx 0 42rpx;
+
+			.btm-price {
+				font-size: 26rpx;
+				color: #56687f;
+				flex-grow: 1;
+				text {
+					color: #ff1e00;
+				}
+			}
+
+			.btm-btn {
+				width: 126rpx;
+				height: 48rpx;
+				line-height: 48rpx;
+				background: #ebccae;
+				border-radius: 10rpx;
+				font-size: 24rpx;
+				font-weight: 400;
+				text-align: center;
+			}
+			.btm-btn-sm {
+		
+				background: #4D74CF;
+				margin-left: 10rpx;
+				color: #fff;
+			}
+			.btm-btn-lx {
+				background-color: #fff;
+				border: 1px solid #65676A;
+				color: #56585C;
+			}
+
+		}
+
+		.add-dd {
+			position: absolute;
+			bottom: 90rpx;
+			right: 20rpx;
+			width: 110rpx;
+			height: 100rpx;
+			font-size: 24rpx;
+			font-weight: 500;
+			color: #FF5600;
+			text-align: center;
+
+			image {
+				display: block;
+				margin: auto;
+				width: 36rpx;
+				height: 45rpx;
+			}
+
+		}
+	}
+</style>

+ 33 - 0
pagesS/order/orderinfo.vue

@@ -0,0 +1,33 @@
+<template>
+	<view class="content">
+		
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			}
+		},
+		onLoad(opt) {
+	
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			
+		},
+		methods: {
+		}
+	}
+</script>
+
+<style lang="scss">
+
+</style>

+ 334 - 0
pagesS/yg/dkdetail.vue

@@ -0,0 +1,334 @@
+<template>
+	<view class="content">
+		<view class="select-top">
+			<view class="">
+				本月统计
+			</view>
+			<view class="top-right">
+				<view class="">
+					{{showdate}}月
+				</view>
+				<!-- <image src="../../static/img/downxia.png" mode=""></image> -->
+			</view>
+		</view>
+		<view class="dk-info">
+			<view class="dk-day big">
+				<view class="dk-left">
+					20
+				</view>
+				<view class="dk-center">
+					/
+				</view>
+				<view class="dk-right err">
+					20
+				</view>
+			</view>
+			<view class="dk-tit">
+				<view class="dk-left">
+					正常天数
+				</view>
+				<view class="dk-center">
+					/
+				</view>
+				<view class="dk-right">
+					异常天数
+				</view>
+			</view>
+			<view class="dk-detail">
+				<view class="detail-item green">
+					<view class="">
+						20
+					</view>
+					<view class="item-tit">
+						已打卡(次)
+					</view>
+				</view>
+				<view class="detail-item">
+					<view class="">
+						20
+					</view>
+					<view class="item-tit">
+						未打卡(次)
+					</view>
+				</view>
+				<view class="detail-item">
+					<view class="err">
+						20
+					</view>
+					<view class="item-tit">
+						迟到(次)
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view scroll-y="true" class="yg-list" :style="{'height': height}">
+			<template  v-for="item in list">
+				<view class="yg-wrap">
+					<view class="yg-name">
+						{{item.name}}
+					</view>
+					<view class="dk-status" :class="{'err': item.qknum > 0 }" @click="openDetail(item)">
+						{{item.qknum > 0 ? `缺卡${item.qknum}次`: '正常'}}<image :src="item.open? '../../static/img/downup.png': '../../static/img/downxia.png' " mode="" ></image>
+					</view>
+				</view>
+				<view class="info-info" v-if="item.open">
+					<view class="base-left">
+						<view class="">
+							08:30
+						</view>
+						<view class="jg">
+							
+						</view>
+						<view class="">
+							17:30
+						</view>
+					</view>
+					<view class="base-right">
+						<view class="right-item up">
+							<view class="item-tit">
+								上班
+							</view>
+							<view class="">
+								考勤机下班打卡(17:02)
+							</view>
+						</view>
+						<view class="right-item">
+							<view class="item-tit">
+								下班
+							</view>
+							<view class="">
+								考勤机下班打卡(17:02)
+							</view>
+						</view>
+					</view>
+				</view>
+			</template>
+			
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				showdate: new Date().getMonth() + 1,
+				height: '',
+				list: [
+					{
+						id: 1,
+						name: '狗强',
+						sstatus: 0,
+						xstatus: 0,
+						open: false,
+						qknum: 0,
+					},
+					{
+						id: 1,
+						name: '狗虎',
+						sstatus: 1,
+						xstatus: 1,
+						qknum: 2,
+						open: false,
+					}
+				]
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.yg-list').boundingClientRect();
+					query.exec(function(res) {
+						obj.height = resu.windowHeight - res[0].top + 'px';
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			openDetail(item) {
+				item.open = !item.open
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.err {
+		color: #E05742;
+	}
+	.select-top {
+		width: 100%;
+		height: 100rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		border: 1px solid #F5F5F5;
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #000000;
+		padding: 0 30rpx;
+		background-color: #fff;
+
+		.top-right {
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+
+			image {
+				width: 19rpx;
+				height: 11rpx;
+			}
+		}
+	}
+
+	.dk-info {
+		height: 326rpx;
+		width: 100%;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		background-color: #fff;
+		margin-bottom: 20rpx;
+		.big {
+			font-size: 46rpx !important;
+			font-weight: 800;
+			color: #000000;
+			margin-bottom: 10rpx;
+		}
+
+		
+
+		.dk-day,
+		.dk-tit {
+			display: flex;
+			flex-direction: row;
+			justify-content: center;
+			width: 100%;
+			font-size: 26rpx;
+
+			.dk-left {
+				width: 48%;
+				text-align: right;
+			}
+
+			.dk-center {
+				width: 4%;
+				flex-shrink: 0;
+				text-align: center;
+				color: #D7D7D7;
+
+			}
+
+			.dk-right {
+				width: 48%;
+			}
+		}
+
+		.dk-detail {
+			display: flex;
+			justify-content: center;
+			width: 100%;
+			margin-top: 50rpx;
+
+			.detail-item {
+				width: 30%;
+				text-align: center;
+				font-size: 28rpx;
+				font-weight: bold;
+				color: #000000;
+
+				.item-tit {
+					margin-top: 15rpx;
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+		}
+	}
+	.yg-list {
+		background-color: #fff;
+		width: 100%;
+		.yg-wrap {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 0 40rpx 0 30rpx;
+			height: 100rpx;
+			border-bottom: 1px solid #F2F2F2;
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+			.yg-name {
+				
+			}
+			.dk-status {
+				display: flex;
+				align-items: center;
+				image {
+					width: 19rpx;
+					height: 11rpx;
+					margin-left: 10rpx;
+				}
+			}
+		}
+	}
+	.info-info {
+		width:100%;
+		height: 267rpx;
+		background-color: #f8f8f8;
+		display: flex;
+		.base-left {
+			flex-shrink: 0;
+			width: 180rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			font-size: 30rpx;
+			font-weight: 800;
+			color: #000000;
+			.jg {
+				width: 5rpx;
+				height: 75rpx;
+				background: #ECECEC;
+				margin: 20rpx 0;
+			}
+		}
+		.base-right {
+			flex-grow: 1;
+			width: 100%;
+			.up {
+				border-bottom: 1px solid #E4E4E4;
+			}
+			.right-item {
+				height: 50%;
+				padding-top: 30rpx;
+				font-size: 26rpx;
+				font-weight: 500;
+				.item-tit {
+					font-size: 30rpx;
+					font-weight: 800;
+				}
+			}
+		}
+	}
+</style>

+ 242 - 0
pagesS/yg/dklist.vue

@@ -0,0 +1,242 @@
+<template>
+	<view class="content">
+		<view class="select-top">
+			<view class="">
+				本月统计
+			</view>
+			<view class="top-right">
+				<view class="">
+					{{showdate}}月
+				</view>
+				<!-- <image src="../../static/img/downxia.png" mode=""></image> -->
+			</view>
+		</view>
+		<view class="dk-info">
+			<view class="dk-day big">
+				<view class="dk-left">
+					20
+				</view>
+				<view class="dk-center">
+					/
+				</view>
+				<view class="dk-right err">
+					20
+				</view>
+			</view>
+			<view class="dk-tit">
+				<view class="dk-left">
+					正常天数
+				</view>
+				<view class="dk-center">
+					/
+				</view>
+				<view class="dk-right">
+					异常天数
+				</view>
+			</view>
+			<view class="dk-detail">
+				<view class="detail-item green">
+					<view class="">
+						20
+					</view>
+					<view class="item-tit">
+						已打卡(次)
+					</view>
+				</view>
+				<view class="detail-item">
+					<view class="">
+						20
+					</view>
+					<view class="item-tit">
+						未打卡(次)
+					</view>
+				</view>
+				<view class="detail-item">
+					<view class="err">
+						20
+					</view>
+					<view class="item-tit">
+						迟到(次)
+					</view>
+				</view>
+			</view>
+		</view>
+		<scroll-view scroll-y="true" class="yg-list" :style="{'height': height}">
+			<view class="yg-wrap" v-for="item in 20">
+				<view class="yg-name">
+					李丹丹
+				</view>
+				<view class="dk-status" @click="goDetail()">
+					正常<image src="../../static/img/downright.png" mode=""></image>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				showdate: new Date().getMonth() + 1,
+				height: '',
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.yg-list').boundingClientRect();
+					query.exec(function(res) {
+						obj.height = resu.windowHeight - res[0].top + 'px';
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			goDetail() {
+				uni.navigateTo({
+					url: '/pagesS/yg/dkdetail'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.select-top {
+		width: 100%;
+		height: 100rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		border: 1px solid #F5F5F5;
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #000000;
+		padding: 0 30rpx;
+		background-color: #fff;
+
+		.top-right {
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+
+			image {
+				width: 19rpx;
+				height: 11rpx;
+			}
+		}
+	}
+
+	.dk-info {
+		height: 326rpx;
+		width: 100%;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		background-color: #fff;
+		margin-bottom: 20rpx;
+		.big {
+			font-size: 46rpx !important;
+			font-weight: 800;
+			color: #000000;
+			margin-bottom: 10rpx;
+		}
+
+		.err {
+			color: #E05742;
+		}
+
+		.dk-day,
+		.dk-tit {
+			display: flex;
+			flex-direction: row;
+			justify-content: center;
+			width: 100%;
+			font-size: 26rpx;
+
+			.dk-left {
+				width: 48%;
+				text-align: right;
+			}
+
+			.dk-center {
+				width: 4%;
+				flex-shrink: 0;
+				text-align: center;
+				color: #D7D7D7;
+
+			}
+
+			.dk-right {
+				width: 48%;
+			}
+		}
+
+		.dk-detail {
+			display: flex;
+			justify-content: center;
+			width: 100%;
+			margin-top: 50rpx;
+
+			.detail-item {
+				width: 30%;
+				text-align: center;
+				font-size: 28rpx;
+				font-weight: bold;
+				color: #000000;
+
+				.item-tit {
+					margin-top: 15rpx;
+					font-size: 24rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+		}
+	}
+	.yg-list {
+		background-color: #fff;
+		width: 100%;
+		.yg-wrap {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 0 40rpx 0 30rpx;
+			height: 100rpx;
+			border-bottom: 1px solid #F2F2F2;
+			font-size: 28rpx;
+			font-weight: bold;
+			color: #000000;
+			.yg-name {
+				
+			}
+			.dk-status {
+				display: flex;
+				align-items: center;
+				image {
+					width: 11rpx;
+					height: 19rpx;
+					margin-left: 10rpx;
+				}
+			}
+		}
+	}
+</style>

+ 139 - 0
pagesS/yg/fcxq.vue

@@ -0,0 +1,139 @@
+<template>
+	<view class="content">
+		<view class="order-item" v-for="(item, index) in list" :key="index">
+			<image src="" mode="" class="logo"></image>
+			<view class="title-box">
+				<view class="title clamp2">
+					<!-- <text>{{ item.mark }}</text> -->
+					全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+					全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+				</view>
+				<view class="time">
+					<!-- <text>{{ item.create_time }}</text> -->
+					458.0
+				</view>
+			</view>
+			<view class="money" @click="goPage('/pagesS/yg/fcxq')">
+				分成:<view>{{ 1 }}</view>
+			</view>
+		</view>
+		<u-loadmore :status="loadingType" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				loadingType: 'loadmore',
+				list: 9,
+				page: 1,
+				limit: 10
+			}
+		},
+		onLoad(opt) {
+
+		},
+		onShow() {
+			// this.getData()
+		},
+		onReachBottom() {
+			// this.getData()
+		},
+		onReady() {
+
+		},
+		methods: {
+			getData() {
+				let that = this
+				if (that.loadingType == 'nomore' || that.loadingType == 'loading') {
+					return
+				}
+				that.loadingType = 'loading'
+				getFc({
+
+				}).then(res => {
+
+
+					that.page++
+					if (that.limit == res.data.list.length) {
+						that.loadingType = 'loadmore'
+					} else {
+						that.loadingType = 'nomore'
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.order-item {
+		height: 207rpx;
+		width: 100%;
+		background-color: #fff;
+		padding: 30rpx 30rpx;
+		line-height: 1.5;
+		display: flex;
+		align-items: center;
+		border-bottom: 1rpx solid #F0F0F0;
+
+		.logo {
+			flex-shrink: 0;
+			margin-right: 20rpx;
+			width: 147rpx;
+			height: 147rpx;
+			border-radius: 20rpx;
+			background-color: #eee;
+		}
+
+		.title-box {
+			height: 100%;
+			flex-grow: 1;
+			padding-right: 50rpx;
+			display: flex;
+			flex-direction: column;
+			justify-content: space-between;
+			align-items: flex-start;
+
+			.title {
+				font-size: 30rpx;
+				color: #333333;
+			}
+
+			.time {
+				font-size: 36rpx;
+				font-weight: bold;
+				color: #E02020;
+
+				&::before {
+					content: '¥';
+					font-size: 24rpx;
+				}
+			}
+		}
+
+		.money {
+			flex-shrink: 0;
+			padding: 8rpx 12rpx;
+			background: #FEE1D7;
+			border-radius: 5px;
+			color: #fd5b23;
+			font-size: 26rpx;
+			text-align: right;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+
+			image {
+				width: 10rpx;
+				height: 20rpx;
+				margin-left: 15rpx;
+			}
+
+			.status {
+				color: #AEAEAE;
+			}
+		}
+	}
+</style>

+ 370 - 0
pagesS/yg/gqdetail.vue

@@ -0,0 +1,370 @@
+<template>
+	<view class="content">
+		<view class="user-top">
+			<!-- <view class="select-time">
+				<picker mode="date" @change="bindDateChange" fields="month">
+					<view class="uni-input">{{showdate}}</view>
+				</picker>
+				<image src="../../static/img/downjian.png" mode="widthFix"></image>
+			</view> -->
+			<view class="top-val">
+				300
+			</view>
+			<view class="top-tit">
+				当前股权
+			</view>
+			<view class="top-btn">
+				<view class="left">
+					
+				</view>
+				<view class="center">
+					
+				</view>
+				<view class="right" @click="goPage('/pagesS/yg/gqtx')">
+					股权提现
+				</view>
+			</view>
+		</view>
+		<view class="sz-wrap">
+			<view class="sz-item">
+				<view class="sz-tit">
+					累计总股权
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+			<view class="jg"></view>
+			<view class="sz-item">
+				<view class="sz-tit">
+					业绩股权
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item" v-for="(item, index) in tabItem.list" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<!-- <text>{{ item.mark }}</text> -->
+								全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+							</view>
+							<view class="time">
+								<!-- <text>{{ item.create_time }}</text> -->
+								2022-12-1 09:30
+							</view>
+						</view>
+						<view class="money">
+							<!-- <view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view> -->
+							+200
+						</view>
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// showdate: '',
+				tabCurrentIndex: 0,
+				height: '',
+				id: '',
+				navlist: [{
+						status: 0,
+						title: '收入',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '扣除',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+			if (opt.id) {
+				this.id = opt.id
+			}
+			if (opt.name) {
+				uni.setNavigationBarTitle({
+					title: opt.name + '的工资'
+				})
+			}
+			// this.getTime()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				this.loadData('tab')
+			},
+			// 选择年月
+			bindDateChange(e) {
+				let time = e.detail.value.split('-')
+				this.showdate = time[0] + '年' + time[1] + '月'
+
+				this.loadData('reload')
+			},
+			// 获取当前年月
+			// getTime() {
+			// 	let date = new Date()
+			// 	this.showdate = date.getFullYear() + '年' + (date.getMonth() + 1) + '月'
+			// 	this.loadData()
+			// },
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.user-top {
+		width: 100%;
+		height: 400rpx;
+		background-color: #4075d6;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		padding-bottom: 60rpx;
+
+		// position: relative;
+		.top-tit {
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+		}
+
+		.top-val {
+			font-size: 72rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+
+		.select-time {
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #fff;
+			display: flex;
+			align-items: center;
+
+			image {
+				width: 17rpx;
+				margin-left: 10rpx;
+			}
+		}
+		.top-btn {
+			margin-top: 20rpx;
+			width: 100%;
+			display: flex;
+			justify-content: space-between;
+			padding: 0 50rpx;
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+			.right {
+				text-align: right;
+			}
+			.left {
+				text-align: left;
+			}
+			.center {
+				text-align: center;
+			}
+			view {
+				width: 33.3%;
+			}
+		}
+	}
+
+	.sz-wrap {
+		width: 670rpx;
+		height: 186rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -90rpx auto 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.jg {
+			width: 2rpx;
+			height: 74rpx;
+			background: #DCDFE6;
+		}
+
+		.sz-item {
+			width: 330rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: 30rpx;
+			font-weight: bold;
+
+			.sz-tit {
+				color: #999999;
+
+			}
+
+			.sz-val {
+				margin-top: 30rpx;
+				color: #181818;
+			}
+		}
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			width: 100%;
+			// background-color: red;
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+			display: flex;
+			align-items: center;
+
+			.title-box {
+				flex-grow: 1;
+				padding-right: 50rpx;
+
+				.title {
+					font-size: 30rpx;
+					color: #333333;
+				}
+
+				.time {
+					font-size: 26rpx;
+					color: #AEAEAE;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: 26rpx;
+				text-align: right;
+
+				.status {
+					color: #AEAEAE;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+</style>

+ 110 - 0
pagesS/yg/gqtx.vue

@@ -0,0 +1,110 @@
+<template>
+	<view class="content">
+		<view class="tx-wrap">
+			<view class="tx-tit">
+				提现股权
+			</view>
+			<input type="digit" v-model="txnum" placeholder="请输入提现股权" class="tx-inp" placeholder-class="tx-inp-p">
+			<view class="gq-detail">
+				<view class="">
+					可提现: (股权)
+				</view>
+				<view class="right" @click="">
+					全部提现
+				</view>
+			</view>
+			<view class="tx-btn" @click="gqtx">
+				提现
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+txnum: ''
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+			gqtx() {
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		padding-top: 1rpx;
+	}
+	.tx-wrap {
+		width: 700rpx;
+		// height: 420rpx;
+		padding: 20rpx 0 50rpx 0;
+		margin: 19rpx auto;
+		background-color: #fff;
+		border-radius: 20rpx;
+		// display: flex;
+		// flex-direction: color;
+		.tx-tit {
+			margin: auto;
+			width: 660rpx;
+			font-size: 32rpx;
+			color: #333;
+			font-weight: bold;
+			border-bottom: 1px solid #eee;
+			line-height: 87rpx;
+		}
+		.tx-inp {
+			display: block;
+			width: 660rpx;
+			height: 114rpx;
+			font-size: 56rpx;
+			font-weight: bold;
+			color: #000;
+			// padding-left: 20rpx;
+			border-bottom: 1rpx solid #eee;
+			margin: auto;
+		}
+		.tx-inp-p {
+			font-size: 36rpx;
+		}
+		.gq-detail {
+			display: flex;
+			justify-content: space-between;
+			padding:20rpx;
+			font-size: 28rpx;
+			.left {
+				
+			}
+			.right {
+				color: #d74f3a;
+			}
+		}
+		.tx-btn {
+			width: 660rpx;
+			height: 70rpx;
+			line-height: 70rpx;
+			background-color: #ec643e;
+			color: #fff;
+			font-size: 32rpx;
+			text-align: center;
+			margin: 30rpx auto 0;
+			border-radius: 35rpx;
+		}
+	}
+</style>

+ 339 - 0
pagesS/yg/gzdetail.vue

@@ -0,0 +1,339 @@
+<template>
+	<view class="content">
+		<view class="user-top">
+			<view class="select-time">
+				<picker mode="date" @change="bindDateChange" fields="month">
+					<view class="uni-input">{{showdate}}</view>
+				</picker>
+				<image src="../../static/img/downjian.png" mode="widthFix"></image>
+			</view>
+			<view class="top-val">
+				300
+			</view>
+			<view class="top-tit">
+				本月收入
+			</view>
+		</view>
+		<view class="sz-wrap">
+			<view class="sz-item">
+				<view class="sz-tit">
+					上月收入
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+			<view class="jg">
+
+			</view>
+			<view class="sz-item">
+				<view class="sz-tit">
+					累计收入
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData" :style="{ height: height }">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item" v-for="(item, index) in tabItem.list" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<!-- <text>{{ item.mark }}</text> -->
+								全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+							</view>
+							<view class="time">
+								<!-- <text>{{ item.create_time }}</text> -->
+								2022-12-1 09:30
+							</view>
+						</view>
+						<view class="money">
+							<!-- <view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view> -->
+							+200
+						</view>
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				showdate: '',
+				tabCurrentIndex: 0,
+				height: '',
+				id: '',
+				navlist: [{
+						status: 0,
+						title: '收入',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '扣除',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+			if (opt.id) {
+				this.id = opt.id
+			}
+			if (opt.name) {
+				uni.setNavigationBarTitle({
+					title: opt.name + '的工资'
+				})
+			}
+			this.getTime()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				this.loadData('tab')
+			},
+			// 选择年月
+			bindDateChange(e) {
+				let time = e.detail.value.split('-')
+				this.showdate = time[0] + '年' + time[1] + '月'
+
+				this.loadData('reload')
+			},
+			// 获取当前年月
+			getTime() {
+				let date = new Date()
+				this.showdate = date.getFullYear() + '年' + (date.getMonth() + 1) + '月'
+				this.loadData()
+			},
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.user-top {
+		width: 100%;
+		height: 400rpx;
+		background-color: #4075d6;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		padding-bottom: 60rpx;
+
+		// position: relative;
+		.top-tit {
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+		}
+
+		.top-val {
+			font-size: 72rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+
+		.select-time {
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #fff;
+			display: flex;
+			align-items: center;
+
+			image {
+				width: 17rpx;
+				margin-left: 10rpx;
+			}
+		}
+	}
+
+	.sz-wrap {
+		width: 670rpx;
+		height: 186rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -90rpx auto 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.jg {
+			width: 2rpx;
+			height: 74rpx;
+			background: #DCDFE6;
+		}
+
+		.sz-item {
+			width: 330rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: 30rpx;
+			font-weight: bold;
+
+			.sz-tit {
+				color: #999999;
+
+			}
+
+			.sz-val {
+				margin-top: 30rpx;
+				color: #181818;
+			}
+		}
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			width: 100%;
+			// background-color: red;
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+			display: flex;
+			align-items: center;
+
+			.title-box {
+				flex-grow: 1;
+				padding-right: 50rpx;
+
+				.title {
+					font-size: 30rpx;
+					color: #333333;
+				}
+
+				.time {
+					font-size: 26rpx;
+					color: #AEAEAE;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: 26rpx;
+				text-align: right;
+
+				.status {
+					color: #AEAEAE;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+</style>

+ 219 - 0
pagesS/yg/gztq.vue

@@ -0,0 +1,219 @@
+<template>
+	<view class="content">
+
+		<view class="row top">
+			<view class="tit">
+				可提现金额
+			</view>
+			<view class="input price">
+				1000.10
+			</view>
+		</view>
+
+		<view class="row top">
+			<view class="tit">
+				提现到
+			</view>
+			<view class="select-time">
+				<picker mode="selector" @change="bindTypeChange" fields="month" :range="typeList" range-key="name">
+					<view class="input" style="min-width: 400rpx;text-align: right;">{{typename}}</view>
+				</picker>
+			</view>
+		</view>
+		<view class="top row">
+			<view class="tit">
+				申请提现金额
+			</view>
+			<input class="input price" type="digit" v-model="txnum" placeholder="请输入金额" placeholder-class="placeholder" />
+		</view>
+		<view class="gq-detail">
+			<view class="">
+				<!-- 可提现: (股权) -->
+			</view>
+			<view class="right" @click="">
+				全部提现
+			</view>
+		</view>
+		<view class="" style="height: 20rpx;background-color: #f7f7f7;"></view>
+		<view class="row" v-if="type == 'alipay'">
+			<text class="tit">姓名</text>
+			<input class="input" type="text" v-model="ali_people" placeholder="请输入支付宝姓名"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row" v-if="type == 'alipay'">
+			<text class="tit">支付宝账号</text>
+			<input class="input" type="text" v-model="alipay_code" placeholder="请输入支付宝账号"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row" v-if="type == 'bank'">
+			<text class="tit">姓名</text>
+			<input class="input" type="text" v-model="bank_people" placeholder="请输入银行卡姓名"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="row" v-if="type == 'bank'">
+			<text class="tit">银行卡号</text>
+			<input class="input" type="text" v-model="bank_code" placeholder="请输入银行卡号"
+				placeholder-class="placeholder" />
+		</view>
+
+		<view class="row" v-if="type == 'bank'">
+			<text class="tit">手机号</text>
+			<input class="input" type="text" v-model="phone" placeholder="请输入银行卡姓名" placeholder-class="placeholder" />
+		</view>
+		<view class="row" v-if="type == 'bank'">
+			<text class="tit">所属银行</text>
+			<input class="input" type="text" v-model="bank_name" placeholder="请输入所属银行"
+				placeholder-class="placeholder" />
+		</view>
+		<view class="sub-btn">
+			提交申请
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				typename: '银行卡',
+				typeList: [{
+						state: 'bank',
+						name: '银行卡'
+					},
+					{
+						state: 'alipay',
+						name: '支付宝'
+					}
+				],
+				txnum: '',
+				ali_people: '',
+				loading: false,
+				phone: '',
+				weixin_no: '',
+				type: 'bank', //提现方式
+				money: '0.00', //可提现金额
+				freeze: '0.0', //冻结金额
+				withdrawal: '', //提现金额
+				minPrice: '', //最少提现金额
+				aliData: {},
+				bankData: {},
+				weixin: {},
+				alipay_code: '',
+				alipay_name: '',
+				bank_code: '',
+				bank_people: '',
+				bank_name: '',
+				bank_belonging: '',
+				jftype: 0,
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+			bindTypeChange(e) {
+				let index = e.detail.value
+
+				this.typename = this.typeList[index].name
+				this.type = this.typeList[index].state
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		height: auto;
+		min-height: 100%;
+		background-color: #fff;
+	}
+
+	.row {
+		margin: auto;
+		width: 710rpx;
+		height: 90rpx;
+		display: flex;
+		justify-content: space-between;
+		padding: 0 20rpx;
+		border-bottom: 1rpx solid #eeee;
+		background-color: #fff;
+		align-items: center;
+		font-size: 28rpx;
+		color: #000;
+
+		.tit {
+			width: 200rpx;
+			flex-shrink: 0;
+		}
+
+		.input {
+			flex-grow: 1;
+			font-size: 28rpx;
+			font-weight: bold;
+		}
+
+		.placeholder {
+			font-size: 28rpx;
+			color: #999;
+		}
+	}
+
+	.sub-btn {
+		width: 670rpx;
+		line-height: 88rpx;
+		background: #FF4C4C;
+		border-radius: 10rpx;
+		text-align: center;
+		font-size: 32rpx;
+		font-weight: 500;
+		color: #FFFFFF;
+		margin: 120rpx auto 0;
+	}
+
+	.top {
+		height: 110rpx;
+
+		.tit {
+			font-size: 32rpx;
+			font-weight: 500;
+			color: #333333;
+		}
+
+		.price {
+			font-size: 48rpx;
+			font-weight: bold;
+			color: #333333;
+			text-align: right;
+		}
+		input {
+			font-size: 42rpx;
+			font-weight: 500;
+		}
+
+		.placeholder {
+			font-size: 32rpx;
+			font-weight: 500;
+		}
+	}
+	.gq-detail {
+		display: flex;
+		justify-content: space-between;
+		padding:20rpx 40rpx;
+		font-size: 28rpx;
+		.left {
+			
+		}
+		.right {
+			color: #d74f3a;
+		}
+	}
+</style>

+ 370 - 0
pagesS/yg/gztx.vue

@@ -0,0 +1,370 @@
+<template>
+	<view class="content">
+		<view class="user-top">
+			<!-- <view class="select-time">
+				<picker mode="date" @change="bindDateChange" fields="month">
+					<view class="uni-input">{{showdate}}</view>
+				</picker>
+				<image src="../../static/img/downjian.png" mode="widthFix"></image>
+			</view> -->
+			<view class="top-val">
+				300
+			</view>
+			<view class="top-tit">
+				当前余额
+			</view>
+			<view class="top-btn">
+				<view class="left">
+					
+				</view>
+				<view class="center">
+					
+				</view>
+				<view class="right" @click="goPage('/pagesS/yg/gztq')">
+					工资提现
+				</view>
+			</view>
+		</view>
+		<view class="sz-wrap">
+			<view class="sz-item">
+				<view class="sz-tit">
+					累计收入
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+			<view class="jg"></view>
+			<view class="sz-item">
+				<view class="sz-tit">
+					累计提现
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+		</view>
+		<view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view>
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item" v-for="(item, index) in tabItem.list" :key="index">
+						<view class="title-box">
+							<view class="title">
+								<!-- <text>{{ item.mark }}</text> -->
+								全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+							</view>
+							<view class="time">
+								<!-- <text>{{ item.create_time }}</text> -->
+								2022-12-1 09:30
+							</view>
+						</view>
+						<view class="money">
+							<!-- <view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view> -->
+							+200
+						</view>
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// showdate: '',
+				tabCurrentIndex: 0,
+				height: '',
+				id: '',
+				navlist: [{
+						status: 0,
+						title: '收入',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '扣除',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+			if (opt.id) {
+				this.id = opt.id
+			}
+			if (opt.name) {
+				uni.setNavigationBarTitle({
+					title: opt.name + '的工资'
+				})
+			}
+			// this.getTime()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				this.loadData('tab')
+			},
+			// 选择年月
+			bindDateChange(e) {
+				let time = e.detail.value.split('-')
+				this.showdate = time[0] + '年' + time[1] + '月'
+
+				this.loadData('reload')
+			},
+			// 获取当前年月
+			// getTime() {
+			// 	let date = new Date()
+			// 	this.showdate = date.getFullYear() + '年' + (date.getMonth() + 1) + '月'
+			// 	this.loadData()
+			// },
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.user-top {
+		width: 100%;
+		height: 400rpx;
+		background-color: #4075d6;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		padding-bottom: 60rpx;
+
+		// position: relative;
+		.top-tit {
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+		}
+
+		.top-val {
+			font-size: 72rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+
+		.select-time {
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #fff;
+			display: flex;
+			align-items: center;
+
+			image {
+				width: 17rpx;
+				margin-left: 10rpx;
+			}
+		}
+		.top-btn {
+			margin-top: 20rpx;
+			width: 100%;
+			display: flex;
+			justify-content: space-between;
+			padding: 0 50rpx;
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+			.right {
+				text-align: right;
+			}
+			.left {
+				text-align: left;
+			}
+			.center {
+				text-align: center;
+			}
+			view {
+				width: 33.3%;
+			}
+		}
+	}
+
+	.sz-wrap {
+		width: 670rpx;
+		height: 186rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -90rpx auto 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.jg {
+			width: 2rpx;
+			height: 74rpx;
+			background: #DCDFE6;
+		}
+
+		.sz-item {
+			width: 330rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: 30rpx;
+			font-weight: bold;
+
+			.sz-tit {
+				color: #999999;
+
+			}
+
+			.sz-val {
+				margin-top: 30rpx;
+				color: #181818;
+			}
+		}
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			width: 100%;
+			// background-color: red;
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+			display: flex;
+			align-items: center;
+
+			.title-box {
+				flex-grow: 1;
+				padding-right: 50rpx;
+
+				.title {
+					font-size: 30rpx;
+					color: #333333;
+				}
+
+				.time {
+					font-size: 26rpx;
+					color: #AEAEAE;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				font-size: 26rpx;
+				text-align: right;
+
+				.status {
+					color: #AEAEAE;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+</style>

+ 358 - 0
pagesS/yg/myteam.vue

@@ -0,0 +1,358 @@
+<template>
+	<view class="content">
+		<view class="user-top">
+			<!-- <view class="select-time">
+				<picker mode="date" @change="bindDateChange" fields="month">
+					<view class="uni-input">{{showdate}}</view>
+				</picker>
+				<image src="../../static/img/downjian.png" mode="widthFix"></image>
+			</view> -->
+			<view class="top-val">
+				300
+			</view>
+			<view class="top-tit">
+				转介绍人数
+			</view>
+		</view>
+		<!-- <view class="sz-wrap">
+			<view class="sz-item">
+				<view class="sz-tit">
+					上月收入
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+			<view class="jg">
+
+			</view>
+			<view class="sz-item">
+				<view class="sz-tit">
+					累计收入
+				</view>
+				<view class="sz-val">
+					200
+				</view>
+			</view>
+		</view> -->
+		<!-- <view class="navbar">
+			<view v-for="(item, index) in navlist" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
+		</view> -->
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" disable-touch>
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navlist" :key="tabIndex">
+				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<u-empty text="暂无数据" mode="list" v-if="tabItem.loaded && tabItem.list.length == 0"></u-empty>
+
+					<!-- 订单列表 -->
+					<view class="order-item" v-for="(item, index) in tabItem.list" :key="index">
+						<image src="" mode="" class="logo"></image>
+						<view class="title-box">
+							<view class="title">
+								<!-- <text>{{ item.mark }}</text> -->
+								全勤奖励全勤奖励全勤奖励全勤奖励全勤奖励全勤
+							</view>
+							<view class="time">
+								<!-- <text>{{ item.create_time }}</text> -->
+								2022-12-1 09:30
+							</view>
+						</view>
+						<view class="money" @click="goPage('/pagesS/yg/fcxq')">
+							<view>{{ (item.pm == 0 ? '-' : '+') + 1500 }}</view>
+							<image src="../../static/img/downright.png" mode=""></image>
+						</view>
+					</view>
+					<u-loadmore :status="tabItem.loadingType" />
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				showdate: '',
+				tabCurrentIndex: 0,
+				height: '',
+				id: '',
+				navlist: [{
+						status: 0,
+						title: '收入',
+						list: 9,
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					},
+					{
+						status: 1,
+						title: '扣除',
+						list: [],
+						page: 1,
+						limit: 10,
+						loaded: false,
+						loadingType: 'loadmore'
+					}
+				]
+			}
+		},
+		onLoad(opt) {
+			if (opt.id) {
+				this.id = opt.id
+			}
+			if (opt.name) {
+				uni.setNavigationBarTitle({
+					title: opt.name + '的工资'
+				})
+			}
+			this.getTime()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+				this.loadData('tab')
+			},
+			// 选择年月
+			bindDateChange(e) {
+				let time = e.detail.value.split('-')
+				this.showdate = time[0] + '年' + time[1] + '月'
+
+				this.loadData('reload')
+			},
+			// 获取当前年月
+			getTime() {
+				let date = new Date()
+				this.showdate = date.getFullYear() + '年' + (date.getMonth() + 1) + '月'
+				this.loadData()
+			},
+			// 获取数据
+			loadData(type) {
+				let that = this
+				let index = that.tabCurrentIndex
+				let item = that.navlist[index]
+				if (type == 'reload') {
+					item.loaded = false
+					item.loadingType = 'more'
+					item.page = 1
+					item.list = []
+				}
+				if (type == 'tab' && item.loaded) {
+					return
+				}
+				if (item.loadingType == 'loading' || item.loadingType == 'noMore') {
+					return
+				}
+
+				item.loadingType = 'loading'
+
+
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.user-top {
+		width: 100%;
+		height: 400rpx;
+		background-color: #4075d6;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		padding-bottom: 60rpx;
+
+		// position: relative;
+		.top-tit {
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #FFFFFF;
+		}
+
+		.top-val {
+			font-size: 72rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+
+		.select-time {
+			position: absolute;
+			top: 30rpx;
+			right: 30rpx;
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #fff;
+			display: flex;
+			align-items: center;
+
+			image {
+				width: 17rpx;
+				margin-left: 10rpx;
+			}
+		}
+	}
+
+	.sz-wrap {
+		width: 670rpx;
+		height: 186rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -90rpx auto 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+
+		.jg {
+			width: 2rpx;
+			height: 74rpx;
+			background: #DCDFE6;
+		}
+
+		.sz-item {
+			width: 330rpx;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: center;
+			font-size: 30rpx;
+			font-weight: bold;
+
+			.sz-tit {
+				color: #999999;
+
+			}
+
+			.sz-val {
+				margin-top: 30rpx;
+				color: #181818;
+			}
+		}
+	}
+
+	.navbar {
+		margin-top: 20rpx;
+		display: flex;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
+			}
+		}
+	}
+
+	//列表
+	.swiper-box {
+		margin-top: 20rpx;
+		padding: 0 20rpx;
+		background-color: #fff;
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+		.order-item {
+			width: 100%;
+			// background-color: red;
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+			display: flex;
+			align-items: center;
+			border-bottom: 1rpx solid #F0F0F0;
+			.logo {
+				flex-shrink: 0;
+				margin-right: 20rpx;
+				width: 80rpx;
+				height: 80rpx;
+				border-radius: 50%;
+				background-color: #eee;
+			}
+			.title-box {
+				flex-grow: 1;
+				padding-right: 50rpx;
+
+				.title {
+					font-size: 30rpx;
+					color: #333333;
+				}
+
+				.time {
+					font-size: 26rpx;
+					color: #AEAEAE;
+				}
+			}
+
+			.money {
+				color: #fd5b23;
+				min-width: 150rpx;
+				font-size: 26rpx;
+				text-align: right;
+				display: flex;
+				align-items: center;
+				justify-content: flex-end;
+				image {
+					width: 10rpx;
+					height: 20rpx;
+					margin-left: 15rpx;
+				}
+				.status {
+					color: #AEAEAE;
+				}
+			}
+		}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+</style>

+ 272 - 0
pagesS/yg/ygdetail.vue

@@ -0,0 +1,272 @@
+<template>
+	<view class="content">
+		<view class="yg-top">
+			<image src="" mode="" class="yg-img"></image>
+			<view class="yg-name">
+				李丹丹
+			</view>
+			<view class="star-wrap">
+				<u-icon name="star-fill" color="#F3BE69" v-for="item in star*1" class="start" size="20rpx"></u-icon>
+				<u-icon name="star-fill" color="#eee" v-for="itemt in (5-star*1)" class="start" size="20rpx"></u-icon>
+			</view>
+		</view>
+		<view class="yg-info">
+			<view class="info-line">
+				<view class="left-name">
+					<image src="" mode=""></image>
+					<view class="">
+						累计服务
+					</view>
+				</view>
+				<view class="info-val">
+					5595次
+				</view>
+
+			</view>
+			<view class="info-line">
+				<view class="left-name">
+					<image src="" mode=""></image>
+					<view class="">
+						从业年限
+					</view>
+				</view>
+				<view class="info-val">
+					2年
+				</view>
+
+			</view>
+			<view class="info-line" style="height: auto;border-bottom: none;">
+				<view class="left-name">
+					<image src="" mode=""></image>
+					<view class="">
+						员工简介
+					</view>
+				</view>
+				<view class="info-val" style="line-height: 1.5;padding-top: 20rpx;">
+					简介的详细内容,员工的服务介绍,优势说明简介。简
+					介的详细内容,员工的服务介绍,优势说明简介。简介的详细内容,员
+					工的服务介绍,优势说明简介。 简介的详细内容,员工的服务介绍,优势说明简介。简
+					介的详细内容,员工的服务介绍,优势说明简介。简介的详细内容,员
+					工的服务介绍,优势说明简介。
+				</view>
+			</view>
+
+		</view>
+		<view class="pj-tit">
+			服务评价
+		</view>
+		<scroll-view scroll-y="true" :style="{'height': height}" class="swiper-box">
+			<view class="pj-wrap" v-for="item in pjlist">
+				<view class="pj-user">
+					<view class="user-logo">
+						
+					</view>
+					<view class="user-info">
+						<view class="user-name">
+							李丹丹
+						</view>
+						<view class="star-wrap">
+							<u-icon name="star-fill" color="#E02E24" v-for="item in star*1" class="start" size="20rpx"></u-icon>
+							<u-icon name="star-fill" color="#999999" v-for="itemt in (5-star*1)" class="start" size="20rpx"></u-icon>
+						</view>
+					</view>
+					<view class="pj-time">
+						2022-07-06
+					</view>
+				</view>
+				<view class="pj-info">
+					服务很好!!!服务很好!!!服务很好!!!服务很好!!!
+					服务很好!!!
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				star: 3,
+				height: '',
+				pjlist: 10,
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff;
+
+	}
+
+	.yg-top {
+		height: 326rpx;
+		width: 100%;
+		// color: #262261;
+		background-color: #262261;
+		position: relative;
+
+		.yg-img {
+			position: absolute;
+			width: 120rpx;
+			height: 120rpx;
+			border-radius: 50%;
+			top: 96rpx;
+			left: 43rpx;
+			background-color: #eee;
+		}
+
+		.yg-name {
+			position: absolute;
+			font-size: 36rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			top: 115rpx;
+			left: 185rpx;
+		}
+
+		.star-wrap {
+			position: absolute;
+			top: 170rpx;
+			left: 185rpx;
+			display: flex;
+			justify-content: flex-start;
+
+			.start {
+				margin-right: 10rpx;
+			}
+		}
+	}
+
+	.yg-info {
+		margin: -78rpx auto 20rpx;
+		position: relative;
+		width: 694rpx;
+		padding-bottom: 10rpx;
+		// height: 299rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 10rpx;
+
+		.info-line {
+			border-bottom: 1px solid #F8F8F8;
+			font-size: 20rpx;
+			font-weight: 500;
+			color: #666666;
+			height: 72rpx;
+			line-height: 72rpx;
+			display: flex;
+
+			.info-val {
+				flex-grow: 1;
+			}
+		}
+	}
+
+	.left-name {
+		flex-shrink: 0;
+		height: 72rpx;
+		width: 165rpx;
+		display: flex;
+		justify-content: flex-end;
+		align-items: center;
+		font-size: 25rpx;
+		font-weight: bold;
+		color: #101010;
+		padding-right: 10rpx;
+
+		image {
+			width: 28rpx;
+			height: 28rpx;
+			margin-right: 15rpx;
+			background-color: #eee;
+		}
+
+	}
+
+	.pj-tit {
+		font-size: 30rpx;
+		font-weight: bold;
+		color: #101010;
+		padding: 26rpx;
+	}
+	.pj-wrap {
+		width: 100%;
+		min-height: 244rpx;
+		border-bottom:#f5f5f5 1rpx solid;
+		background-color: #fff;
+		padding: 30rpx;
+		.pj-user {
+			display: flex;
+			align-items: center;
+			height: 75rpx;
+			.user-logo {
+				width: 75rpx;
+				height: 75rpx;
+				background-color: #eee;
+				border-radius: 50%;
+				margin-right: 10rpx;
+			}
+			.user-info {
+				flex-grow: 1;
+				.user-name {
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #545456;
+					margin-bottom: 10rpx;
+				}
+				
+				.star-wrap {
+					display: flex;
+					justify-content: flex-start;
+					
+					.start {
+						margin-right: 10rpx;
+					}
+				}
+			}
+			.pj-time {
+				font-size: 24rpx;
+				font-weight: 400;
+				color: #545456;
+			}
+		}
+		.pj-info {
+			padding-top: 30rpx;
+			font-size: 24rpx;
+			font-weight: 500;
+			color: #545456;
+		}
+	}
+	.swiper-box {
+		background-color: red;
+	}
+</style>

+ 188 - 0
pagesS/yg/yglist.vue

@@ -0,0 +1,188 @@
+<template>
+	<view class="content">
+		<view class="gq-list">
+			<view class="gq-item" v-for="item in list" @click="goDetail()">
+				<view class="gq-logo">
+					<image src="" mode="" class=""></image>
+				</view>
+				<view class="store-name">
+					阿洋阿强啊
+				</view>
+				<template v-if="type == 'gz'">
+					<view class="info">
+						<view class="info-tit">
+							电话:
+						</view>
+						<view class="info-val">
+							创始人
+						</view>
+					</view>
+					<view class="info">
+						<view class="info-tit">
+							工资:
+						</view>
+						<view class="info-val">
+							¥创始人
+						</view>
+					</view>
+				</template>
+				<template v-if="type == 'yg'">
+					<view class="info">
+						<view class="info-tit">
+							职务:
+						</view>
+						<view class="info-val">
+							创始人
+						</view>
+					</view>
+					<view class="info">
+						<view class="info-tit">
+							工号:
+						</view>
+						<view class="info-val">
+							创始人
+						</view>
+					</view>
+				</template>
+			</view>
+		</view>
+		<u-loadmore :status="loadingType" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				loadingType: 'loadmore',
+				type: '',
+				list: 15,
+				page: 1,
+				limit: 24,
+				loaded: false,
+			}
+		},
+		onLoad(opt) {
+			if (opt.type) {
+				this.type = opt.type
+				if (opt.type == 'gz') {
+					uni.setNavigationBarTitle({
+						title: '工资表'
+					})
+				}
+				if (opt.type == 'yg') {
+					uni.setNavigationBarTitle({
+						title: '员工'
+					})
+				}
+				this.loadData()
+			}
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+			this.loadData()
+		},
+		onReady() {
+
+		},
+		methods: {
+			loadData(type) {
+				let that = this
+				if (type == 'reload') {
+					that.loaded = false
+					that.loadingType = 'loadmore'
+					that.page = 1
+					that.list = []
+				}
+				if (type == 'tab' && that.loaded) {
+					return
+				}
+				if (that.loadingType == 'loading' || that.loadingType == 'nomore') {
+					return
+				}
+
+				that.loadingType = 'loading'
+
+
+			},
+			goDetail() {
+				let that = this
+				uni.navigateTo({
+					url: that.type == 'gz' ? '/pagesS/yg/gzdetail': '/pagesS/yg/ygdetail'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.gq-list {
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: flex-start;
+		// justify-content: space-between;
+		padding: 20rpx 0 20rpx 20rpx;
+	}
+
+	.gq-item {
+		margin: 0 0 20rpx 14rpx;
+		width: 227rpx;
+		// height: 351rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 5rpx 5rpx 0px rgba(35, 24, 21, 0.06);
+		border-radius: 10rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: space-between;
+		padding: 30rpx 14rpx 20rpx;
+
+		.gq-logo {
+			width: 140rpx;
+			height: 140rpx;
+			border-radius: 50%;
+			border: 1px solid #262261;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			image {
+				width: 135rpx;
+				height: 135rpx;
+				background-color: #eee;
+				border-radius: 50%;
+			}
+		}
+
+		.store-name {
+			padding-top: 10rpx;
+			text-align: center;
+			width: 100%;
+			font-size: 26rpx;
+			font-weight: 500;
+			color: #262261;
+			overflow: hidden;
+		}
+
+		.info {
+			width: 100%;
+			display: flex;
+			padding: 5rpx 0;
+
+			.info-tit {
+				font-size: 18rpx;
+				flex-shrink: 0;
+			}
+
+			.info-val {
+				text-align: center;
+				font-size: 20rpx;
+				width: 140rpx;
+				border-bottom: 1px #C7C7C7 solid;
+			}
+		}
+
+	}
+</style>

+ 33 - 0
pagesS/yg/yjjl.vue

@@ -0,0 +1,33 @@
+<template>
+	<view class="content">
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style lang="scss">
+</style>

+ 11 - 1
pagesT/customer/CommunicationLogs.vue

@@ -115,8 +115,15 @@ export default {
 			return this.$store.state.access.isAdministrator;
 		}
 	},
-	onShow() {
+	onLoad(opt) {
+		if(opt.id) {
+			this.customer_name = opt.name
+			this.customer_id = opt.id
+		}
 		this.getAllCustomerCommunication();
+	},
+	onShow() {
+		
 	},
 	onPullDownRefresh() {
 		this.page = 1;
@@ -153,6 +160,7 @@ export default {
 				params.staffId = this.staffId;
 			}
 			this.$u.api.getAllCustomerCommunication(params).then(res => {
+				console.log(res,'res+++')
 				if (this.page === 1) {
 					this.order_list = res.data;
 				} else {
@@ -160,6 +168,8 @@ export default {
 				}
 				this.load_status = this.$utils.loadStatus(this.page, this.pageSize, res.pageTotal);
 				this.total = res.pageTotal;
+			}).catch(res => {
+				console.log(res,'失败')
 			});
 		},
 		previewImage(image) {

+ 12 - 0
pagesT/customer/CommunicationLogsAdd.vue

@@ -62,6 +62,7 @@ export default {
 		} else {
 			this.locationRegion();
 		}
+		console.log(this.$store.state.userInfo,'this.$store.state.userInfo')
 	},
 	watch: {
 		customerData(val) {
@@ -103,8 +104,10 @@ export default {
 			// 	this.$u.toast('请上传拜访凭证');
 			// 	return;
 			// }
+			console.log(this.id,'this.id')
 			this.sub_loading = true;
 			if (this.id) {
+				
 				this.$u.api
 					.updateCustomerCommunication(this.id, {
 						customerId: this.customerId,
@@ -125,6 +128,14 @@ export default {
 						this.sub_loading = false;
 					});
 			} else {
+				console.log({
+						customerId: this.customerId,
+						staffId: this.staffId,
+						content: this.content,
+						time: this.time,
+						location: this.location,
+						picture: this.extend.license
+					},'相应数据')
 				this.$u.api
 					.addCustomerCommunication({
 						customerId: this.customerId,
@@ -142,6 +153,7 @@ export default {
 						}, 500);
 					})
 					.catch(res => {
+						console.log(res,'shibai+++')
 						this.sub_loading = false;
 					});
 			}

+ 123 - 4
pagesT/customer/selCustomer.vue

@@ -3,8 +3,37 @@
 		<view class="search-view">
 			<u-search @custom="search()" @search="search()" @clear="search()" action-text="搜索" :clearabled="true" placeholder="客户名称/手机号" v-model="keyword"></u-search>
 		</view>
-		<view class="customer-ul">
-			<view class="customer-li" v-for="(item, index) in customer_list" :key="index" @click="changeSupplier(item)">
+		<view class="customer-ul" >
+			<view class="gk-wrap" v-for="(item, index) in customer_list" :key="index"  @click="changeSupplier(item)">
+				<view class="gk-top">
+					<view class="top-left">
+						<view class="left-name">
+							<u-icon margin-left="10" name="account-fill" label-size="24" label-color="#2979ff" :label="item.name" color="#2979ff" size="28"></u-icon>
+						</view>
+						<view class="left-tip">
+							{{item.customerType}}
+						</view>
+					</view>
+					<view class="top-right" >
+						<!-- 拜访记录<image src="../../static/img/downright.png" mode=""></image> -->
+					</view>
+				</view>
+				<view class="call-wrap" @click="goCall(item.mobile)" v-if="item.mobile">
+					联系客户
+				</view>
+				<view class="user-info">
+					<view class="phone">
+						{{item.mobile}}
+					</view>
+					<view class="brithday">
+						生日:{{item.birthday?getBirthday(item.birthday): '--'}}
+					</view>
+					<view class="where">
+						地区:{{ item.area.provinceName }}-{{ item.area.cityName }}-{{ item.area.districtName }}-{{ item.area.address }}
+					</view>
+				</view>
+			</view>
+			<!-- <view class="customer-li" v-for="(item, index) in customer_list" :key="index" @click="changeSupplier(item)">
 				<view class="customer-name">{{ item.name }}</view>
 				<view class="other">
 					<view class="concat clearfix">
@@ -16,7 +45,7 @@
 					</view>
 					<view class="address">{{ item.area.provinceName }}-{{ item.area.cityName }}-{{ item.area.districtName }}-{{ item.area.address }}</view>
 				</view>
-			</view>
+			</view> -->
 		</view>
 		<u-loadmore :status="load_status" />
 	</view>
@@ -48,6 +77,11 @@ export default {
 		}
 	},
 	methods: {
+		goBf(item) {
+			uni.navigateTo({
+				url:'/pagesT/customer/CommunicationLogs?id=' + item.id + '&name=' + item.name
+			})
+		},
 		changeSupplier(item) {
 			// 选择供应商返回上一页
 			this._prePage().customerData = item;
@@ -80,6 +114,15 @@ export default {
 				.catch(err => {
 					uni.stopPullDownRefresh();
 				});
+		},
+		goCall(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
+		},
+		getBirthday(time) {
+			let date = new Date(time*1000)
+			return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
 		}
 	}
 };
@@ -116,7 +159,8 @@ export default {
 	}
 }
 .customer-ul {
-	padding-top: 90rpx;
+	padding-top: 110rpx;
+	// padding-top: 20rpx;
 	padding-bottom: 20rpx;
 	.customer-li {
 		width: 702rpx;
@@ -144,4 +188,79 @@ export default {
 		}
 	}
 }
+.gk-wrap {
+	width: 710rpx;
+	height: 224rpx;
+	border-radius: 20rpx;
+	background-color: #fff;
+	margin:0 auto 20rpx;
+	position: relative;
+	.call-wrap {
+		position: absolute;
+		right: 20rpx;
+		bottom: 20rpx;
+		width: 126rpx;
+		height: 48rpx;
+		background: #4D74CF;
+		border-radius: 10rpx;
+		color: #fff;
+		text-align: center;
+		line-height: 48rpx;
+		font-size: 24rpx;
+		font-weight: 400;
+	}
+	.user-info {
+		padding-left: 20rpx;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #939393;
+		.phone {
+			color: #0F2447;
+		}
+		.brithday {
+			margin: 15rpx 0;
+		}
+		
+	}
+	.gk-top {
+		height: 80rpx;
+		width: 100%;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		.top-left {
+			display: flex;
+			
+			.left-name {
+				padding: 0 20rpx;
+				height: 40rpx;
+				border-radius: 0 20rpx 20rpx 0;
+				background-color: #ecf5ff;
+				margin-right: 20rpx;
+				max-width: 400rpx;
+			}
+			.left-tip {
+				border: 1px solid #4D74CF;
+				color: #4D74CF;
+				height: 32rpx;
+				padding: 0 10rpx;
+				line-height: 32rpx;
+				border-radius: 5rpx;
+				font-size: 20rpx;
+			}
+		}
+		.top-right {
+			display: flex;
+			align-items: center;
+			padding-right: 20rpx;
+			font-size: 22rpx;
+			font-weight: 500;
+			color: #999999;
+			image {
+				width: 9rpx;
+				height: 17rpx;
+			}
+		}
+	}
+}
 </style>

+ 266 - 0
pagesT/customer/selCustomert.vue

@@ -0,0 +1,266 @@
+<template>
+	<view class="selSupplier">
+		<!-- <view class="search-view">
+			<u-search @custom="search()" @search="search()" @clear="search()" action-text="搜索" :clearabled="true" placeholder="客户名称/手机号" v-model="keyword"></u-search>
+		</view> -->
+		<view class="customer-ul" >
+			<view class="gk-wrap" v-for="(item, index) in customer_list" :key="index">
+				<view class="gk-top">
+					<view class="top-left">
+						<view class="left-name">
+							<u-icon margin-left="10" name="account-fill" label-size="24" label-color="#2979ff" :label="item.name" color="#2979ff" size="28"></u-icon>
+						</view>
+						<view class="left-tip">
+							{{item.customerType}}
+						</view>
+					</view>
+					<view class="top-right" @click="goBf(item)">
+						拜访记录<image src="../../static/img/downright.png" mode=""></image>
+					</view>
+				</view>
+				<view class="call-wrap" @click="goCall(item.mobile)" v-if="item.mobile">
+					联系客户
+				</view>
+				<view class="user-info">
+					<view class="phone">
+						{{item.mobile}}
+					</view>
+					<view class="brithday">
+						生日:{{item.birthday?getBirthday(item.birthday): '--'}}
+					</view>
+					<view class="where">
+						地区:{{ item.area.provinceName }}-{{ item.area.cityName }}-{{ item.area.districtName }}-{{ item.area.address }}
+					</view>
+				</view>
+			</view>
+			<!-- <view class="customer-li" v-for="(item, index) in customer_list" :key="index" @click="changeSupplier(item)">
+				<view class="customer-name">{{ item.name }}</view>
+				<view class="other">
+					<view class="concat clearfix">
+						<text class="float_left">{{ item.customerType }}</text>
+						<view class="float_right" v-if="item.mobile">
+							<u-icon name="phone-fill" size="26"></u-icon>
+							<text class="phone-text">{{ item.mobile }}</text>
+						</view>
+					</view>
+					<view class="address">{{ item.area.provinceName }}-{{ item.area.cityName }}-{{ item.area.districtName }}-{{ item.area.address }}</view>
+				</view>
+			</view> -->
+		</view>
+		<u-loadmore :status="load_status" />
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			keyword: '',
+			load_status: 'nomore',
+			page: 1,
+			pageSize: 10,
+			total: 0,
+			customer_list: []
+		};
+	},
+	onLoad() {
+		this.getAllCustomer();
+	},
+	onPullDownRefresh() {
+		this.getAllCustomer();
+	},
+	// 上拉加载
+	onReachBottom() {
+		if (this.total / this.pageSize > this.page) {
+			this.page += 1;
+			this.getAllCustomer();
+		}
+	},
+	methods: {
+		goBf(item) {
+			uni.navigateTo({
+				url:'/pagesT/customer/CommunicationLogs?id=' + item.id + '&name=' + item.name
+			})
+		},
+		changeSupplier(item) {
+			// 选择供应商返回上一页
+			this._prePage().customerData = item;
+			uni.navigateBack();
+		},
+		search() {
+			this.page = 1;
+			this.getAllCustomer();
+		},
+		getAllCustomer() {
+			this.loading_status = 'loading';
+			this.$u.api
+				.getAllCustomer({
+					page: this.page,
+					pageSize: this.pageSize,
+					enableStatus: 5,
+					keyword: this.keyword,
+					status: 2
+				})
+				.then(res => {
+					uni.stopPullDownRefresh();
+					if (this.page === 1) {
+						this.customer_list = res.data;
+					} else {
+						this.customer_list = this.customer_list.concat(res.data);
+					}
+					this.total = res.pageTotal;
+					this.load_status = this.$utils.loadStatus(this.page, this.pageSize, this.total);
+				})
+				.catch(err => {
+					uni.stopPullDownRefresh();
+				});
+		},
+		goCall(phone) {
+			uni.makePhoneCall({
+				phoneNumber: phone
+			})
+		},
+		getBirthday(time) {
+			let date = new Date(time*1000)
+			return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate()
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.search-view {
+	position: fixed;
+	z-index: 99;
+	top: 0;
+	left: 0;
+	width: 100%;
+	background-color: #ffffff;
+	border-bottom: 1px solid #f5f5f5;
+	padding: 20rpx;
+	.input-view {
+		padding: 0 24rpx;
+		input {
+			height: 60rpx;
+			line-height: 60rpx;
+			padding: 0 24rpx;
+			display: inline-block;
+			width: 580rpx;
+			border: 1px solid #f5f5f5;
+			vertical-align: middle;
+			border-radius: 8rpx;
+			background-color: #f7f8fa;
+		}
+		.add-icon {
+			margin-left: 14rpx;
+			display: inline-block;
+			vertical-align: middle;
+		}
+	}
+}
+.customer-ul {
+	// padding-top: 90rpx;
+	padding-top: 20rpx;
+	padding-bottom: 20rpx;
+	.customer-li {
+		width: 702rpx;
+		margin: 0 auto;
+		background-color: #ffffff;
+		border-radius: 10rpx;
+		margin-top: 20rpx;
+		.customer-name {
+			padding: 0 20rpx;
+			line-height: 80rpx;
+			border-bottom: 1px solid #f5f5f5;
+		}
+		.other {
+			font-size: 24rpx;
+			padding: 10rpx 20rpx;
+			line-height: 50rpx;
+			.concat {
+				.float_right {
+					color: $uni-color-primary;
+					.phone-text {
+						margin-left: 10rpx;
+					}
+				}
+			}
+		}
+	}
+}
+.gk-wrap {
+	width: 710rpx;
+	height: 224rpx;
+	border-radius: 20rpx;
+	background-color: #fff;
+	margin:0 auto 20rpx;
+	position: relative;
+	.call-wrap {
+		position: absolute;
+		right: 20rpx;
+		bottom: 20rpx;
+		width: 126rpx;
+		height: 48rpx;
+		background: #4D74CF;
+		border-radius: 10rpx;
+		color: #fff;
+		text-align: center;
+		line-height: 48rpx;
+		font-size: 24rpx;
+		font-weight: 400;
+	}
+	.user-info {
+		padding-left: 20rpx;
+		font-size: 24rpx;
+		font-weight: 500;
+		color: #939393;
+		.phone {
+			color: #0F2447;
+		}
+		.brithday {
+			margin: 15rpx 0;
+		}
+		
+	}
+	.gk-top {
+		height: 80rpx;
+		width: 100%;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		.top-left {
+			display: flex;
+			
+			.left-name {
+				padding: 0 20rpx;
+				height: 40rpx;
+				border-radius: 0 20rpx 20rpx 0;
+				background-color: #ecf5ff;
+				margin-right: 20rpx;
+				max-width: 400rpx;
+			}
+			.left-tip {
+				border: 1px solid #4D74CF;
+				color: #4D74CF;
+				height: 32rpx;
+				padding: 0 10rpx;
+				line-height: 32rpx;
+				border-radius: 5rpx;
+				font-size: 20rpx;
+			}
+		}
+		.top-right {
+			display: flex;
+			align-items: center;
+			padding-right: 20rpx;
+			font-size: 22rpx;
+			font-weight: 500;
+			color: #999999;
+			image {
+				width: 9rpx;
+				height: 17rpx;
+			}
+		}
+	}
+}
+</style>

+ 16 - 0
static/css/common.css

@@ -166,4 +166,20 @@ ul {
 
 .home .u-mode-center-box {
 	background: rgba(0, 0, 0, 0) !important;
+}
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
 }

BIN
static/img/add-dd.png


BIN
static/img/down-right-w.png


BIN
static/img/downjian.png


BIN
static/img/downright.png


BIN
static/img/downup.png


BIN
static/img/downxia.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است