84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <!--
 | |
|  * @Author: zwq
 | |
|  * @Date: 2025-10-23 13:43:55
 | |
|  * @LastEditors: zwq
 | |
|  * @LastEditTime: 2025-10-23 16:50:43
 | |
|  * @Description:
 | |
| -->
 | |
| <template>
 | |
| 	<div class="app-container">
 | |
| 		<div v-for="item in groupClassArr" :key="item.planId">
 | |
| 			<small-title style="margin: 16px 0" size="sm" :no-padding="true">
 | |
| 				{{item.planName}}
 | |
| 			</small-title>
 | |
| 			<base-table
 | |
| 				:table-props="tableProps"
 | |
| 				:table-data="
 | |
| 					tableData.filter((titem) => titem.schedulingPlanId == item.planId)
 | |
| 				"></base-table>
 | |
| 		</div>
 | |
| 	</div>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| import SmallTitle from '../Schedule/SmallTitle';
 | |
| 
 | |
| const tableProps = [
 | |
| 	{
 | |
| 		prop: 'classesName',
 | |
| 		label: '班次名称',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'workTime',
 | |
| 		label: '班次时间',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'teamName',
 | |
| 		label: '班组名称',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'teamLeader',
 | |
| 		label: '组长',
 | |
| 	},
 | |
| 	{
 | |
| 		prop: 'teamLeaderPhone',
 | |
| 		label: '组长电话',
 | |
| 	},
 | |
| ];
 | |
| 
 | |
| export default {
 | |
| 	components: {
 | |
| 		SmallTitle,
 | |
| 	},
 | |
| 	data() {
 | |
| 		return {
 | |
| 			tableProps,
 | |
| 			tableData: [],
 | |
| 			groupClassArr: [],
 | |
| 		};
 | |
| 	},
 | |
| 	created() {},
 | |
| 	methods: {
 | |
| 		init(det) {
 | |
| 			this.tableData = det;
 | |
| 			//返回计划名和id
 | |
| 			const arr = det.map((item) => {
 | |
| 				const obj = {
 | |
| 					planName: item.schedulingPlanName,
 | |
| 					planId: item.schedulingPlanId,
 | |
| 				};
 | |
| 				return obj;
 | |
| 			});
 | |
| 			//去重
 | |
| 			const map = new Map();
 | |
| 			arr.forEach((item) => {
 | |
| 				if (!map.has(item.planId)) {
 | |
| 					map.set(item.planId, item);
 | |
| 				}
 | |
| 			});
 | |
| 			this.groupClassArr = Array.from(map.values());
 | |
| 		},
 | |
| 	},
 | |
| };
 | |
| </script>
 |