You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
382 lines
15 KiB
382 lines
15 KiB
<!--衍射时差法(TOFD)超声检测记录-->
|
|
<template>
|
|
<div class="app-container">
|
|
<sticky style="margin-bottom: 10px;">
|
|
<btn ref="btn" />
|
|
</sticky>
|
|
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
|
|
<fieldset>
|
|
<legend>基本信息</legend>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="记录编号" prop="jilubianhao">
|
|
<el-input v-model="ysjl.jilubianhao" disabled />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="检测仪器型号" prop="yiqixinghao">
|
|
<el-input v-model="param.yiqixinghao" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="9">
|
|
<el-form-item label="检测仪器编号" prop="yiqibianhao">
|
|
<el-input v-model="param.yiqibianhao" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="探头型号" prop="tantouxinghao">
|
|
<el-input v-model="param.tantouxinghao" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="9">
|
|
<el-form-item label="试块型号" prop="shikuaixinghao">
|
|
<el-input v-model="param.shikuaixinghao" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="22">
|
|
<el-col :span="9">
|
|
<el-form-item label="评定灵敏度" prop="pingdinglingmindu">
|
|
<el-input v-model="param.pingdinglingmindu" :disabled="edit">
|
|
<template slot="append">
|
|
(dB)
|
|
</template>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-form-item label="扫差方法/扫查面" prop="jiancefangfa">
|
|
<el-input v-model="param.jiancefangfa" :disabled="edit" style="width:110px" /> / <el-select v-model="tempSaochamian" :disabled="edit" filterable allow-create multiple default-first-option placeholder="请选择" style="width:180px">
|
|
<el-option label="单侧" value="单侧" />
|
|
<el-option label="双侧" value="双侧" />
|
|
<el-option label="单面" value="单面" />
|
|
<el-option label="双面" value="双面" />
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="耦合剂" prop="ouheji">
|
|
<el-input v-model="param.ouheji" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="9">
|
|
<el-form-item label="补偿" prop="buchang">
|
|
<el-input v-model="param.buchang" :disabled="edit">
|
|
<template slot="append">
|
|
(dB)
|
|
</template>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="检测标准" prop="jiancebiaozhun">
|
|
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="9">
|
|
<el-form-item label="检测比例" prop="jiancebili">
|
|
<el-input v-model="param.jiancebili" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="操作指导书编号" prop="caozuozhidaoshubianhao">
|
|
<el-input v-model="param.caozuozhidaoshubianhao" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>检测结果评定表</legend>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="通道间距" prop="tongdaojianju">
|
|
<el-input v-model="param.tongdaojianju" :disabled="edit" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-table ref="tableData1" :data="tableData1" class="myTable" border stripe style="width:100%;margin-top: 5px;">
|
|
<el-table-column align="center" prop="C1" width="120px" label="通道" />
|
|
<el-table-column align="center" label="技术参数">
|
|
<el-table-column align="center" prop="C2" width="120px" label="探头频率(MHz)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C2" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C3" width="120px" label="晶片尺寸(mm)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C4" width="120px" label="楔块角度(°)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C5" width="120px" label="探头中心间距(mm)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C5" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C6" width="120px" label="探头延迟(μs)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C7" width="120px" label="检测范围">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C7" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C8" width="120px" label="对比试块">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>检测结果评定表</legend>
|
|
<el-button type="success" icon="el-icon-download" size="mini" style="margin-right: 10px;" @click="common.downloadTemplate('压力容器衍射时差法检测记录表.xlsx')">
|
|
下载导入模板
|
|
</el-button>
|
|
<el-upload
|
|
:show-file-list="false"
|
|
:before-upload="uploadTableData"
|
|
style="float: left; margin-right: 10px;"
|
|
action="123"
|
|
>
|
|
<el-button type="primary" size="mini" icon="el-icon-upload" :disabled="edit">
|
|
导入数据
|
|
</el-button>
|
|
</el-upload>
|
|
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" :disabled="edit" @click="addRow()">
|
|
添加
|
|
</el-button>
|
|
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="delRow()">
|
|
删除
|
|
</el-button>
|
|
<el-table ref="tableData2" :data="tableData2" :row-class-name="tableRowClassName" class="myTable" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick" @selection-change="handleSelectionChange">
|
|
<el-table-column type="selection" width="40" />
|
|
<el-table-column type="index" align="center" width="50" label="序号" />
|
|
<el-table-column align="center" width="100px" label="区段编号">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C1" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C2" width="140px" label="检测数据文件名称">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C2" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C3" width="120px" label="缺陷位置">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C4" width="110px" label="缺陷埋藏深度(mm)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C5" width="110px" label="缺陷指示长度(mm)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C5" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C6" width="120px" label="缺陷高度(mm)">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C7" width="100px" label="评定级别">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C7" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column align="center" prop="C8" width="100px" label="备注">
|
|
<template slot-scope="scope">
|
|
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</fieldset>
|
|
<fieldset>
|
|
<legend>检测信息</legend>
|
|
<el-form-item label="检测结果" prop="jiancejieguo">
|
|
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="5" />
|
|
</el-form-item>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="检测人员" prop="jianyanrenyuan">
|
|
<el-input v-model="jianyanrenyuan" disabled />
|
|
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col v-if="state !== 'bgView'" :span="9">
|
|
<sign-name :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" :disabled="edit" @setSignValue="singNameValue" />
|
|
</el-col>
|
|
</el-row>
|
|
<el-row :gutter="20">
|
|
<el-col :span="9">
|
|
<el-form-item label="检测日期" prop="jianyanjieshuriqi">
|
|
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
</fieldset>
|
|
</el-form>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import Sticky from '@/components/Sticky'
|
|
import SignName from '@/views/common/SignName'
|
|
import btn from '@/views/common/WsButton'
|
|
import Utils from '../../../../../utils/contact.js'
|
|
export default {
|
|
name: 'RqZbgTofd',
|
|
components: { SignName, Sticky, btn },
|
|
data() {
|
|
return {
|
|
ysjl: {},
|
|
param: {},
|
|
tableData1: [{ C1: '通道一' }, { C1: '通道二' }, { C1: '通道三' }, { C1: '通道四' }],
|
|
tableData2: [],
|
|
delRowIndex2: [],
|
|
edit: false,
|
|
departmentId: this.$route.query.departmentId,
|
|
jianyanrenyuan: '',
|
|
ysjlId: this.$route.query.id,
|
|
state: '',
|
|
tempSaochamian: [],
|
|
info: {
|
|
ysjlId: this.$route.query.id,
|
|
jyxm: this.$route.query.jyxm,
|
|
limit: 1
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.getInfo()
|
|
},
|
|
methods: {
|
|
// 签名方法
|
|
singNameValue(data) {
|
|
this.jianyanrenyuan = data.name
|
|
this.ysjl.jianyanrenyuan = data.id
|
|
if (this.state !== 'create') {
|
|
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan)
|
|
Utils.$emit('ysjl-list')
|
|
}
|
|
},
|
|
getInfo() {
|
|
this.api({
|
|
url: '/wusun',
|
|
method: 'get',
|
|
params: {
|
|
ysjlId: this.$route.query.id,
|
|
jyxm: this.$route.query.jyxm
|
|
}
|
|
}).then(data => {
|
|
this.ysjl = data.ysjl
|
|
this.state = 'create'
|
|
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) {
|
|
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
|
|
}
|
|
if (data.param !== null && data.param !== undefined) {
|
|
// 有无损原始记录参数
|
|
this.state = 'update'
|
|
this.param = data.param
|
|
this.tempSaochamian = this.param.saochamian ? this.param.saochamian.split(';') : []
|
|
this.tableData1 = data.param.fubiao2 === null || data.param.fubiao2 === undefined ? [] : JSON.parse(data.param.fubiao2)
|
|
this.tableData2 = data.param.fubiao1 === null || data.param.fubiao1 === undefined ? [] : JSON.parse(data.param.fubiao1)
|
|
} else {
|
|
this.param = {
|
|
caozuozhidaoshubianhao: 'RDAE-2019'
|
|
}
|
|
}
|
|
if (this.ysjl.flowstatus !== null) {
|
|
this.state = 'finish'
|
|
this.edit = true
|
|
}
|
|
this.$refs.btn.getParentInfo(this.ysjl, this.param, this.tableData, this.state, true, false)
|
|
})
|
|
},
|
|
addRow: function() {
|
|
const d = {
|
|
}
|
|
this.tableData2.push(d)
|
|
setTimeout(() => {
|
|
this.$refs.tableData2.setCurrentRow(d)
|
|
}, 10) // 用于延时渲染后选中这行
|
|
},
|
|
delRow: function() {
|
|
if (this.delRowIndex2.length === 0) {
|
|
this.$message({
|
|
type: 'error',
|
|
message: '请选中需要删除的数据!'
|
|
})
|
|
return false
|
|
} else {
|
|
// 对delRowIndex进行排序,因为删除一个元素后index值会变
|
|
this.delRowIndex2.sort(function(x, y) {
|
|
if (x < y) {
|
|
return 1
|
|
}
|
|
if (x > y) {
|
|
return -1
|
|
}
|
|
return 0
|
|
})
|
|
for (let i = 0; i < this.delRowIndex2.length; i++) {
|
|
this.tableData2.splice(this.delRowIndex2[i], 1)
|
|
}
|
|
this.$refs.tableData2.clearSelection()
|
|
this.delRowIndex2 = []
|
|
}
|
|
},
|
|
// 表格单击选中行
|
|
onRowClick(row) {
|
|
this.$refs.tableData2.toggleRowSelection(row)
|
|
},
|
|
tableRowClassName({ row, rowIndex }) {
|
|
row.index = rowIndex
|
|
},
|
|
handleSelectionChange(val) {
|
|
this.delRowIndex2 = []
|
|
for (let i = 0; i < val.length; i++) {
|
|
this.delRowIndex2.push(val[i].index)
|
|
}
|
|
},
|
|
changed(item) {
|
|
this.param.imagePath = item
|
|
},
|
|
beforeSaveBuildData() {
|
|
this.param.ysjlId = this.$route.query.id
|
|
this.param.fubiao1 = this.tableData2
|
|
this.param.fubiao2 = this.tableData1
|
|
this.param.saochamian = this.tempSaochamian.join(';')
|
|
this.ysjl.jianyanjielun = this.param.jiancejieguo
|
|
},
|
|
uploadTableData(file) {
|
|
this.common.uploadTableData(file, this.tableData2)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
<style>
|
|
.myTable .el-input__inner{
|
|
padding: 0px 5px;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
|