From 81b8089d94e7f9537b8f5a00b68c95a9e858e2bf Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 13 十一月 2023 12:48:41 +0800
Subject: [PATCH] #

---
 pages/index/index.vue |  283 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 261 insertions(+), 22 deletions(-)

diff --git a/pages/index/index.vue b/pages/index/index.vue
index ec0ec26..914c427 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,52 +1,291 @@
 <template>
-	<view class="content">
-		<image class="logo" src="/static/logo.png"></image>
-		<view class="text-area">
-			<text class="title">{{title}}</text>
+	<view>
+		<view class="box" :class="it.bg" v-for="it in mainItem">
+			<view class="box-title">{{it.title}}</view>
+			<view class="box-item">
+				<view class="item-title">{{it.subTitle}}</view>
+				<view class="item-content">
+					<view style="width: 50%;" v-for="item in it.items">
+						
+						<view class="content-data">
+							<text class="c-data">{{item.content}}</text>
+							<text class="c-val">{{item.unit}}</text>
+						</view>
+						<view style="font-size: 16rpx;">{{item.name}}</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="top-box">
+			<view class="box-title">閿�鍞笟缁╂帓琛屾</view>
+			<view class="box-item">
+				<view class="single-line" v-for="(item,i) in topList" :key="i">
+					<view style="flex: 1;"><text class="top-border">{{i+1}}</text></view>
+					<view style="flex: 3;"><text>{{item.username}}</text></view>
+					<view style="flex: 3;text-align: end;"><text>{{item.money}}涓囧厓</text></view>
+				</view>
+			</view>
+		</view>
+		
+		<view class="top-box">
+			<view class="box-title">鍏徃鍏憡</view>
+			<view class="box-item">
+				<view style="display: flex;align-items: stretch;margin: 4px 0 ;" v-for="(item,i) in notices" :key="i">
+					<text style="flex: 1;align-self: center;padding: 8px 4px;">{{item.content}}</text>
+					<text style="width: 150rpx;align-self: center;padding: 0 2px;">{{item.updateTime$}}</text>
+				</view>
+				
+			</view>
+			<view>鏌ョ湅鏇村 >></view>
+		</view>
+		
+		<view class="charts-box">
+		  <qiun-data-charts type="column" canvasId="scrollcolumnid" :opts="{enableScroll:true,xAxis:{scrollShow:true,itemCount:4,disableGrid:true}}" :ontouch="true" :canvas2d="true" :chartData="chartsDataColumn4" :background="red"/>
 		</view>
 	</view>
 </template>
 
 <script>
+	import demodata from '@/mockdata/demodata.json';
+	import getCompanyData from '@/pages/api/index.js'
 	export default {
 		data() {
 			return {
-				title: 'Hello'
+				chartsDataColumn4:{},
+				title: 'Hello',
+				mainItem: [
+					{
+						title: '鍥㈤槦娲诲姩瀹炴椂浜ゆ槗鎯呭喌',
+						subTitle: '鍥㈤槦鏁版嵁',
+						items: [
+							{name: '骞村害閿�鍞洰鏍�',content: 60000,unit: '涓囧厓'},
+							{name: '宸插畬鎴愰攢鍞换鍔�',content: 1112,unit: '涓囧厓'},
+							{name: '鏈畬鎴愰攢鍞换鍔�',content: 58888,unit: '涓囧厓'},
+							{name: '瀹屾垚鐜�',content: 1.85,unit: '%'}
+						]
+					},
+					{
+						title: '瀹炴椂閿�鍞儏鍐�',
+						subTitle: '涓汉鏁版嵁',
+						items: [
+							{name: '骞村害閿�鍞洰鏍�',content: 0,unit: '涓囧厓'},
+							{name: '宸插畬鎴愰攢鍞换鍔�',content: 0,unit: '涓囧厓'},
+							{name: '鏈畬鎴愰攢鍞换鍔�',content: 0,unit: '涓囧厓'},
+							{name: '瀹屾垚鐜�',content: '0.00',unit: '%'},
+							{name: '璺熻釜椤圭洰鏁伴噺',content: 0,unit: '椤�'},
+							{name: '璺熻釜椤圭洰閲戦',content: 0,unit: '涓囧厓'},
+							{name: '鎴愪氦椤圭洰鏁伴噺',content: 0,unit: '椤�'},
+							{name: '鎴愪氦椤圭洰閲戦',content: '0.00',unit: '涓囧厓'}
+						]
+					}
+				],
+				topList: [
+					{username: '寮犲弻榫�',money:'800涓囧厓'},
+					{username: '鏉庝笘璞�3绾�',money:'200涓囧厓'},
+					{username: '鏉庝笘璞�1绾�',money:'112涓囧厓'}
+				],
+				bgs: ['bg-blue','bg-red'],
+				red: '#4286db',
+				notices: [
+					{notice: '杩欐潯娴嬭瘯鍏憡琚慨鏀逛簡asdas杩欐潯娴嬭瘯鍏憡琚慨鏀逛簡杩欐潯娴嬭瘯鍏憡琚慨鏀逛簡',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '杩欐槸涓�鏉℃祴璇曞叕鍛�',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'},
+					{notice: '娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙告槸涓壃闆嗗洟鏃椾笅涓撲笟鐨勬櫤鑳戒粨鍌ㄧ墿娴佽澶囨簮澶存湇鍔″晢锛岃嚧鍔涗簬璁╁埗閫犱笌鐗╂祦鏇撮珮鏁堛�傞泦鍥㈠勾閿�鍞瓒�5浜夸汉姘戝竵锛屾槸涓浗绔嬩綋浠撳簱澶у瀷鍘傚涔嬩竴锛岄泦绉戠爺銆佺敓浜с�侀攢鍞�佸敭鍚庝负涓�浣撶殑鍥藉楂樻柊鎶�鏈紒涓氾紝娴欐睙鐪佲�滀笓绮剧壒鏂扳�濅紒涓氾紝娴欐睙鐪佲�滃皷鍏点�侀闆佲�濅紒涓氾紝娴欐睙鐪侀噸鐐瑰煿鑲蹭紒涓氾紝缁煎悎瀹炲姏浣嶅眳琛屼笟鍓嶅垪',crtate_time: '2023-09-09 13:49:46',update_time: '2023-10-09 13:49:46'}
+				],
+				Column: {
+					categories: ["1鏈�", "2鏈�", "3鏈�", "4鏈�", "5鏈�", "6鏈�","7鏈�", "8鏈�", "9鏈�", "10鏈�", "11鏈�", "12鏈�"],
+					series: [{
+						name: "閿�鍞",
+						data: [35, 36, 31, 33, 13, 34,18, 27, 21, 24, 6, 28]
+					}]
+				}
+				
+				
 			}
 		},
 		onLoad() {
-
+			this.backGroundRepeat()
+		},
+		onReady() {
+		  //妯℃嫙浠庢湇鍔″櫒鑾峰彇鏁版嵁
+			this.getServerData()
+			this.getCompanyData()
+			this.getPersonData()
+			this.getStaffRank()
+			this.getCompanyPostList()
+			this.getMonthData()
+		},
+		mounted() {
+			
 		},
 		methods: {
-
+			getServerData() {
+			  setTimeout(() => {
+			  	//鍥犻儴鍒嗘暟鎹牸寮忎竴鏍凤紝杩欓噷涓嶅悓鍥捐〃寮曠敤鍚屼竴鏁版嵁婧愮殑璇濓紝闇�瑕佹繁鎷疯礉涓�涓嬫瀯閫犱笉鍚岀殑瀵硅薄
+			  	//寮�鍙戣�呴渶瑕佽嚜琛屽鐞嗘湇鍔″櫒杩斿洖鐨勬暟鎹紝搴斾笌鏍囧噯鏁版嵁鏍煎紡涓�鑷达紝娉ㄦ剰series鐨刣ata鏁板�煎簲涓烘暟瀛楁牸寮�
+			  	this.chartsDataColumn4=JSON.parse(JSON.stringify(this.Column))
+			  }, 1500);
+			},
+			backGroundRepeat() {
+				let len = this.bgs.length
+				let i = 0
+				for (let k in this.mainItem) {
+					if (i == len) {
+						i = 0
+					}
+					this.mainItem[k]['bg'] = this.bgs[i]
+					i++
+				}
+				// console.log(this.mainItem);
+			},
+			async getCompanyData() {
+				let res = await getCompanyData.getCompanyData()
+				if (res.code === 200) {
+					this.mainItem[0].title = '鍥㈤槦娲诲姩瀹炴椂浜ゆ槗鎯呭喌'
+					this.mainItem[0].subTitle = '鍥㈤槦鏁版嵁'
+					this.mainItem[0].items = res.data
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			async getPersonData() {
+				let res = await getCompanyData.getPersonData()
+				if (res.code === 200) {
+					this.mainItem[1].title = '瀹炴椂閿�鍞儏鍐�'
+					this.mainItem[1].subTitle = '涓汉鏁版嵁'
+					this.mainItem[1].items = res.data
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			async getStaffRank() {
+				let res = await getCompanyData.getStaffRank()
+				if (res.code === 200) {
+					this.topList = res.data
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			async getCompanyPostList() {
+				let res = await getCompanyData.getCompanyPostList()
+				if (res.code === 200) {
+					this.notices = res.data.records.splice(0,5)
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			
+			async getMonthData() {
+				let res = await getCompanyData.getMonthData()
+				if (res.code === 200) {
+					this.Column.series[0].data = res.data
+				} else if (res.code === 403) {
+					this.backLogin(res)
+				}
+			},
+			backLogin(res) {
+				uni.showToast({title: res.msg, icon: "none", position: 'top'})
+				setTimeout(() => {
+					uni.reLaunch({
+						url: '../login/login'
+					});
+				}, 1000);
+			}
+			
 		}
 	}
 </script>
 
-<style>
+<style scoped>
+	.charts-box {
+		height: 300px;
+		margin: 8px;
+	}
 	.content {
 		display: flex;
 		flex-direction: column;
 		align-items: center;
 		justify-content: center;
 	}
-
-	.logo {
-		height: 200rpx;
-		width: 200rpx;
-		margin-top: 200rpx;
-		margin-left: auto;
-		margin-right: auto;
-		margin-bottom: 50rpx;
+	.box {
+		margin: 8px;
+		border-radius: 10rpx;
 	}
-
-	.text-area {
+	.box-title {
+		margin: 8px;
+		height: 60rpx;
+		line-height: 80rpx;
+		font-size: 28rpx;
+		font-weight: 700;
+	}
+	.box-item {
+		margin: 8px;
+		font-size: 26rpx;
+		font-weight: 700;
+		min-height: 80rpx;
+		background-color: rgba(255,255,255,.3);
+		border-radius: 10rpx;
+	}
+	.item-title {
+		height: 50rpx;
+		line-height: 50rpx;
+	}
+	.item-content {
 		display: flex;
-		justify-content: center;
+		flex-wrap: wrap;
+		text-align: center;
+		margin-top: 10rpx;
 	}
+	.c-data {
+		font-size: 48rpx;
+	}
+	.c-val {
+		font-size: 24rpx;
+		font-weight: normal;
+		vertical-align: text-bottom;
+	}
+	.top-box {
+		margin: 8px;
+		border-radius: 10rpx;
+		color: #FFF;
+		background: #D38312;  /* fallback for old browsers */
+		background: -webkit-linear-gradient(to right, #A83279, #D38312);  /* Chrome 10-25, Safari 5.1-6 */
+		background: linear-gradient(to right, #A83279, #D38312); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
 
-	.title {
-		font-size: 36rpx;
-		color: #8f8f94;
 	}
+	.single-line {
+		display: flex;
+		/* text-align: center; */
+		align-items: center;
+		padding: 10px;
+		font-size: 30rpx;
+	}
+	.top-border {
+		background-color: #3f624d;
+		font-weight: 900;
+		padding: 0 5px;
+		border-radius: 2px;
+	}
+	
+	.bg-red {
+		background: #7b4397;  
+		background: -webkit-linear-gradient(to left, #dc2430, #7b4397);  
+		background: linear-gradient(to left, #dc2430, #7b4397);
+		color: #FFF;
+	}
+	.bg-blue {
+		color: #FFF;
+		background: #4284DB;
+		background: -webkit-linear-gradient(to left, #29EAC4, #4284DB);  
+		background: linear-gradient(to left, #29EAC4, #4284DB); 
+	}
+	
 </style>

--
Gitblit v1.9.1