|
|
@@ -22,14 +22,14 @@
|
|
|
</div>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="隧道名称" prop="tunnelName">
|
|
|
- <el-input v-model="formData.tunnelName" placeholder="请输入" />
|
|
|
+ <el-form-item label="隧道名称" prop="channelName">
|
|
|
+ <el-input v-model="formData.channelName" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="隧道时间" prop="tunnelTime">
|
|
|
+ <el-form-item label="隧道时间" prop="date">
|
|
|
<el-date-picker
|
|
|
- v-model="formData.tunnelTime"
|
|
|
+ v-model="formData.date"
|
|
|
style="width: 100%;"
|
|
|
type="date"
|
|
|
placeholder="请选择"
|
|
|
@@ -37,8 +37,8 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="测量者" prop="surveyor">
|
|
|
- <el-input v-model="formData.surveyor" placeholder="请输入" />
|
|
|
+ <el-form-item label="测量者" prop="userName">
|
|
|
+ <el-input v-model="formData.userName" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -52,18 +52,18 @@
|
|
|
</div>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="仪器高度" prop="instrumentHeight">
|
|
|
- <ElInput v-model="formData.instrumentHeight" placeholder="请输入" />
|
|
|
+ <el-form-item label="仪器高度" prop="deviceHeight">
|
|
|
+ <ElInput v-model="formData.deviceHeight" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="方向偏移量(X)" prop="offsetX">
|
|
|
- <ElInput v-model="formData.offsetX" placeholder="请输入" />
|
|
|
+ <el-form-item label="方向偏移量(X)" prop="x0">
|
|
|
+ <ElInput v-model="formData.x0" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="方向偏移量(Y)" prop="offsetY">
|
|
|
- <ElInput v-model="formData.offsetY" placeholder="请输入" />
|
|
|
+ <el-form-item label="方向偏移量(Y)" prop="z0">
|
|
|
+ <ElInput v-model="formData.z0" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -75,35 +75,35 @@
|
|
|
<!-- 标题文本 -->
|
|
|
<div class="title-text">标准断面</div>
|
|
|
</div>
|
|
|
- <el-row :gutter="20">
|
|
|
+ <el-row v-for="(eleItem, eleIndex) in formData.sectionBeans" :key="eleIndex" :gutter="20">
|
|
|
<el-col :span="4">
|
|
|
<el-form-item label="方向" prop="direction">
|
|
|
- <ElInput v-model="formData.direction" placeholder="请输入" />
|
|
|
+ <ElInput v-model="eleItem.direction" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
<el-form-item label="起角" prop="startAngle">
|
|
|
- <ElInput v-model="formData.startAngle" placeholder="请输入" />
|
|
|
+ <ElInput v-model="eleItem.startAngle" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
<el-form-item label="终角" prop="endAngle">
|
|
|
- <ElInput v-model="formData.endAngle" placeholder="请输入" />
|
|
|
+ <ElInput v-model="eleItem.endAngle" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
<el-form-item label="半径" prop="radius">
|
|
|
- <ElInput v-model="formData.radius" placeholder="请输入" />
|
|
|
+ <ElInput v-model="eleItem.radius" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
- <el-form-item label="圆心(X)" prop="centerX">
|
|
|
- <ElInput v-model="formData.centerX" placeholder="请输入" />
|
|
|
+ <el-form-item label="圆心(X)" prop="x">
|
|
|
+ <ElInput v-model="eleItem.x" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="4">
|
|
|
- <el-form-item label="圆心(Z)" prop="centerZ">
|
|
|
- <ElInput v-model="formData.centerZ" placeholder="请输入" />
|
|
|
+ <el-form-item label="圆心(Z)" prop="y">
|
|
|
+ <ElInput v-model="eleItem.y" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -116,22 +116,22 @@
|
|
|
<div class="title-text">测量点数组</div>
|
|
|
</div>
|
|
|
|
|
|
- <HcTable is-new :column="tableColumn" :datas="formData.measurePoints">
|
|
|
+ <HcTable is-new :column="tableColumn" :datas="formData.data">
|
|
|
<template #angle="{ row }">
|
|
|
<el-input v-model="row.angle" size="small" />
|
|
|
</template>
|
|
|
- <template #distance="{ row }">
|
|
|
- <el-input v-model="row.distance" size="small" />
|
|
|
+ <template #dist="{ row }">
|
|
|
+ <el-input v-model="row.dist" size="small" />
|
|
|
</template>
|
|
|
<template #x="{ row }">
|
|
|
<el-input v-model="row.x" size="small" />
|
|
|
</template>
|
|
|
- <template #y="{ row }">
|
|
|
- <el-input v-model="row.y" size="small" />
|
|
|
+ <template #z="{ row }">
|
|
|
+ <el-input v-model="row.z" size="small" />
|
|
|
</template>
|
|
|
- <template #status="{ row }">
|
|
|
+ <template #backBreak="{ row }">
|
|
|
<el-select
|
|
|
- v-model="row.status"
|
|
|
+ v-model="row.backBreak"
|
|
|
size="small"
|
|
|
style="width: 100%"
|
|
|
>
|
|
|
@@ -147,19 +147,25 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { defineModel, onMounted, ref, watch } from 'vue'
|
|
|
+import { getObjValue } from 'js-fast-way'
|
|
|
|
|
|
-
|
|
|
+import crossApi from '~api/cross/cross'
|
|
|
|
|
|
const props = defineProps({
|
|
|
formDisabled: {
|
|
|
type: Boolean,
|
|
|
default: false,
|
|
|
},
|
|
|
+ rowId: {
|
|
|
+ type: String,
|
|
|
+ default: '',
|
|
|
+ },
|
|
|
|
|
|
|
|
|
})
|
|
|
+const emit = defineEmits(['save'])
|
|
|
const formDisabled = ref(props.formDisabled)
|
|
|
-
|
|
|
+const rowId = ref(props.rowId)
|
|
|
// 双向绑定弹窗显示状态
|
|
|
const editModal = defineModel('modelValue', {
|
|
|
default: false,
|
|
|
@@ -170,6 +176,34 @@ watch(() => props.formDisabled, (val) => {
|
|
|
formDisabled.value = val
|
|
|
editModalTitle.value = val ? '查看详情' : '编辑'
|
|
|
})
|
|
|
+watch(() => props.rowId, (val) => {
|
|
|
+ rowId.value = val
|
|
|
+ if (val) {
|
|
|
+ getOneDetail(val)
|
|
|
+ }
|
|
|
+})
|
|
|
+const getOneDetail = async (id)=>{
|
|
|
+ confirmLoad.value = true
|
|
|
+ const { error, code, data } = await crossApi.getOne({
|
|
|
+ id,
|
|
|
+
|
|
|
+ })
|
|
|
+ //判断状态
|
|
|
+ confirmLoad.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ console.log(data, '详情')
|
|
|
+ formData.value = getObjValue(data)
|
|
|
+ const { sectionBeans } = data
|
|
|
+ if (sectionBeans.length === 0) {
|
|
|
+ formData.value.sectionBeans = [{}]
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ formData.value = {}
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
// 表单引用
|
|
|
const formRef = ref(null)
|
|
|
// 加载状态
|
|
|
@@ -177,31 +211,29 @@ const confirmLoad = ref(false)
|
|
|
|
|
|
// 表单数据结构
|
|
|
const formData = ref({
|
|
|
- tunnelName: '',
|
|
|
- tunnelTime: '',
|
|
|
- surveyor: '',
|
|
|
- instrumentHeight: '',
|
|
|
- offsetX: '',
|
|
|
- offsetY: '',
|
|
|
+ channelName: '',
|
|
|
+ date: '',
|
|
|
+ userName: '',
|
|
|
+ deviceHeight: '',
|
|
|
+ x0: '',
|
|
|
+ z0: '',
|
|
|
direction: '',
|
|
|
startAngle: '',
|
|
|
endAngle: '',
|
|
|
radius: '',
|
|
|
- centerX: '',
|
|
|
- centerZ: '',
|
|
|
- measurePoints: [
|
|
|
- { angle: '测点角度1', distance: '10', x: '10', y: '10', status: '超挖' },
|
|
|
- { angle: '测点角度2', distance: '20', x: '20', y: '20', status: '正常' },
|
|
|
- { angle: '测点角度3', distance: '30', x: '30', y: '30', status: '欠挖' },
|
|
|
+ x: '',
|
|
|
+ z: '',
|
|
|
+ data: [
|
|
|
+
|
|
|
|
|
|
],
|
|
|
})
|
|
|
const tableColumn = [
|
|
|
{ key: 'angle', name: '测点角度' },
|
|
|
- { key: 'distance', name: '距离' },
|
|
|
+ { key: 'dist', name: '距离' },
|
|
|
{ key: 'x', name: 'X坐标' },
|
|
|
- { key: 'y', name: 'Y坐标' },
|
|
|
- { key: 'status', name: '超/欠挖值' },
|
|
|
+ { key: 'z', name: 'Y坐标' },
|
|
|
+ { key: 'backBreak', name: '超/欠挖值' },
|
|
|
|
|
|
]
|
|
|
// 添加新的测量点
|
|
|
@@ -221,17 +253,18 @@ const confirmLink = async () => {
|
|
|
}
|
|
|
|
|
|
confirmLoad.value = true
|
|
|
- try {
|
|
|
- // 模拟提交逻辑
|
|
|
- console.log('提交表单数据:', formData.value)
|
|
|
- // 实际项目中这里会调用API
|
|
|
- await new Promise(resolve => setTimeout(resolve, 1000))
|
|
|
- editModal.value = false
|
|
|
- } catch (error) {
|
|
|
- console.error('提交失败:', error)
|
|
|
- } finally {
|
|
|
+
|
|
|
+ const { error, code, msg } = await crossApi.edit(formData.value)
|
|
|
+ //判断状态
|
|
|
confirmLoad.value = false
|
|
|
- }
|
|
|
+ if (!error && code === 200) {
|
|
|
+
|
|
|
+ window.$message.success('保存成功')
|
|
|
+ closeModal()
|
|
|
+ emit('save')
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
</script>
|
|
|
|