<template>
	<view>
		<view class="top">
			<view class="title">
				做题统计
				<text>（不含简答和案例题）</text>
			</view>
			
			<view class="circle-wrap">
				<view class="circle-list">
					<view class="item">
						<canvas class="canvas" canvas-id="Canvas1"></canvas>
						<view class="text">正确率</view>
					</view>
					<view class="item">
						<canvas  canvas-id="Canvas2"></canvas>
						<view class="text">做题进度</view>
					</view>
					<view class="numbers">
						<view class="blue">已答  65</view>
						<view>总数  650</view>
					</view>
				</view>
			</view>
			
		</view>
		
		<view class="title-list">
			<view class="content">
				<view class="list" v-for="(item1,index) in outline">
					<view class="section" :data-index="index" @click="changeItem" :class="{up:!item1.showList}">
						2Z106010 施工承发包的模式-2Z106020 施工合同...
					</view>
					<view class="article" v-if="item1.showList" v-for="(article,index1) in item1.list">
						<view class="flex-auto">
							<view class="tit">施工承发包模式-施工合同与物资采购合同二</view>
							<view class="desc">
								<view class="flex-auto">
									正确率
									<text class="green">65%</text>
								</view>
								<view class="flex-auto">
									已完成
									<text class="blue">65%</text>
								</view>
							</view>
						</view>
						
						<navigator url="/pages2/bank/questionBank">
							<view v-if="index1 == 0" class="btn">
								做题
							</view>
							<view v-if="index1 == 1" class="btn">
								继续
							</view>
						</navigator>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
import { mapGetters } from 'vuex';
export default {
	data() {
		return {
			outline:[{
				list:[1,2,3],
				showList:false,
			},{
				list:[1,2,3],
				showList:false,
			},{
				list:[1,2,3],
				showList:false,
			},{
				list:[1,2,3],
				showList:false,
			}]
		};
	},
	onUnload() {
		
	},
	computed: { ...mapGetters(['userInfo']) },
	onLoad(option) {

	},
	onShow() {
		uni.getSystemInfo({
			success:(res) => {
				var winW = res.screenWidth;
				var winH = res.screenHeight;
				 uni.createSelectorQuery().in(this).select('.canvas').boundingClientRect().exec((newRes)=>{  
					  var width = newRes[0].width;
					  var height = newRes[0].height;
					  var caculateX = winW/750;
					  var caculateY = winH/1334;
					  console.log(caculateX)
					  var context1 = uni.createCanvasContext('Canvas1')
					  context1.setStrokeStyle("#EEEEEE")
					  context1.setLineWidth(caculateX * 20)
					  context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true)
					  context1.stroke()
						context1.beginPath()
					  context1.setStrokeStyle("#32D74B")
					  context1.setFillStyle('#32D74B')
					  context1.setTextAlign('center')
					  context1.setLineCap('round')
					  context1.setFontSize(caculateX * 32)
					  context1.fillText('10%', caculateX * 90, caculateX * 90, caculateX * 180)
					  context1.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0,  Math.PI, true)
					  context1.stroke()
					  context1.draw()
					  
					  
					  
					  
					  var context2 = uni.createCanvasContext('Canvas2')
					  context2.setStrokeStyle("#EEEEEE")
					  context2.setLineWidth(caculateX * 20)
					  context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0, 2 * Math.PI, true)
					  context2.stroke()
						context2.beginPath()
					  context2.setStrokeStyle("#007AFF")
					  context2.setFillStyle("#007AFF")
					  context2.setTextAlign('center')
					  context2.setLineCap('round')
					  context2.setFontSize(caculateX * 32)
					  context2.fillText('10%', caculateX * 90, caculateX * 90, caculateX * 180)
					  context2.arc(caculateX * 90, caculateX * 90, caculateX * 80, 0,  Math.PI, true)
					  context2.stroke()
					  context2.draw()
				})  
				
			}
		})
		
	},
	methods: {
		changeItem(e) {
			let index = e.currentTarget.dataset.index
			this.outline.forEach((arrItem,i) => {
				if(i == index) {
					arrItem.showList = !arrItem.showList
				}
			})
			
		}
	}
};
</script>
<style >
	page{
		background-color: #EAEEF1;
	}
</style>
<style lang="scss" scope>
	
	.top {
		margin:16rpx;
		border-radius: 16rpx;
		background:#fff;
		padding:24rpx;
		.title {
			font-size: 24rpx;
			line-height: 24rpx;
			color: #333333;
			
			text {
				font-size: 30rpx;
				color: #999999;
			}
		}
		
		.circle-wrap {
			margin-top:20rpx;
			
			.circle-list {
				display: flex;
				
				.item {
					flex:1;
					padding-left:30rpx;
					
					canvas {
						margin:0 auto;
						width:180rpx;
						height:180rpx;
					}
					
					.text {
						text-align: center;
						margin-top:16rpx;
						font-size: 24rpx;
						color: #333333;
					}
				}
				.numbers {
					display: flex;
					color:#999999;
					font-size: 24rpx;
					align-items: center;
					justify-content: center;
					flex-direction: column;
					
					.blue {
						margin-bottom:40rpx;
						color: #007AFF;
					}
				}
			}
		}
	}
	
	.title-list {
		background: #EAEEF1;
		padding:16rpx 16rpx 124rpx;
		.content {
			
			.list {
				background:#fff;
				margin-bottom:30rpx;
				overflow: hidden;
				border-radius: 16rpx;
				padding:10rpx 16rpx;
				 
				.section {
					padding:30rpx 0;
					border-bottom: 1rpx solid #EEEEEE;
					font-size: 24rpx;
					color: #666666;
					
					&::before {
						content:'^';
						display: inline-block;
						margin-right:20rpx;
					}
					
					&.up {
						border:0;
						&::before {
							transform: rotate(180deg);
						}
					}
				}
				
				.article {
					padding:24rpx 0 10rpx;
					display: flex;
					align-items: center;
					margin-left:88rpx;
					font-size: 24rpx;
					color: #666666;
					border-bottom: 1rpx solid #EEEEEE;
					
					.flex-auto {
						flex:1;
						margin-right:30rpx;
						
						.desc {
							width: 480rpx;
							padding:0 14rpx;
							margin-top:20rpx;
							height: 40rpx;
							border: 1px solid #EEEEEE;
							border-radius: 16rpx;
							font-size: 26rpx;
							display: flex;
							align-items: center;
							
							.blue {
								font-size: 26rpx;
								color:#007AFF;
							}
							.green {
								font-size: 26rpx;
								color:#32D74B;
							}
						}
					}
					
					.btn {
						width: 96rpx;
						height: 48rpx;
						line-height: 48rpx;
						text-align: center;
						color:#fff;
						font-size: 30rpx;
						border-radius:24rpx;
						background: #007AFF;
						border-radius: 24rpx;
					}
					
					&:nth-last-of-type(1) {
						border:0;
					}
					
					&.active {
						color:#007AFF;
					}
				}
			}
		}
	}
	
	
	
</style>
