|
@@ -60,29 +60,36 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
|
- <div class="classtable">
|
|
|
+
|
|
|
+ <div style="height: 260px; overflow: hidden;">
|
|
|
+ <cloudChart :data="xyzData" />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="classtable" style="margin-top: 20px;">
|
|
|
<el-table
|
|
|
:data="tableDatacst1"
|
|
|
- style="width: 100%"
|
|
|
+ style="width: 100%;height: 400px;"
|
|
|
border
|
|
|
:header-cell-class-name="headerCellClassName"
|
|
|
>
|
|
|
- <el-table-column prop="axis" label="" width="60" />
|
|
|
- <el-table-column
|
|
|
- v-for="(item, index) in tablecstHeaders"
|
|
|
- :key="index"
|
|
|
- :prop="item.prop"
|
|
|
- :label="item.label"
|
|
|
- >
|
|
|
+ <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[item.prop]" />
|
|
|
+ <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" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
- <div style="height: 260px">
|
|
|
- <cloudChart :data="xyzData" />
|
|
|
- </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
@@ -109,30 +116,8 @@ let ffdvalue = ref({
|
|
|
let order = ref(1)
|
|
|
let vars = ref()
|
|
|
let tableDatacst1 = ref([
|
|
|
- {
|
|
|
- axis: "Z1",
|
|
|
- X1: "1",
|
|
|
- X2: "2",
|
|
|
- X3: "3",
|
|
|
- X4: "4",
|
|
|
- X5: "5",
|
|
|
- X6: "6",
|
|
|
- X7: "7",
|
|
|
- X8: "8",
|
|
|
- X9: "9"
|
|
|
- },
|
|
|
- {
|
|
|
- axis: "Z2",
|
|
|
- X1: "1",
|
|
|
- X2: "2",
|
|
|
- X3: "3",
|
|
|
- X4: "4",
|
|
|
- X5: "5",
|
|
|
- X6: "6",
|
|
|
- X7: "7",
|
|
|
- X8: "8",
|
|
|
- X9: "9"
|
|
|
- }
|
|
|
+ {x: 0, y: -3.1, z: -23.5},
|
|
|
+ {x: 10.00333333, y: -3.1, z: -23.5},
|
|
|
])
|
|
|
let tablecstHeaders = ref([
|
|
|
{ prop: "X1", label: "X1" },
|
|
@@ -156,96 +141,133 @@ const headerCellClassName = ({ columnIndex }) => {
|
|
|
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 // 每个单元格初始化为空
|
|
|
+// })
|
|
|
+// tableDatacst1.value.push(row)
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
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
|
|
|
- }
|
|
|
+ // 获取 X, Y, Z 方向的数值
|
|
|
+ const xCount = Number(ffdvalue.value.nx);
|
|
|
+ const yCount = Number(ffdvalue.value.ny);
|
|
|
+ const zCount = Number(ffdvalue.value.nz);
|
|
|
|
|
|
- // 更新表格列头
|
|
|
- tablecstHeaders.value = columns
|
|
|
+ // 计算总行数
|
|
|
+ const rowCount = xCount * yCount * zCount;
|
|
|
|
|
|
- // 生成表格的数据行
|
|
|
- tableDatacst1.value = []
|
|
|
- for (let i = 1; i <= rows.length; i++) {
|
|
|
- let row = { axis: rows[i - 1].label }
|
|
|
- columns.forEach((column) => {
|
|
|
- row[column.prop] = null // 每个单元格初始化为空
|
|
|
- })
|
|
|
- tableDatacst1.value.push(row)
|
|
|
+ // 确定最大维度
|
|
|
+ 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) => {
|
|
|
ffdvalue.value.fname = data.fname
|
|
@@ -372,12 +394,12 @@ const getffdsAssign = (data) => {
|
|
|
order.value = Number(data.order)
|
|
|
vars.value = data.vars
|
|
|
generateTable()
|
|
|
- initializeTableFromVars()
|
|
|
+ // initializeTableFromVars()
|
|
|
}
|
|
|
|
|
|
// ffd保存
|
|
|
const getffdsave = () => {
|
|
|
- generateVars()
|
|
|
+ // generateVars()
|
|
|
const params = {
|
|
|
transCode: "MDO0044",
|
|
|
pid: pid.value,
|