| 
					
				 | 
			
			
				@@ -1,13 +1,124 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<div></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="table-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="card table-main"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 表格头部 操作按钮 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="table-header"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="header-button-lf"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-form :model="queryParams" label-width="auto"  :inline="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item label="自动站:"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-select v-model="queryParams.code" placeholder="请选择" clearable style="width: 200px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-option label="RS0001" value="RS0001" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-option label="RS0002" value="RS0002" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-button type="primary" @click="handleQuery"> 查询 </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-button style="margin-left: 10px" @click="resetQuery"> 重置 </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!-- 表格主体 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table stripe ref="tableRef" :border="true" :data="processTableData"  size="small"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column align="left" width="80px" :show-overflow-tooltip="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template #header> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="header-with-diagonal"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span class="hour-label">时</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="diagonal-line"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span class="day-label">日</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template v-for="item in columns" :key="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-table-column v-bind="item" :align="item.align ?? 'center'" :reserve-selection="item.type == 'selection'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!-- 无数据 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #empty> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="table-empty"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <slot name="empty"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <img src="@/assets/images/notData.png" alt="notData" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div>暂无数据</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: "index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script setup lang="ts" name="useProTable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ref, reactive } from "vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ColumnProps } from "@/components/ProTable/interface"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const pageable = ref<any>({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  total: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const queryParams = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  code: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 查询功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const handleQuery = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//搜索功能 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const resetQuery = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const processTableData = ref([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 假设当前月份为5月 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const month = 5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 表格配置项 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const columns = reactive<ColumnProps[]>(generateColumns(month)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function generateColumns(month: number): ColumnProps[] { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const daysInMonth = new Date(new Date().getFullYear(), month, 0).getDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const columns = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (let i = 1; i <= daysInMonth; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    columns.push({ prop: `day${i}`, label: i.toString().padStart(2, '0'),width:50 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return columns; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.header-with-diagonal { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 25px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-<style scoped> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.hour-label { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bottom: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.day-label { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.diagonal-line { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  right: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 1px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  transform: rotate(25deg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  transform-origin: left center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |