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.
 
 
 
 

362 lines
13 KiB

<!--渗透检测-->
<template>
<div class="app-container">
<sticky v-if="state !== 'finish'" style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('create')">
保存
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('update')">
更新
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')">
生成报告
</el-button>
</div>
</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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格(外径mm×壁厚mm)" label-width="200px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管道编号" prop="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道材质" prop="guandaocaizhi">
<el-input v-model="param.guandaocaizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="表面状况" prop="biaomianzhuangkuang">
<el-input v-model="param.biaomianzhuangkuang" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测方法" prop="jiancefangfa">
<el-input v-model="param.jiancefangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="环境温度" prop="huanjingwendu">
<el-input v-model="param.huanjingwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测比例" prop="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit">
<template slot="prepend">
%
</template><template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="观察方式" prop="guanchafangshi">
<el-input v-model="param.guanchafangshi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="对比试块" prop="duibishikuai">
<el-input v-model="param.duibishikuai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="清洗剂型号" prop="qingxijixinghao">
<el-input v-model="param.qingxijixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="渗透剂型号" prop="shentoujixinghao">
<el-input v-model="param.shentoujixinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="显像剂型号" prop="xianxiangjixinghao">
<el-input v-model="param.xianxiangjixinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检测结果评定表</legend>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="40" />
<el-table-column align="center" prop="C1" width="80px" 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="200px" 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="200px" 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="80px" 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="200px" label="缺陷位置">
<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="200px" label="缺陷长度(mm)">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20" style="height: 90px;">
<el-col :span="18">
<el-form-item label="说明" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
</el-form-item>
</el-col>
</el-row>
<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 :span="9">
<sign-name :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检验日期" prop="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" disabled type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<el-date-picker v-model="ysjl.jianyanjieshuriqi" disabled type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</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 Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgStjc',
components: { SignName, Sticky },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
fileList: [],
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
},
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.tableData = this.param.fubiao ? JSON.parse(this.param.fubiao) : []
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
})
},
addRow: function() {
const d = {}
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
}, 10) // 用于延时渲染后选中这行
},
delRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.tableData.clearSelection()
this.delRowIndex = []
}
},
// 表格单击选中行
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
saveYsjl(state) {
let url = ''
if (state === 'build' && (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '')) {
this.$message({ message: '请先签名再生成报告!', type: 'error' })
return false
}
url = '/wusun'
this.$refs['ysjl'].validate(valid => {
const ysjl = { id: this.$route.query.id }
this.param.ysjlId = this.$route.query.id
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
data: {
ysjl: ysjl,
jyxm: this.$route.query.jyxm,
wsObj: this.param,
state: state
}
}).then(data => {
Utils.$emit('ysjl-list')
Utils.$emit('modifyMajorInspectionItemBySub')
this.state = 'update'
if (state === 'create') {
this.$message({ message: '保存成功', type: 'success' })
} else if (state === 'update') {
this.$message({ message: '更新成功', type: 'success' })
} else {
Utils.$emit('bggl-daiban-list')
this.$message({ message: '生成报告成功', type: 'success' })
this.$store.dispatch('delCurrentViews', {
view: this.$route,
$router: this.$router
})
}
})
}
})
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>