<template>
	<view class="concent">
		<view class="view_body">
			<u-navbar :is-back="true"
					  title='添加作业'
					  title-color="#000"
					  :border-bottom="false"
					  :background="bgc"
					  id="navbar">
			</u-navbar>
			<view class="view_header">
				<view class="view_title">标题</view>
				<view class="view_input">
					<u-form-item prop="value">
						<u-input v-model="worktit"
								 :type="type"
								 :border="border"
								 placeholder="输入作业标题" />
					</u-form-item>
				</view>
			</view>
			<!-- 班级安排 -->
			<view>
				<view class="view_tubiao">
					<view class="view_title">班级安排</view>
					<view class="view_tb"
						  @click="addclass()">
						+
					</view>
				</view>
				<view class="noting"
					  v-if="classinfo.length <= 0">
					<image src="https://file.langsi.online/yasiimg/web/static/ulqScWZvBYd22CW5uV0H"></image>
					<view class="text1">
						暂未安排哦!
					</view>
					<view class="text2"
						  @click="addclass()">
						去安排
					</view>
				</view>
				<view class="class_bj">

					<view class="class_images">
						<view class="class_ys"
							  v-for="(item, index) in classinfo"
							  :key="index"
							  style="position: relative;">
							<view class="close"
								  style="position: absolute;top: 0rpx;right: 8rpx;width: 20rpx;height: 20rpx;"
								  @click="delcls(item.id)">
								<image src="https://file.langsi.online/yasiimg/web/static/ueH3qwYazyVXmiYoVPJE"
									   mode="">
								</image>
							</view>
							<view class="class_tp">
								<image src="https://file.langsi.online/yasiimg/web/static/u4T48EWFfk5p6yrV3gOw"
									   mode="">
								</image>
							</view>
							<view class="class_wz">{{ item.name }}</view>
						</view>


					</view>
				</view>
			</view>
			<!-- 学员安排 -->
			<view>
				<view class="view_tubiao">
					<view class="view_title">学员安排</view>
					<view class="view_tb"
						  @click="toaddstu()">

						+
					</view>
				</view>
				<view class="noting"
					  v-if="stuinfo.length <= 0">
					<image src="https://file.langsi.online/yasiimg/web/static/ulqScWZvBYd22CW5uV0H"></image>
					<view class="text1">
						暂未安排哦!
					</view>
					<view class="text2"
						  @click="toaddstu()">
						去安排
					</view>
				</view>
				<view class="class_bj">
					<view class="class_images">
						<view class="class_ys"
							  v-for="(item, index) in stuinfo"
							  :key="index"
							  style="position: relative;">
							<view class="close"
								  style="position: absolute;top: 0rpx;right: 8rpx;width: 20rpx;height: 20rpx;"
								  @click="delstu(item.id)">
								<image src="https://file.langsi.online/yasiimg/web/static/ueH3qwYazyVXmiYoVPJE"
									   mode="">
								</image>
							</view>
							<view class="class_tp">
								<image :src="item.avatar"
									   mode=""></image>
							</view>
							<view class="class_wz">{{ item.name }}</view>
						</view>

					</view>


				</view>
			</view>
			<!-- 作业安排 -->
			<view>
				<view>
					<view>
						<view class="view_tubiao">
							<view class="view_title">作业安排</view>
						</view>
						<view>
							<view class="Ielts">IELTS 18</view>
							<view
								  style="background-color: #fff; padding: 32rpx 40rpx; border-radius: 20rpx 20rpx 20rpx 20rpx;">
								<u-time-line>
									<u-time-line-item nodeTop="2">
										<template v-slot:content>
											<view>
												<view style="display: flex;">

													<view class="Test">Test 2</view>

													<view class="greener">听力</view>

												</view>
												<view class="u-order-desc">
													<text>Part 1:多选题</text>
												</view>
											</view>
										</template>
									</u-time-line-item>
									<u-time-line-item nodeTop="2">
										<template v-slot:content>
											<view>
												<view style="display: flex;">

													<view class="Test">Test 2</view>

													<view class="greener">听力</view>

												</view>
												<view class="u-order-desc">
													<text>Part 1:多选题</text>
												</view>
											</view>
										</template>
									</u-time-line-item>
									<u-time-line-item nodeTop="2">
										<template v-slot:content>
											<view>
												<view style="display: flex;">

													<view class="Test">Test 2</view>

													<view class="greener">听力</view>

												</view>
												<view class="u-order-desc">
													<text>Part 1:多选题</text>
												</view>
											</view>
										</template>
									</u-time-line-item>
								</u-time-line>
							</view>
						</view>
					</view>
					<view v-for="(item,index) in selectwritelist" :key="index">
						<view class="Ielts">{{item.examName}}</view>
						<view style="background-color: #fff; padding: 32rpx 40rpx;border-radius: 20rpx 20rpx 20rpx 20rpx;" v-for="(items,indexs) in item.message" :key="indexs">
							<view style="display: flex; align-items: center;">
								<view class="yuandi"></view>
								<view class="Test">{{items.test}}</view>
								<view class="ellipses">写作</view>
							</view>
							<view class="u-order-desc">
								<text>{{items.task}}</text>
							</view>
						</view>
					</view>
					<view>
						<view>
							<view class="Ielts"></view>
							<view
								  style="background-color: #fff; padding: 32rpx 40rpx;border-radius: 20rpx 20rpx 20rpx 20rpx;">
								<u-time-line>
									<u-time-line-item nodeTop="2"
													  v-for="(item, index) in selectspeak"
													  :key="index">
										<template v-slot:content>
											<view>
												<view style="display: flex;flex-wrap: nowrap;">

													<view class="Test"
														  style="width: 80%;">{{ item.part }}-{{ item.introduction }}</view>

													<view class="erotic">口语</view>

												</view>
												<view class="u-order-desc">
													<view style="display: inline;">
														<view class="txt">{{ item.topicEn }}:</view>
														<view v-for="(items, indexs) in item.speakingType"
															  :key="indexs"
															  class="type"
															  style="display: inline;">
															<view v-if="items == 1">串题</view>
															<view v-else-if="items == 2">跟读</view>
															<view v-else-if="items == 3">模考</view>
														</view>
													</view>
												</view>
											</view>
										</template>
									</u-time-line-item>

								</u-time-line>
							</view>
						</view>
					</view>
					<!--按钮 -->
					<view style="display: flex; justify-content: center; margin-top: 32rpx;"
						  @click="addwork()">
						<view class="increase">
							<u-icon name="plus"></u-icon>
							添加
						</view>
					</view>
				</view>

			</view>
			<!-- 截止时间 -->
			<view>
				<view class="view_tubiao">
					<view class="view_title">截止时间</view>
				</view>
				<view>
					<view class="view_form">
						<u-picker mode="time"
								  v-model="show"
								  :params="params"
								  @confirm="printValue"></u-picker>
						<u-form-item prop="times">
							<u-input v-model="times"
									 :type="type"
									 :border="border"
									 placeholder="选择作业截止的时间"
									 @click="show = true"
									 placeholder-style="color: rgba(46,73,117,0.4);font-size: 24rpx;" />
						</u-form-item>


					</view>
				</view>
			</view>
			<!-- 描述 -->
			<view>
				<view class="view_tubiao">
					<view class="view_title">描述</view>
				</view>
				<view class="view_textrea">
					<textarea value=""
							  placeholder="输入你的描述... "
							  placeholder-style="color: rgba(46,73,117,0.4);font-size: 24rpx;" />
				</view>
			</view>
		</view>

		<!-- 按钮 -->
		<view class="zhanwei"
			  style="width: 100%;height: 230rpx;">

		</view>
		<view class="botbtn">
			<view class="btn"
				  @click="addclassinfo()">
				确定添加
			</view>
		</view>

	</view>
</template>
<script>
export default {
	data() {
		return {
			bgc: {
				backgroundColor: "#F6F9FC",
			},
			// prick 时间选择框数据
			params: {
				year: true,
				month: true,
				day: true,
				hour: true,
				minute: false,
				second: false
			},
			show: false,
			radio: '',
			switchVal: false,
			classinfo: [],
			stuinfo: [],
			worktit: '',
			times: '',
			selectspeak: [],
			selectwrite: [],
			selectlisten: [],
			selectread: [],
			selectwritelist: []

		}
	},
	onLoad(option) {
		uni.removeStorageSync('selectedClassInfo');
		uni.removeStorageSync('selectedStuInfo');
		// this.classinfo=JSON.parse(decodeURIComponent(option.classinfo))
		let classinofs = [{
			name: '阅读5班',
			avatar: 'Excepteur',
			id: 15,

		}]
		this.classinfo = classinofs

	},
	onShow() {
		// Read selectedClassInfo data
		const selectedClassInfo = uni.getStorageSync('selectedClassInfo');

		if (selectedClassInfo && selectedClassInfo.length > 0) {
			this.classinfo = selectedClassInfo
			// Remove duplicates from this.classinfo
			//     this.classinfo = this.classinfo.filter(item => !selectedClassInfo.some(selectedItem => selectedItem.id === item.id));

			//     // Add non-duplicate items from selectedClassInfo to this.classinfo
			//     this.classinfo = this.classinfo.concat(selectedClassInfo);

		}
		const selectedstuInfo = uni.getStorageSync('selectedStuInfo');

		if (selectedstuInfo && selectedstuInfo.length > 0) {
			this.stuinfo = selectedstuInfo
			// Remove duplicates from this.classinfo
			// this.stuinfo = this.stuinfo.filter(item => !selectedstuInfo.some(selectedItem => selectedItem.id === item.id));

			// // Add non-duplicate items from selectedClassInfo to this.classinfo
			// this.stuinfo = this.stuinfo.concat(selectedstuInfo);

		}
		const selectforwork = uni.getStorageSync('selectforwork');
		console.log(selectforwork, 'selectedClassInfoselectedClassInfo');
		if (selectforwork) {
			this.selectspeak = selectforwork.selectspeak
			this.selectwrite = selectforwork.selectwrite
			this.selectlisten = selectforwork.selectlisten
			this.selectread = selectforwork.selectread
			this.selectwrite = selectforwork.selectwrite;

			const groupedItems = {};

			this.selectwrite.forEach(item => {
				const examName = item.examName;

				if (!groupedItems[examName]) {
					groupedItems[examName] = {
						examName: examName,
						message: []
					};
				}

				groupedItems[examName].message.push({
					test: item.test,
					task: item.task,
					id: item.id
				});
			});

			// Convert groupedItems object to an array
			this.selectwritelist = Object.values(groupedItems);

			console.log(this.selectwritelist, 'selectwritelist');
			// Remove duplicates from this.classinfo
			// this.stuinfo = this.stuinfo.filter(item => !selectedstuInfo.some(selectedItem => selectedItem.id === item.id));

			// // Add non-duplicate items from selectedClassInfo to this.classinfo
			// this.stuinfo = this.stuinfo.concat(selectedstuInfo);

		}

	},
	methods: {
		mergeObjectsByExamName(existingArray, newArray) {
			const mergedArray = [];

			newArray.forEach(newObj => {
				const existingObjIndex = existingArray.findIndex(existingObj => existingObj.examName === newObj.examName);

				if (existingObjIndex !== -1) {
					// 如果存在相同的 examName,则合并对象
					const existingObj = existingArray[existingObjIndex];
					existingObj.message.push({
						test: newObj.test,
						task: newObj.task,
						id: newObj.id,
						// 其他属性...
					});

					// 更新数组中的对象
					existingArray[existingObjIndex] = existingObj;
				} else {
					// 如果不存在相同的 examName,则直接添加新对象
					mergedArray.push({
						examName: newObj.examName,
						message: [{
							test: newObj.test,
							task: newObj.task,
							id: newObj.id,
							// 其他属性...
						}],
						// 其他属性...
					});
				}
			});

			// 添加 existingArray 中未处理的对象
			existingArray.forEach(existingObj => {
				const existingObjIndex = mergedArray.findIndex(obj => obj.examName === existingObj.examName);
				if (existingObjIndex === -1) {
					mergedArray.push(existingObj);
				}
			});

			return mergedArray;
		},
		addwork() {
			uni.navigateTo({
				url: "/pages_teacher/teacher_teachers/teacher_writeadd?classinfo=" + encodeURIComponent(JSON.stringify(this.classinfo))
			}).then(res => {

			}).catch(err => {

			});
		},
		delcls(id) {
			this.classinfo = this.classinfo.filter(item => item.id !== id);
		},
		delstu(id) {
			this.stuinfo = this.stuinfo.filter(item => item.id !== id);
		},
		toaddstu() {
			uni.navigateTo({
				url: "/pages_teacher/pages_add/add_studentsforwork?stuinfo=" + encodeURIComponent(JSON.stringify(this.stuinfo))

			}).then(res => {

			}).catch(err => {

			});
		},
		addclass() {
			uni.navigateTo({
				url: "/pages/Mystudent/addclassforwork?classinfo=" + encodeURIComponent(JSON.stringify(this
					.classinfo))
			}).then(res => {

			}).catch(err => {

			});
		},

		// 获取截止时间
		printValue(e) {
			this.times = `${e.year}-${e.month}-${e.day}`
		},
		submit() {

		}
	}
}
</script>
<style lang="scss" scoped>
.botbtn {
	padding: 32rpx 32rpx 0 32rpx;
	// margin-left: -32rpx;
	position: fixed;
	bottom: 0;
	width: 750rpx;
	height: 200rpx;
	background: #FFFFFF;
	box-shadow: 0rpx -10rpx 16rpx 0rpx rgba(202, 202, 202, 0.25);
	border-radius: 40rpx 40rpx 0rpx 0rpx;
	z-index: 999;

	.btn {
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 28rpx;
		font-family: 'PingFang', 'PingFang';
		font-weight: 800;
		color: #FFFFFF;
		width: 686rpx;
		height: 80rpx;
		background: linear-gradient(180deg, #74AFFF 0%, #2D7CE6 100%);
		border-radius: 104rpx 104rpx 104rpx 104rpx;
	}
}

// 样式穿透
::v-deep .u-dot {
	background: #2D7CE6 !important;
}

.concent {
	width: 100vw;
	background: linear-gradient(183deg, #F0F6FF 0%, #FAFAFA 100%);
}

.view_body {
	width: 91.3%;
	margin: 0 auto;
}

.view_title {
	font-size: 28rpx;
	font-family: 'PingFang';
	font-weight: 800;
	color: #2E4975;
}

.view_input {
	line-height: 70rpx;
	background: #FFFFFF;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
	margin-top: 16rpx;
	padding: 0 24rpx;
}

.view_tubiao {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 46rpx;

	.view_tb {
		display: flex;
		padding-left: 24rpx;
		// align-items: center;
		// padding: 11rpx  24rpx 11rpx 24rpx;
		width: 120rpx;
		height: 52rpx;
		background: #FFFFFF;
		border-radius: 26rpx 26rpx 26rpx 26rpx;

		border: 2rpx solid #F1F1F1;

		color: #F18F21;
		font-size: 30rpx;
	}
}

.noting {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	margin-top: 16rpx;
	width: 686rpx;
	height: 124rpx;
	background: #FFFFFF;
	border-radius: 20rpx 20rpx 20rpx 20rpx;

	image {
		width: 58.19rpx;
		height: 60rpx;
	}

	.text1 {
		margin-left: 12rpx;
		font-size: 24rpx;
		font-family: PingFang SC, PingFang SC;
		font-weight: 500;
		color: #627698;
	}

	.text2 {
		margin-left: 12rpx;
		font-size: 24rpx;
		font-family: PingFang SC, PingFang SC;
		font-weight: 500;
		color: #2D7CE6;
		border-bottom: 2px solid #2D7CE6;
	}
}

.class_bj {
	margin-top: 16rpx;
}

.class_images {
	display: flex;
	flex-wrap: wrap;
	// justify-content: space-between;
	// margin-top: 20rpx;
}

.class_tp {
	width: 56rpx;
	height: 56rpx;
	margin-right: 12rpx;
}

.Ielts {
	font-size: 40rpx;
	font-weight: 400;
	color: #2E4975;
	margin: 20rpx 0;
}

.class_ys:nth-child(3n) {
	margin-right: 0;
}

.class_ys {
	margin-top: 20rpx;
	margin-right: 20rpx;
	width: 215rpx;
	height: 96rpx;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20rpx;
	// width: 215rpx;
	height: 96rpx;
	background: #FFFFFF;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
}


.class_wz {
	width: 125rpx;
	font-size: 28rpx;
	font-family: 'PingFang';
	font-weight: 500;
	color: #072F5A;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.view_form {
	padding: 0rpx 32rpx;
	background: #FFFFFF;
	margin-top: 16rpx;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
}

.view_textrea {
	height: 260rpx;
	background: #FFFFFF;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
	;
	margin-top: 16rpx;
	padding: 28rpx 32rpx;
}

.view_button {
	width: 93.1%;
	margin: auto;
	text-align: center;
	line-height: 80rpx;
	background: linear-gradient(180deg, #74AFFF 0%, #2D7CE6 100%);
	border-radius: 104rpx 104rpx 104rpx 104rpx;
	color: #FFFFFF;
}

.view_footer {
	width: 100%;
	padding: 0 16rpx;
	height: 144rpx;
	border-radius: 40rpx 40rpx 0rpx 0rpx;
	padding: 32rpx 0rpx;
	background-color: #fff;
	box-shadow: 0rpx -10rpx 16rpx 0rpx rgba(202, 202, 202, 0.25);
	margin-top: 8rpx;
}

.u-node {
	width: 44rpx;
	height: 44rpx;
	border-radius: 100rpx;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #d0d0d0;
}

.u-order-desc {
	display: block;
	// flex-wrap: nowrap;
	padding: 20rpx;
	background: #F9F9F9;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
	margin: 12rpx 0rpx;

	.txt {

		font-size: 24rpx;
		font-weight: 500;
		color: #2E4975;
	}
}

.u-order-time {
	color: rgb(200, 200, 200);
	font-size: 26rpx;
}

.yuandi {
	width: 18rpx;
	height: 18rpx;
	background: #2D7CE6;
	border-radius: 24rpx 24rpx 24rpx 24rpx;
}

.Test {
	font-size: 28rpx;
	font-weight: 800;
	color: #2E4975;
	margin-left: 12rpx;
}

.ellipses {
	font-size: 20rpx;
	background: rgba(242, 170, 2, 0.2);
	margin-left: 12rpx;
	padding: 8rpx 20rpx;
	color: #F2AA02;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
}

.erotic {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80rpx;
	height: 36rpx;
	font-size: 20rpx;
	background: rgba(242, 63, 170, 0.1);
	margin-left: 12rpx;
	// padding: 8rpx 20rpx;
	color: #F23FEB;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
}

.greener {
	font-size: 20rpx;
	background: rgba(27, 225, 178, 0.1);
	margin-left: 12rpx;
	padding: 8rpx 20rpx;
	color: #1BE1B2;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
}

.increase {
	padding: 26rpx 125rpx;
	color: #FFFFFF;
	background-color: #F39852;
	border-radius: 20rpx 20rpx 20rpx 20rpx;
	text-align: center;
}
</style>