|  | @@ -6,7 +6,6 @@
 | 
											
												
													
														|  |            v-model="ffdvalue.fname"
 |  |            v-model="ffdvalue.fname"
 | 
											
												
													
														|  |            :max="20"
 |  |            :max="20"
 | 
											
												
													
														|  |            controls-position="right"
 |  |            controls-position="right"
 | 
											
												
													
														|  | -          @keydown.enter="keydownenter"
 |  | 
 | 
											
												
													
														|  |          >
 |  |          >
 | 
											
												
													
														|  |            <template #append>
 |  |            <template #append>
 | 
											
												
													
														|  |              <fileUploads
 |  |              <fileUploads
 | 
											
										
											
												
													
														|  | @@ -61,36 +60,29 @@
 | 
											
												
													
														|  |        </el-row>
 |  |        </el-row>
 | 
											
												
													
														|  |      </el-form-item>
 |  |      </el-form-item>
 | 
											
												
													
														|  |      
 |  |      
 | 
											
												
													
														|  | -    <div style="height: 260px; overflow: hidden;">
 |  | 
 | 
											
												
													
														|  | -      <cloudChart :data="xyzData" />
 |  | 
 | 
											
												
													
														|  | -    </div>
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |      <div class="classtable" style="margin-top: 20px;">
 |  |      <div class="classtable" style="margin-top: 20px;">
 | 
											
												
													
														|  |        <el-table
 |  |        <el-table
 | 
											
												
													
														|  |          :data="tableDatacst1"
 |  |          :data="tableDatacst1"
 | 
											
												
													
														|  | -        style="width: 100%;"
 |  | 
 | 
											
												
													
														|  | 
 |  | +        style="width: 100%;margin-bottom: 20px;"
 | 
											
												
													
														|  |          border
 |  |          border
 | 
											
												
													
														|  | -        max-height="400"
 |  | 
 | 
											
												
													
														|  | 
 |  | +        
 | 
											
												
													
														|  |          :header-cell-class-name="headerCellClassName"
 |  |          :header-cell-class-name="headerCellClassName"
 | 
											
												
													
														|  |        >
 |  |        >
 | 
											
												
													
														|  | -        <el-table-column type="index" label="" width="60" />
 |  | 
 | 
											
												
													
														|  | -        <el-table-column prop="x" label="X">
 |  | 
 | 
											
												
													
														|  | -          <template #default="{ row }">
 |  | 
 | 
											
												
													
														|  | -            <el-input v-model="row.x" />
 |  | 
 | 
											
												
													
														|  | -          </template>
 |  | 
 | 
											
												
													
														|  | -        </el-table-column>
 |  | 
 | 
											
												
													
														|  | -        <el-table-column prop="y" label="Y">
 |  | 
 | 
											
												
													
														|  | -          <template #default="{ row }">
 |  | 
 | 
											
												
													
														|  | -            <el-input v-model="row.y" />
 |  | 
 | 
											
												
													
														|  | -          </template>
 |  | 
 | 
											
												
													
														|  | -        </el-table-column>
 |  | 
 | 
											
												
													
														|  | -        <el-table-column prop="z" label="Z">
 |  | 
 | 
											
												
													
														|  | -          <template #default="{ row }">
 |  | 
 | 
											
												
													
														|  | -            <el-input v-model="row.z" />
 |  | 
 | 
											
												
													
														|  | 
 |  | +        <el-table-column prop="rowname" label="" width="100" />
 | 
											
												
													
														|  | 
 |  | +        <el-table-column
 | 
											
												
													
														|  | 
 |  | +          v-for="(item,index) in tablecstHeaders" :key="index"
 | 
											
												
													
														|  | 
 |  | +          :prop="item.prop"
 | 
											
												
													
														|  | 
 |  | +          :label="item.label">
 | 
											
												
													
														|  | 
 |  | +          <template #default="{ row }"> 
 | 
											
												
													
														|  | 
 |  | +            <el-input v-model="row[item.prop]"  @change="handleEdit(row)"/>
 | 
											
												
													
														|  |            </template>
 |  |            </template>
 | 
											
												
													
														|  |          </el-table-column>
 |  |          </el-table-column>
 | 
											
												
													
														|  |        </el-table>
 |  |        </el-table>
 | 
											
												
													
														|  |      </div>
 |  |      </div>
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    <div style="height: 260px; overflow: hidden;">
 | 
											
												
													
														|  | 
 |  | +      <cloudChart :data="xyzData" />
 | 
											
												
													
														|  | 
 |  | +    </div>
 | 
											
												
													
														|  |    </div>
 |  |    </div>
 | 
											
												
													
														|  |  </template>
 |  |  </template>
 | 
											
												
													
														|  |  <script  setup>
 |  |  <script  setup>
 | 
											
										
											
												
													
														|  | @@ -118,8 +110,10 @@ let ffdvalue = ref({
 | 
											
												
													
														|  |  let order = ref(1)
 |  |  let order = ref(1)
 | 
											
												
													
														|  |  let vars = ref()
 |  |  let vars = ref()
 | 
											
												
													
														|  |  let tableDatacst1 = ref([
 |  |  let tableDatacst1 = ref([
 | 
											
												
													
														|  | -  {x: 0, y: -3.1, z: -23.5},
 |  | 
 | 
											
												
													
														|  | -  {x: 10.00333333, y: -3.1, z: -23.5},
 |  | 
 | 
											
												
													
														|  | 
 |  | +  { rowname: 'Y1Z1', X1: null, X2: null, X3: null, X4: null, X5: null, X6: null, X7: null, X8: null, X9: null },
 | 
											
												
													
														|  | 
 |  | +  { rowname: 'Y1Z2', X1: null, X2: null, X3: null, X4: null, X5: null, X6: null, X7: null, X8: null, X9: null },
 | 
											
												
													
														|  | 
 |  | +  { rowname: 'Y2Z1', X1: null, X2: null, X3: null, X4: null, X5: null, X6: null, X7: null, X8: null, X9: null },
 | 
											
												
													
														|  | 
 |  | +  { rowname: 'Y2Z2', X1: null, X2: null, X3: null, X4: null, X5: null, X6: null, X7: null, X8: null, X9: null }
 | 
											
												
													
														|  |  ])
 |  |  ])
 | 
											
												
													
														|  |  let tablecstHeaders = ref([
 |  |  let tablecstHeaders = ref([
 | 
											
												
													
														|  |    { prop: "X1", label: "X1" },
 |  |    { prop: "X1", label: "X1" },
 | 
											
										
											
												
													
														|  | @@ -143,133 +137,168 @@ const headerCellClassName = ({ columnIndex }) => {
 | 
											
												
													
														|  |    return ""
 |  |    return ""
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -// const generateTable = () => {
 |  | 
 | 
											
												
													
														|  | -//   console.log("generateTable")
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -//   // 获取X, Y, Z方向的数值
 |  | 
 | 
											
												
													
														|  | -//   const xCount = Number(ffdvalue.value.nx)
 |  | 
 | 
											
												
													
														|  | -//   const yCount = Number(ffdvalue.value.ny)
 |  | 
 | 
											
												
													
														|  | -//   const zCount = Number(ffdvalue.value.nz)
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -//   // 根据选中的参考坐标系来确定列名和行名
 |  | 
 | 
											
												
													
														|  | -//   let columns = []
 |  | 
 | 
											
												
													
														|  | -//   let rows = []
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -//   switch (order.value) {
 |  | 
 | 
											
												
													
														|  | -//     case 0: // x-y-z
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: xCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `X${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `X${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: yCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Y${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Y${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     case 1: // x-z-y
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: xCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `X${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `X${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: zCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Z${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Z${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     case 2: // y-x-z
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: yCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Y${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Y${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: xCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `X${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `X${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     case 3: // y-z-x
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: yCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Y${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Y${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: zCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Z${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Z${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     case 4: // z-x-y
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: zCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Z${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Z${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: xCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `X${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `X${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     case 5: // z-y-x
 |  | 
 | 
											
												
													
														|  | -//       columns = Array.from({ length: zCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Z${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Z${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       rows = Array.from({ length: yCount }, (_, i) => ({
 |  | 
 | 
											
												
													
														|  | -//         label: `Y${i + 1}`,
 |  | 
 | 
											
												
													
														|  | -//         prop: `Y${i + 1}`
 |  | 
 | 
											
												
													
														|  | -//       }))
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//     default:
 |  | 
 | 
											
												
													
														|  | -//       break
 |  | 
 | 
											
												
													
														|  | -//   }
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -//   // 更新表格列头
 |  | 
 | 
											
												
													
														|  | -//   tablecstHeaders.value = columns
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -//   // 生成表格的数据行
 |  | 
 | 
											
												
													
														|  | -//   tableDatacst1.value = []
 |  | 
 | 
											
												
													
														|  | -//   for (let i = 1; i <= rows.length; i++) {
 |  | 
 | 
											
												
													
														|  | -//     let row = { axis: rows[i - 1].label }
 |  | 
 | 
											
												
													
														|  | -//     columns.forEach((column) => {
 |  | 
 | 
											
												
													
														|  | -//       row[column.prop] = null // 每个单元格初始化为空
 |  | 
 | 
											
												
													
														|  | 
 |  | +// for (let i = 0; i < yCount; i++) {
 | 
											
												
													
														|  | 
 |  | +//   for(let j = 0; j< zCount; j++) {
 | 
											
												
													
														|  | 
 |  | +//     rows.push({
 | 
											
												
													
														|  | 
 |  | +//     label: `Y${i + 1}Z${j + 1}`,
 | 
											
												
													
														|  | 
 |  | +//     prop: `Y${i + 1}Z${j + 1}`
 | 
											
												
													
														|  |  //     })
 |  |  //     })
 | 
											
												
													
														|  | -//     tableDatacst1.value.push(row)
 |  | 
 | 
											
												
													
														|  |  //   }
 |  |  //   }
 | 
											
												
													
														|  |  // }
 |  |  // }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  const generateTable = () => {
 |  |  const generateTable = () => {
 | 
											
												
													
														|  | 
 |  | +  console.log("generateTable")
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |    // 获取 X, Y, Z 方向的数值
 |  |    // 获取 X, Y, Z 方向的数值
 | 
											
												
													
														|  | -  const xCount = Number(ffdvalue.value.nx);
 |  | 
 | 
											
												
													
														|  | -  const yCount = Number(ffdvalue.value.ny);
 |  | 
 | 
											
												
													
														|  | -  const zCount = Number(ffdvalue.value.nz);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -  // 计算总行数
 |  | 
 | 
											
												
													
														|  | -  const rowCount = xCount * yCount * zCount;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -  // 确定最大维度
 |  | 
 | 
											
												
													
														|  | -  const maxCount = Math.max(xCount, yCount, zCount);
 |  | 
 | 
											
												
													
														|  | -  let maxAxis = "x";
 |  | 
 | 
											
												
													
														|  | -  if (yCount === maxCount) maxAxis = "y";
 |  | 
 | 
											
												
													
														|  | -  if (zCount === maxCount) maxAxis = "z";
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -  // 清空表格数据
 |  | 
 | 
											
												
													
														|  | -  tableDatacst1.value = [];
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -  // 循环填充数据
 |  | 
 | 
											
												
													
														|  | -  for (let i = 0; i < rowCount; i++) {
 |  | 
 | 
											
												
													
														|  | -    // 计算 x, y, z 的索引
 |  | 
 | 
											
												
													
														|  | -    const xIndex = i + 1;
 |  | 
 | 
											
												
													
														|  | -    const yIndex = i + 1;
 |  | 
 | 
											
												
													
														|  | -    const zIndex = i + 1;
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    // 构造 row 数据
 |  | 
 | 
											
												
													
														|  | -    const row = {
 |  | 
 | 
											
												
													
														|  | -      x: maxAxis === "x" ? xIndex : i < xCount ? xIndex : "/",
 |  | 
 | 
											
												
													
														|  | -      y: maxAxis === "y" ? yIndex : i < yCount ? yIndex : "/",
 |  | 
 | 
											
												
													
														|  | -      z: maxAxis === "z" ? zIndex : i < zCount ? zIndex : "/",
 |  | 
 | 
											
												
													
														|  | -    };
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -    // 追加到 table 数据中
 |  | 
 | 
											
												
													
														|  | -    tableDatacst1.value.push(row);
 |  | 
 | 
											
												
													
														|  | 
 |  | +  const xCount = Number(ffdvalue.value.nx)
 | 
											
												
													
														|  | 
 |  | +  const yCount = Number(ffdvalue.value.ny)
 | 
											
												
													
														|  | 
 |  | +  const zCount = Number(ffdvalue.value.nz)
 | 
											
												
													
														|  | 
 |  | +  console.log("xCount", xCount, "yCount", yCount, "zCount", zCount)
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // 定义表格的列和行
 | 
											
												
													
														|  | 
 |  | +  let columns = []
 | 
											
												
													
														|  | 
 |  | +  let rows = []
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  switch (order.value) {
 | 
											
												
													
														|  | 
 |  | +    case 0: // x-y-z
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: xCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `X${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `X${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: yCount * zCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const yIndex = Math.floor(index / zCount)
 | 
											
												
													
														|  | 
 |  | +        const zIndex = index % zCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `Y${yIndex + 1}Z${zIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `Y${yIndex + 1}Z${zIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    case 1: // x-z-y
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: xCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `X${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `X${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: zCount * yCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const zIndex = Math.floor(index / yCount)
 | 
											
												
													
														|  | 
 |  | +        const yIndex = index % yCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `Z${zIndex + 1}Y${yIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `Z${zIndex + 1}Y${yIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    case 2: // y-x-z
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: yCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `Y${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `Y${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: xCount * zCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const xIndex = Math.floor(index / zCount)
 | 
											
												
													
														|  | 
 |  | +        const zIndex = index % zCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `X${xIndex + 1}Z${zIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `X${xIndex + 1}Z${zIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    case 3: // y-z-x
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: yCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `Y${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `Y${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: zCount * xCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const zIndex = Math.floor(index / xCount)
 | 
											
												
													
														|  | 
 |  | +        const xIndex = index % xCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `Z${zIndex + 1}X${xIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `Z${zIndex + 1}X${xIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    case 4: // z-x-y
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: zCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `Z${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `Z${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: xCount * yCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const xIndex = Math.floor(index / yCount)
 | 
											
												
													
														|  | 
 |  | +        const yIndex = index % yCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `X${xIndex + 1}Y${yIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `X${xIndex + 1}Y${yIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    case 5: // z-y-x
 | 
											
												
													
														|  | 
 |  | +      columns = Array.from({ length: zCount }, (_, i) => ({
 | 
											
												
													
														|  | 
 |  | +        label: `Z${i + 1}`,
 | 
											
												
													
														|  | 
 |  | +        prop: `Z${i + 1}`
 | 
											
												
													
														|  | 
 |  | +      }))
 | 
											
												
													
														|  | 
 |  | +      rows = Array.from({ length: yCount * xCount }, (_, index) => {
 | 
											
												
													
														|  | 
 |  | +        const yIndex = Math.floor(index / xCount)
 | 
											
												
													
														|  | 
 |  | +        const xIndex = index % xCount
 | 
											
												
													
														|  | 
 |  | +        return {
 | 
											
												
													
														|  | 
 |  | +          label: `Y${yIndex + 1}X${xIndex + 1}`,
 | 
											
												
													
														|  | 
 |  | +          prop: `Y${yIndex + 1}X${xIndex + 1}`
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +      })
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  | 
 |  | +    default:
 | 
											
												
													
														|  | 
 |  | +      console.error('无效的 order 值:', order.value)
 | 
											
												
													
														|  | 
 |  | +      break
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  | -};
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // 更新表格列头
 | 
											
												
													
														|  | 
 |  | +  tablecstHeaders.value = columns
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +  // 生成表格的数据行
 | 
											
												
													
														|  | 
 |  | +  tableDatacst1.value = []
 | 
											
												
													
														|  | 
 |  | +  for (let i = 1; i <= rows.length; i++) {
 | 
											
												
													
														|  | 
 |  | +    let row = { rowname: rows[i - 1].label }
 | 
											
												
													
														|  | 
 |  | +    columns.forEach((column) => {
 | 
											
												
													
														|  | 
 |  | +      row[column.prop] = null // 每个单元格初始化为空
 | 
											
												
													
														|  | 
 |  | +    })
 | 
											
												
													
														|  | 
 |  | +    tableDatacst1.value.push(row)
 | 
											
												
													
														|  | 
 |  | +  }
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +// const generateTable = () => {
 | 
											
												
													
														|  | 
 |  | +//   // 获取 X, Y, Z 方向的数值
 | 
											
												
													
														|  | 
 |  | +//   const xCount = Number(ffdvalue.value.nx);
 | 
											
												
													
														|  | 
 |  | +//   const yCount = Number(ffdvalue.value.ny);
 | 
											
												
													
														|  | 
 |  | +//   const zCount = Number(ffdvalue.value.nz);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//   // 计算总行数
 | 
											
												
													
														|  | 
 |  | +//   const rowCount = xCount * yCount * zCount;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//   // 确定最大维度
 | 
											
												
													
														|  | 
 |  | +//   const maxCount = Math.max(xCount, yCount, zCount);
 | 
											
												
													
														|  | 
 |  | +//   let maxAxis = "x";
 | 
											
												
													
														|  | 
 |  | +//   if (yCount === maxCount) maxAxis = "y";
 | 
											
												
													
														|  | 
 |  | +//   if (zCount === maxCount) maxAxis = "z";
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//   // 清空表格数据
 | 
											
												
													
														|  | 
 |  | +//   tableDatacst1.value = [];
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//   // 循环填充数据
 | 
											
												
													
														|  | 
 |  | +//   for (let i = 0; i < rowCount; i++) {
 | 
											
												
													
														|  | 
 |  | +//     // 计算 x, y, z 的索引
 | 
											
												
													
														|  | 
 |  | +//     const xIndex = i + 1;
 | 
											
												
													
														|  | 
 |  | +//     const yIndex = i + 1;
 | 
											
												
													
														|  | 
 |  | +//     const zIndex = i + 1;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//     // 构造 row 数据
 | 
											
												
													
														|  | 
 |  | +//     const row = {
 | 
											
												
													
														|  | 
 |  | +//       x: maxAxis === "x" ? xIndex : i < xCount ? xIndex : "/",
 | 
											
												
													
														|  | 
 |  | +//       y: maxAxis === "y" ? yIndex : i < yCount ? yIndex : "/",
 | 
											
												
													
														|  | 
 |  | +//       z: maxAxis === "z" ? zIndex : i < zCount ? zIndex : "/",
 | 
											
												
													
														|  | 
 |  | +//     };
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +//     // 追加到 table 数据中
 | 
											
												
													
														|  | 
 |  | +//     tableDatacst1.value.push(row);
 | 
											
												
													
														|  | 
 |  | +//   }
 | 
											
												
													
														|  | 
 |  | +// };
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  const handleFileUploadSuccess = (data) => {
 |  |  const handleFileUploadSuccess = (data) => {
 | 
											
												
													
														|  |    ffdvalue.value.fname = data.fname
 |  |    ffdvalue.value.fname = data.fname
 |