Browse Source

复制威海压力管道页面

master
李磊 3 years ago
parent
commit
2f938c294f
  1. 1165
      src/views/bggl/8000/dj/dq/edit.vue
  2. 211
      src/views/bggl/8000/dj/dq/fenxiang/ajlsy.vue
  3. 602
      src/views/bggl/8000/dj/dq/fenxiang/aqfj.vue
  4. 274
      src/views/bggl/8000/dj/dq/fenxiang/bhcd.vue
  5. 166
      src/views/bggl/8000/dj/dq/fenxiang/gzaqqrb.vue
  6. 175
      src/views/bggl/8000/dj/dq/fenxiang/hlsjl.vue
  7. 193
      src/views/bggl/8000/dj/dq/fenxiang/hxcf.vue
  8. 180
      src/views/bggl/8000/dj/dq/fenxiang/jxfx.vue
  9. 159
      src/views/bggl/8000/dj/dq/fenxiang/mxb.vue
  10. 137
      src/views/bggl/8000/dj/dq/fenxiang/nyjh.vue
  11. 262
      src/views/bggl/8000/dj/dq/fenxiang/nysy.vue
  12. 215
      src/views/bggl/8000/dj/dq/fenxiang/qmxsy.vue
  13. 251
      src/views/bggl/8000/dj/dq/fenxiang/sxjcfb.vue
  14. 197
      src/views/bggl/8000/dj/dq/fenxiang/ydjc.vue
  15. 349
      src/views/bggl/8000/dj/dq/wusun/cfjc.vue
  16. 389
      src/views/bggl/8000/dj/dq/wusun/csjc.vue
  17. 347
      src/views/bggl/8000/dj/dq/wusun/stjc.vue
  18. 445
      src/views/bggl/8000/dj/dq/wusun/sxjc.vue
  19. 204
      src/views/bggl/8000/dj/mxb.vue
  20. 799
      src/views/bggl/8000/dj/nd/edit.vue
  21. 123
      src/views/bggl/8000/dj/nd/fenxiang/aqfj.vue
  22. 268
      src/views/bggl/8000/dj/nd/fenxiang/bhcd.vue
  23. 228
      src/views/bggl/8000/dj/nd/fenxiang/dz.vue
  24. 169
      src/views/bggl/8000/dj/nd/fenxiang/mxb.vue
  25. 922
      src/views/bggl/8000/jj/azjj.vue
  26. 226
      src/views/bggl/8000/jj/component/GdHzb.vue
  27. 40
      src/views/bggl/8000/jj/component/GdWtcl.vue
  28. 50
      src/views/bggl/8000/jj/component/JdjyJg.vue
  29. 348
      src/views/bggl/8000/jj/component/SjdwQk.vue
  30. 183
      src/views/bggl/8000/jj/component/SjdwWsjc.vue
  31. 758
      src/views/bggl/8000/jj/edit.vue
  32. 166
      src/views/bggl/8000/jj/fenxiang/aqjmfx.vue
  33. 118
      src/views/bggl/8000/jj/fenxiang/azdw.vue
  34. 165
      src/views/bggl/8000/jj/fenxiang/azzlsc.vue
  35. 283
      src/views/bggl/8000/jj/fenxiang/czsc.vue
  36. 162
      src/views/bggl/8000/jj/fenxiang/dtztsyx.vue
  37. 238
      src/views/bggl/8000/jj/fenxiang/gzsc.vue
  38. 125
      src/views/bggl/8000/jj/fenxiang/jcdw.vue
  39. 112
      src/views/bggl/8000/jj/fenxiang/jgzlsc.vue
  40. 137
      src/views/bggl/8000/jj/fenxiang/jsdw.vue
  41. 172
      src/views/bggl/8000/jj/fenxiang/nyxlsy.vue
  42. 275
      src/views/bggl/8000/jj/fenxiang/qdymxsy.vue
  43. 143
      src/views/bggl/8000/jj/fenxiang/qxsc.vue
  44. 153
      src/views/bggl/8000/jj/fenxiang/ssaz.vue
  45. 150
      src/views/bggl/8000/jj/fenxiang/wtclyj.vue
  46. 293
      src/views/bggl/8000/jj/fenxiang/zlsc.vue
  47. 199
      src/views/bggl/8000/jj/mxb.vue
  48. 1011
      src/views/ysjl/8000/dj/edit.vue
  49. 15
      src/views/ysjl/8000/dj/fenxiang/ajlsy.vue
  50. 207
      src/views/ysjl/8000/dj/fenxiang/aqfj.vue
  51. 254
      src/views/ysjl/8000/dj/fenxiang/bhcd.vue
  52. 28
      src/views/ysjl/8000/dj/fenxiang/dxt.vue
  53. 66
      src/views/ysjl/8000/dj/fenxiang/fjjy.vue
  54. 166
      src/views/ysjl/8000/dj/fenxiang/gzaqqrb.vue
  55. 15
      src/views/ysjl/8000/dj/fenxiang/hlsjl.vue
  56. 473
      src/views/ysjl/8000/dj/fenxiang/hxcf.vue
  57. 136
      src/views/ysjl/8000/dj/fenxiang/jxfx.vue
  58. 158
      src/views/ysjl/8000/dj/fenxiang/mxb.vue
  59. 240
      src/views/ysjl/8000/dj/fenxiang/nyjh.vue
  60. 131
      src/views/ysjl/8000/dj/fenxiang/nysy.vue
  61. 24
      src/views/ysjl/8000/dj/fenxiang/qmxsy.vue
  62. 86
      src/views/ysjl/8000/dj/fenxiang/sxjcfb.vue
  63. 113
      src/views/ysjl/8000/dj/fenxiang/xncsylb.vue
  64. 274
      src/views/ysjl/8000/dj/fenxiang/ydjc.vue
  65. 281
      src/views/ysjl/8000/dj/wusun/cfjc.vue
  66. 267
      src/views/ysjl/8000/dj/wusun/csjc.vue
  67. 247
      src/views/ysjl/8000/dj/wusun/stjc.vue
  68. 388
      src/views/ysjl/8000/dj/wusun/sxjc.vue
  69. 935
      src/views/ysjl/8000/jj/edit.vue
  70. 803
      src/views/ysjl/8000/jj/edit2.vue
  71. 211
      src/views/ysjl/8000/jj/fenxiang/ajlsy.vue
  72. 597
      src/views/ysjl/8000/jj/fenxiang/aqfj.vue
  73. 296
      src/views/ysjl/8000/jj/fenxiang/bhcd.vue
  74. 207
      src/views/ysjl/8000/jj/fenxiang/czmxb.vue
  75. 139
      src/views/ysjl/8000/jj/fenxiang/gzaqqrb.vue
  76. 175
      src/views/ysjl/8000/jj/fenxiang/hlsjl.vue
  77. 193
      src/views/ysjl/8000/jj/fenxiang/hxcf.vue
  78. 180
      src/views/ysjl/8000/jj/fenxiang/jxfx.vue
  79. 187
      src/views/ysjl/8000/jj/fenxiang/mxb2.vue
  80. 272
      src/views/ysjl/8000/jj/fenxiang/nyjh.vue
  81. 262
      src/views/ysjl/8000/jj/fenxiang/nysy.vue
  82. 215
      src/views/ysjl/8000/jj/fenxiang/qmxsy.vue
  83. 251
      src/views/ysjl/8000/jj/fenxiang/sxjcfb.vue
  84. 351
      src/views/ysjl/8000/jj/fenxiang/sxzlcc.vue
  85. 208
      src/views/ysjl/8000/jj/fenxiang/ydjc.vue
  86. 161
      src/views/ysjl/8000/jj/fenxiang/zlsspj.vue
  87. 362
      src/views/ysjl/8000/jj/wusun/cfjc.vue
  88. 373
      src/views/ysjl/8000/jj/wusun/csjc.vue
  89. 362
      src/views/ysjl/8000/jj/wusun/stjc.vue
  90. 453
      src/views/ysjl/8000/jj/wusun/sxjc.vue
  91. 366
      src/views/ysjl/8000/nd/edit.vue
  92. 395
      src/views/ysjl/8000/nd/fenxiang/aqfj.vue
  93. 200
      src/views/ysjl/8000/nd/fenxiang/bhcd.vue
  94. 30
      src/views/ysjl/8000/nd/fenxiang/dxt.vue
  95. 203
      src/views/ysjl/8000/nd/fenxiang/dz.vue
  96. 168
      src/views/ysjl/8000/nd/fenxiang/mxb.vue

1165
src/views/bggl/8000/dj/dq/edit.vue

File diff suppressed because it is too large

211
src/views/bggl/8000/dj/dq/fenxiang/ajlsy.vue

@ -1,211 +0,0 @@
<!--氨检漏试验报告-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="氨浓度" prop="annongdu">
<el-input v-model="param.annongdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力表量程" prop="yalibiaoliangcheng">
<el-input v-model="param.yalibiaoliangcheng" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压力表精度" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</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="shizhi">
<el-input v-model="param.shizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="保压时间" prop="baoyashijian">
<el-input v-model="param.baoyashijian" :disabled="edit">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="jiaohejieguo">
<el-input v-model="param.jiaohejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgAjlsy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
chTableData: [],
delRowIndex: [],
dialogImageUrl: '',
dialogVisible: false,
fileList: [],
upLoadData: {
ysjlId: ''
},
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.upLoadData.ysjlId = data.ysjl.id
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/ajlsy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const d = {
}
this.chTableData.push(d)
setTimeout(() => {
this.$refs.chTableData.setCurrentRow(d)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.chTableData.splice(this.delRowIndex[i], 1)
}
this.$refs.chTableData.clearSelection()
this.delRowIndex = []
}
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

602
src/views/bggl/8000/dj/dq/fenxiang/aqfj.vue

@ -1,602 +0,0 @@
<!-- 安全附件分项页面 -->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="管道编号" prop="guandaobianhao">
<el-input v-model="param.guandaobianhao" :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">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="最高工作压力" prop="gongzuoyali">
<el-input v-model="param.gongzuoyali" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计温度" prop="shejiwendu">
<el-input v-model="param.shejiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="gongzuowendu">
<el-input v-model="param.gongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="gongzuojiezhi">
<el-input v-model="param.gongzuojiezhi" :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="ylbshejiguidingshu">
<el-input v-model="param.ylbshejiguidingshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实际安装数" prop="ylbshijianzhuangshu">
<el-input v-model="param.ylbshijianzhuangshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="ylbanzhuangweizhi">
<el-input v-model="param.ylbanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="ylbyouxiaoqi">
<el-input v-model="param.ylbyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="量程" prop="ylbliangcheng">
<el-input v-model="param.ylbliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="精度" prop="ylbjingdu">
<el-input v-model="param.ylbjingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="表盘直径" prop="ylbbiaopanzhijing">
<el-input v-model="param.ylbbiaopanzhijing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="外观质量" prop="ylbwaiguanzhiliang">
<el-input v-model="param.ylbwaiguanzhiliang" :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="cwyshejiguidingshu">
<el-input v-model="param.cwyshejiguidingshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实际安装数" prop="cwyshijianzhuangshu">
<el-input v-model="param.cwyshijianzhuangshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="cwyanzhuangweizhi">
<el-input v-model="param.cwyanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="cwybyouxiaoqi">
<el-input v-model="param.cwybyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="量程" prop="cwyliangcheng">
<el-input v-model="param.cwyliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="精度" prop="cwyjingdu">
<el-input v-model="param.cwyjingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="外观质量" prop="cwybwaiguan">
<el-input v-model="param.cwybwaiguan" :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="aqfshuliang">
<el-input v-model="param.aqfshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="aqfxinghao">
<el-input v-model="param.aqfxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfgongchengyali">
<el-input v-model="param.aqfgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfgongchengtongjing">
<el-input v-model="param.aqfgongchengtongjing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>安全阀检查情况</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="数量" prop="aqfsjshuliang">
<el-input v-model="param.aqfsjshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="aqfsjxinghao">
<el-input v-model="param.aqfsjxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfsjgongchengyali">
<el-input v-model="param.aqfsjgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfsjgongchengtongjing">
<el-input v-model="param.aqfsjgongchengtongjing" :disabled="edit">
<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="aqfkaiqiyali">
<el-input v-model="param.aqfkaiqiyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="aqfgongzuowendu">
<el-input v-model="param.aqfgongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="aqfgongzuojiezhi">
<el-input v-model="param.aqfgongzuojiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="外观质量" prop="aqfwaiguanzhiliang">
<el-input v-model="param.aqfwaiguanzhiliang" :disabled="edit">
<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="aqfyouxiaoqi">
<el-input v-model="param.aqfyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="铅封" prop="aqfqianfeng">
<el-input v-model="param.aqfqianfeng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="aqfanzhuangweizhi">
<el-input v-model="param.aqfanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="aqfhegezhengbianhao">
<el-input v-model="param.aqfhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="aqfzhizaoxukezheng">
<el-input v-model="param.aqfzhizaoxukezheng" :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="bppshuliang">
<el-input v-model="param.bppshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="bppxinghao">
<el-input v-model="param.bppxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="规格" prop="bppguige">
<el-input v-model="param.bppguige" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="爆破应力" prop="bppbaopoyingli">
<el-input v-model="param.bppbaopoyingli" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称直径" prop="bppgongchengzhijing">
<el-input v-model="param.bppgongchengzhijing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料" prop="bppsjcailiao">
<el-input v-model="param.bppsjcailiao" :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="bppsjshuliang">
<el-input v-model="param.bppsjshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="bppsjxinghao">
<el-input v-model="param.bppsjxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="规格" prop="bppsjguige">
<el-input v-model="param.bppsjguige" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称直径" prop="bppsjgongchengzhijing">
<el-input v-model="param.bppsjgongchengzhijing" :disabled="edit">
<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="bppwaiguanzhiliang">
<el-input v-model="param.bppwaiguanzhiliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="bppyouxiaoqi">
<el-input v-model="param.bppyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="bppanzhuangweizhi">
<el-input v-model="param.bppanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="bpphegezhengbianhao">
<el-input v-model="param.bpphegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="bppzhizaoxukezheng">
<el-input v-model="param.bppzhizaoxukezheng" :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="jjqdzzchangjia">
<el-input v-model="param.jjqdzzchangjia" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="制造许可证号" prop="jjqdzzxukezhenghao">
<el-input v-model="param.jjqdzzxukezhenghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="合格证编号" prop="jjqdzzhegezhengbianhao">
<el-input v-model="param.jjqdzzhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型式及规格" prop="jjqdzzxingshiguige">
<el-input v-model="param.jjqdzzxingshiguige" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="切断时间" prop="jjqdzzqieduanshijian">
<el-input v-model="param.jjqdzzqieduanshijian" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="jjqdzzyouxiaoqi">
<el-input v-model="param.jjqdzzyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="耐压试验" prop="jjqdzznaiyashiyanyali">
<el-input v-model="param.jjqdzznaiyashiyanyali" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="密封压力试验" prop="jjqdzzmibishiyanyali">
<el-input v-model="param.jjqdzzmibishiyanyali" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="铅封" prop="jjqdzzqianfeng">
<el-input v-model="param.jjqdzzqianfeng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset style="display: none;">
<legend>检验信息</legend>
<el-form-item label="" prop="jianyanrenyuan">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgAqfj',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
bppxinghao: '—',
bppshuliang: '—',
bppguige: '—',
bppgenghuanzhouqiyaoqiu: '—',
bppgenghuariqi: '—',
bppanzhuangweizhi: '—',
jjqdzzxingshiguige: '—',
jjqdzzshuliang: '—',
jjqdzznaiyashiyanyali: '—',
jjqdzzmibishiyanyali: '—',
jjqdzzqieduanshijian: '—',
jjqdzzjianxiujilu: '—',
jjqdzzanzhuangweizhi: '—',
jjqdzzwaiguan: '—',
ywjxingshi: '—',
ywjshuliang: '—',
ywjrongqichongzhuangliang: '—',
ywjanzhuangweizhi: '—',
ywjwaiguan: '—',
ywjwucha: '±',
cwybxinghao: '—',
cwybyouxiaoqi: '—',
cwybwaiguan: '—',
qxrgshiyanyali: '—',
qxrgshiyanjiezhi: '—',
qxrgbaoyashijian: '—',
yxrgshiyanyali: '—',
yxrgshiyanjiezhi: '—',
yxrgbaoyashijian: '—',
kuaikaimenjianyanjieguo: '合格'
},
state: '',
edit: false,
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
ysjl: this.ysjl,
param: this.param,
jyxm: this.$route.query.jyxm,
state: this.state
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
})
},
//
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)
}
}
}
}
</script>

274
src/views/bggl/8000/dj/dq/fenxiang/bhcd.vue

@ -1,274 +0,0 @@
<!--壁厚测定-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit">
<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="guanjianceliangbili">
<el-input v-model="param.guanjianceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子测量比例" prop="guanziceliangbili">
<el-input v-model="param.guanziceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="实测点数" prop="shicedianshu">
<el-input v-model="param.shicedianshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实测最小壁厚" prop="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit">
<template slot="append">
(mm)
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" 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" label="厚度(mm)">
<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" 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" 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" 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="115px" 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="115px" 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="115px" label="厚度(mm)">
<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="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgBhcd',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {
guanjianceliangbili: ' % 个',
guanziceliangbili: ' % 个',
yijingguanceliangbili: ' % 个',
qitaceliangbili: ' % 段',
jiancejieguo: '符合设计规定/ 需强度校核'
},
tableData: [],
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
changed(item) {
this.param.imagePath = item
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

166
src/views/bggl/8000/dj/dq/fenxiang/gzaqqrb.vue

@ -1,166 +0,0 @@
<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="使用单位代表">
<el-input v-model="param.shiyongdanweidaibiao" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="日期">
<el-date-picker v-model="param.daibiaoriqi" value-format="yyyy年MM月dd日" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>工作安全确认表</legend>
<el-table :data="tableData" border stripe style="width: 100%;">
<el-table-column align="center" prop="C1" width="100" label="项次" />
<el-table-column align="center" prop="C2" width="500" label="内容">
<template slot-scope="scope">
<span v-if="scope.row.C1 !== '其他'">{{ scope.row.C2 }}</span>
<el-input v-else v-model="scope.row.C2" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" width="400" label="检查结果">
<template slot-scope="scope">
<el-checkbox-group v-model="scope.row.C3" @change="change">
<el-checkbox v-for="item in scope.row.C3" v-show="item.label" :key="item.key" :label="item.label" />
</el-checkbox-group>
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgGzaqqrb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
tableData: [],
edit: false,
state: '',
param: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.formatterJG()
} else {
this.getDicJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
/**
* 从字典中获取检验项目
*/
getDicJyxm() {
this.api({
url: '/jyxm/getCyJyxm',
method: 'post',
data: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
data.forEach((v) => {
this.tableData.push({
C1: v.jianyanxiang,
C2: v.jianyanneirong,
C3: v.jianyanjieguo
})
})
this.formatterJG()
})
},
/**
* 将检验结果字符串转换成适应单选框的所需数据
* 最后一个变量为选中的label
* [{label:'a', key: '0_0'},{label:'b', key: '0_1'},{label:'c', key: '0_2'},'d']
*/
formatterJG() {
for (let i = 0; i < this.tableData.length; i++) {
const temp = this.tableData[i].C3.split(';')
const C3Array = this.tableData[i].C3.replace(/□/g, '').replace(/☑/g, '').split(';')
let C3Check = ''
for (let j = 0; j < temp.length; j++) {
if (temp[j].indexOf('☑') !== -1) {
C3Check = C3Array[j]
}
C3Array[j] = {
label: C3Array[j],
key: i + '_' + j
}
}
C3Array.push(C3Check)
this.tableData[i].C3 = C3Array
}
},
/**
* 因为最后一个变量为被选中的变量那么将删除最后一个变量的前一个变量
* 需要保证被删除的变量必须是上次选中的数据因为每个选项都存在label所以判断label是否存在
*/
change(row) {
if (!row[row.length - 2].label) {
row.splice(row.length - 2, 1)
}
},
beforeSaveBuildData() {
for (let i = 0; i < this.param.fubiao.length; i++) {
let tempC3 = ''
for (let j = 0; j < this.param.fubiao[i].C3.length - 1; j++) {
if (this.param.fubiao[i].C3[j].label === this.param.fubiao[i].C3[this.param.fubiao[i].C3.length - 1]) {
tempC3 += this.param.fubiao[i].C3[j].label + '☑'
} else {
tempC3 += this.param.fubiao[i].C3[j].label + '□'
}
if (j !== this.param.fubiao[i].C3.length - 2) {
tempC3 += ';'
}
}
this.param.fubiao[i].C3 = tempC3
}
}
}
}
</script>

175
src/views/bggl/8000/dj/dq/fenxiang/hlsjl.vue

@ -1,175 +0,0 @@
<!--卤素检漏试验报告-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="yiqijingduliangcheng">
<el-input v-model="param.yiqijingduliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测方式" prop="jiancefangshi">
<el-input v-model="param.jiancefangshi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="示漏气体" prop="shilouqiti">
<el-input v-model="param.shilouqiti" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="保压时间" prop="naiyashijian">
<el-input v-model="param.naiyashijian" :disabled="edit">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="泄漏率" prop="xieloulv">
<el-input v-model="param.xieloulv" :disabled="edit">
<template slot="append">
Paml/s
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgHlsjl',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogImageUrl: '',
dialogVisible: false,
fileList: [],
upLoadData: {
ysjlId: ''
},
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.upLoadData.ysjlId = data.ysjl.id
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/hlsjl/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

193
src/views/bggl/8000/dj/dq/fenxiang/hxcf.vue

@ -1,193 +0,0 @@
<!--化学成分分析-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" disabled />
</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="管道规格(外径mm×壁厚mm)" label-width="200px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</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="quyangfangfa">
<el-input v-model="param.quyangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试件编号" prop="shijianbianhao">
<el-input v-model="param.shijianbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="fangfabiaozhun">
<el-input v-model="param.fangfabiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>化验结果报告</legend>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" />
<el-table-column prop="C1" align="center" label="A">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C2" label="B">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="C">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="D">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="E">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C6" label="F">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="fenxijieguo">
<el-input v-model="param.fenxijieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgHxcf',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
}
if (this.tableData.length === 0) {
this.tableData = [{ C1: 'C', C2: '', C3: 'Mo', C4: '', C5: 'Ti', C6: '' }, { C1: 'Si', C2: '', C3: 'V', C4: '', C5: 'Nb', C6: '' },
{ C1: 'Mn', C2: '', C3: 'Al', C4: '', C5: 'Cu', C6: '' }, { C1: 'S', C2: '', C3: 'Cr', C4: '', C5: '', C6: '' },
{ C1: 'P', C2: '', C3: 'Ni', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }]
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

180
src/views/bggl/8000/dj/dq/fenxiang/jxfx.vue

@ -1,180 +0,0 @@
<!--金相分析-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="取样部位" prop="quyangbuwei">
<el-input v-model="param.quyangbuwei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试样编号" prop="shiyangbianhao">
<el-input v-model="param.shiyangbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="fenxiyiqixinghao">
<el-input v-model="param.fenxiyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="放大倍数" prop="fangdabeishu">
<el-input v-model="param.fangdabeishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="腐蚀方法" prop="fushifangfa">
<el-input v-model="param.fushifangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="抛光方法" prop="paoguangfangfa">
<el-input v-model="param.paoguangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>金相照片或分析部位</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="分析结果" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgJxfx',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/jxfx/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

159
src/views/bggl/8000/dj/dq/fenxiang/mxb.vue

@ -1,159 +0,0 @@
<!--性能参数一览表-->
<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-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=""
>
<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="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="115px" label="规格/(外径mm×壁厚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="80px" label="管道级别">
<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="90px" label="设计/工作压力MPa">
<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="90px" label="设计/工作温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="工作介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="115px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="70px" label="长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgMxb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

137
src/views/bggl/8000/dj/dq/fenxiang/nyjh.vue

@ -1,137 +0,0 @@
<!--壁厚测定-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgBhcd',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {
guanjianceliangbili: ' % 个',
guanziceliangbili: ' % 个',
yijingguanceliangbili: ' % 个',
qitaceliangbili: ' % 段',
jiancejieguo: '符合设计规定/ 需强度校核'
},
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = data.param.imagePath ? JSON.parse(data.param.imagePath) : []
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

262
src/views/bggl/8000/dj/dq/fenxiang/nysy.vue

@ -1,262 +0,0 @@
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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="shiyongyali">
<el-input v-model="param.shiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<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-row>
<el-row v-if="ysjl.jianyanxiangmu === 'nysy'" :gutter="20">
<el-col :span="9">
<el-form-item label="机泵出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="机泵出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ysjl.jianyanxiangmu === 'xlsy'" :gutter="20">
<el-col :span="9">
<el-form-item label="压气设备出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压气设备出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管线压力表规格" prop="guanxianyalibiaoguige">
<el-input v-model="param.guanxianyalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管线压力表精度" prop="guanxianyalibiaojingdu">
<el-input v-model="param.guanxianyalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col v-if="ysjl.jianyanxiangmu === 'nysy'" :span="9">
<el-form-item label="机泵型号" prop="jibengxinghao">
<el-input v-model="param.jibengxinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col v-if="ysjl.jianyanxiangmu === 'xlsy'" :span="9">
<el-form-item label="压气设备型号" prop="yaqishebeixinghao">
<el-input v-model="param.yaqishebeixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>实际试验曲线</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item v-if="ysjl.jianyanxiangmu === 'nysy'" label="压力试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item v-if="ysjl.jianyanxiangmu === 'xlsy'" label="泄漏性试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgNysy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogVisible: false,
edit: false,
fileList: [],
state: '',
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/nysy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

215
src/views/bggl/8000/dj/dq/fenxiang/qmxsy.vue

@ -1,215 +0,0 @@
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="允许/监控使用压力" prop="shiyongyali">
<el-input v-model="param.shiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="气密性试验压力" prop="qimishiyanyali">
<el-input v-model="param.qimishiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<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-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力源" prop="yaliyuan">
<el-input v-model="param.yaliyuan" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力表量程" prop="yalibiaoliangcheng">
<el-input v-model="param.yalibiaoliangcheng" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压力表精度" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验程序报告</legend>
<el-row :gutter="2" style="font-size: 18px;font-weight: bolder;padding-left: 25px;">
缓慢升至试验压力 <el-input v-model="param.huanshengyali" :disabled="edit" class="underlines" /> MPa
保压 <el-input v-model="param.baoyashijian" :disabled="edit" class="underlines" /> min;
检查容器及连接部位<el-input v-model="param.jyrqxielou" :disabled="edit" class="underlines" /> 泄漏
</el-row>
</fieldset>
<fieldset>
<legend>人员固定图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgQmxsy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogVisible: false,
dialogImageUrl: '',
edit: false,
state: '',
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/qmxsy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>
<style>
.underlines{
width:100px;
height: 40px;
}
.underlines .el-input__inner{
border-top-style: none;
border-left-style: none;
border-right-style: none;
border-radius: 0px;
text-align: center;
}
</style>

251
src/views/bggl/8000/dj/dq/fenxiang/sxjcfb.vue

@ -1,251 +0,0 @@
<!--射线检测分包-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="param.shebeimingcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格(外径×壁厚)" label-width="150px" prop="shebeiguige">
<el-input v-model="param.shebeiguige" :disabled="edit">
<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="chanpinbianhao">
<el-input v-model="param.chanpinbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测技术等级" prop="jishudengji">
<el-input v-model="param.jishudengji" :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="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测数量(焊口/底片)" label-width="160px" prop="jianceshuliang">
<el-input v-model="param.jianceshuliang" :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" :rowspan="2" type="textarea" />
</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 width="120px" prop="C1" label="序号" align="center">
<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="120px" 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="right" 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="序号">
<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="焊口编号">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgSxjcfb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
jiancebili: '抽查 100%',
jianceshuliang: '个 / 张',
jiancebiaozhun: 'NB/T47013.2-2015、《压力管道安全技术监察规程—工业管道》(TSG D0001)\n' +
'《压力管道定期检验规则—工业管道》(TSG D7005)质检特函[2013]61号',
beizhu: '(分包单位: 分包报告编号: )'
},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addRow: function() {
const d = {
C1: (this.tableData.length * 2) + 1,
C5: (this.tableData.length * 2) + 2
}
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
}
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

197
src/views/bggl/8000/dj/dq/fenxiang/ydjc.vue

@ -1,197 +0,0 @@
<!--硬度检测-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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">
<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="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="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :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="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 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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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 type="index" prop="C1" width="80px" label="序号" align="center">
<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" label="硬 度 值(HB)">
<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" label="硬度测定部位">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="pingdingyijian">
<el-input v-model="param.pingdingyijian" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgYdjc',
components: { Sticky, btn },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

349
src/views/bggl/8000/dj/dq/wusun/cfjc.vue

@ -1,349 +0,0 @@
<template>
<div class="app-container">
<sticky 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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :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="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-col :span="9">
<el-form-item label="标准试块" prop="biaozhunshikuai">
<el-input v-model="param.biaozhunshikuai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉类型" prop="cifenleixing">
<el-input v-model="param.cifenleixing" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安匝数" prop="anzashu">
<el-input v-model="param.anzashu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉时间" prop="cihuashijian">
<el-input v-model="param.cihuashijian" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="磁粉方法" prop="cihuafangfa">
<el-input v-model="param.cihuafangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉电流" prop="cihuadianliu">
<el-input v-model="param.cihuadianliu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="喷洒方式" prop="pensafangfa">
<el-input v-model="param.pensafangfa" :disabled="edit" />
</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-row>
</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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<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="150px" 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="缺陷长度(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="80px" 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="150px" label="缺陷位置">
<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="缺陷长度(mm)">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<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" @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="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" 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'
export default {
name: 'GdZbgCfjc',
components: { SignName, Sticky },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false,
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
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 = data.param.fubiao ? JSON.parse(data.param.fubiao) : []
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
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 => {
this.param.ysjlId = this.$route.query.id
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
data: {
ysjl: this.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
})
}
})
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

389
src/views/bggl/8000/dj/dq/wusun/csjc.vue

@ -1,389 +0,0 @@
<!--超声检测-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="biaomianzhuangtai">
<el-input v-model="param.biaomianzhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="坡口型式" prop="pokouxingshi">
<el-input v-model="param.pokouxingshi" :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="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="探头类型" prop="tantouxinghao">
<el-input v-model="param.tantouxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="标准试块" prop="shikuaixinghao">
<el-input v-model="param.shikuaixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="灵敏度" prop="pingdinglingmindu">
<el-input v-model="param.pingdinglingmindu" :disabled="edit" />
</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="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-col :span="9">
<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 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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="120px" 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="170px" 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="缺陷长度(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="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="缺陷波反射区域">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="说明" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
</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" @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 Utils from '@/utils/contact'
export default {
name: 'GdZbgCsjc',
components: { SignName, Sticky },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
edit: false,
dialogImageUrl: '',
fileList: [],
dialogVisible: false,
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
state: '',
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 = data.param.fubiao === null || data.param.fubiao === undefined ? [] : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/csjc/' + this.fileList[i].name
}
}
}
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 {
// delRowIndexindex
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 => {
this.param.ysjlId = this.$route.query.id
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
data: {
ysjl: this.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
})
}
})
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

347
src/views/bggl/8000/dj/dq/wusun/stjc.vue

@ -1,347 +0,0 @@
<!--渗透检测-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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-col :span="9">
<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 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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<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="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" 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'
export default {
name: 'GdZbgStjc',
components: { SignName, Sticky },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
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
}
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
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 => {
this.param.ysjlId = this.$route.query.id
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
data: {
ysjl: this.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
})
}
})
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

445
src/views/bggl/8000/dj/dq/wusun/sxjc.vue

@ -1,445 +0,0 @@
<!--射线检测-->
<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="baogaobianhao">
<el-input v-model="ysjl.baogaobianhao" 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="shebeiguige">
<el-input v-model="param.shebeiguige" :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="yuanzhonglei">
<el-input v-model="param.yuanzhonglei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :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">
<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="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-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器型号" prop="yiqixinghao">
<el-input v-model="param.yiqixinghao" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="增感法" prop="zengganfangshi">
<el-input v-model="param.zengganfangshi" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透度计类型" prop="toudujileixing">
<el-input v-model="param.toudujileixing" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器规格" prop="yiqiguige">
<el-input v-model="param.yiqiguige" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电压" prop="guandianya">
<el-input v-model="param.guandianya" :disabled="edit" class="jiancetiaojian">
<template slot="append">
KV
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电流" prop="guandianliu">
<el-input v-model="param.guandianliu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mA
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="象质计指数" prop="xiangzhijizhishu">
<el-input v-model="param.xiangzhijizhishu" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透照方式" prop="touzhaofangshi">
<el-input v-model="param.touzhaofangshi" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="曝光时间" prop="baoguangshijian">
<el-input v-model="param.baoguangshijian" :disabled="edit" class="jiancetiaojian">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片类型" prop="dipianleixing">
<el-input v-model="param.dipianleixing" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="焦距" prop="jiaoju">
<el-input v-model="param.jiaoju" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="黑度" prop="dipianheidu">
<el-input v-model="param.dipianheidu" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片长度" prop="dipianchangdu">
<el-input v-model="param.dipianchangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="有效长度" prop="youxiaochangdu">
<el-input v-model="param.youxiaochangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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 type="index" align="center" width="70px" label="序号" />
<el-table-column align="center" prop="C2" width="100px" 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="140px" 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="140px" 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="缺陷高度(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="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="150px" 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="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
</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 :span="9">
<sign-name :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @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 Utils from '@/utils/contact'
export default {
name: 'GdZbgSxjc',
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 = data.param.fubiao ? JSON.parse(data.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 {
// delRowIndexindex
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 => {
this.param.ysjlId = this.$route.query.id
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
data: {
ysjl: this.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
})
}
})
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
.jiancetiaojian {
width: 150px;
}
</style>

204
src/views/bggl/8000/dj/mxb.vue

@ -1,204 +0,0 @@
<!--工业管道定期检验明细表-->
<template>
<div>
<el-form class="el-form" label-position="right" label-width="140px">
<el-row :gutter="24">
<el-col :span="12" style="height: 60px;">
<el-form-item label="表格内容转换粘贴板">
<el-input v-model="paste" type="textarea" placeholder="粘贴表格内容后会自动清空此输入框内容(列名从序号开始)" @change="gsh" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<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=""
>
<el-button type="primary" size="mini" icon="el-icon-upload" :disabled="edit">
导入数据
</el-button>
</el-upload>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" :disabled="edit" @click="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="115px" 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="90px" label="管道级别">
<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="90px" label="设计/工作压力MPa">
<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="115px" label="设计/工作温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="70px" label="介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="115px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="80px" label="长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'GdZbgMxb',
data() {
return {
ysjl: {},
param: {},
tableData: [],
edit: false,
paste: ''
}
},
methods: {
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
},
/**
* 获取明细表数据
* @param ysjlId 主原始记录Id
*/
getMxbInfo(ysjlId) {
this.api({
url: '/fx/getFxByParentId',
method: 'get',
params: {
parentId: ysjlId,
jyxm: 'mxb'
}
}).then(data => {
this.ysjl = data.ysjl
this.ysjl.flowstatus = 4
if (data.param) {
this.param = data.param
//
this.tableData = this.param.fubiao ? JSON.parse(this.param.fubiao) : []
} else {
this.param.ysjlId = this.ysjl.id
}
})
},
/**
* 创建明细表
* @param ysjlId 主原始记录Id
*/
createMxb(ysjlId, templateId) {
this.api({
url: '/ysjl/addJyfa',
method: 'get',
params: {
bglx: '3',
ysjlId: ysjlId,
type: '工业管道明细表报告',
jianyanxiangmu: 'mxb',
userId: this.$store.getters.userId,
templateId: templateId,
defaultStatus: true
}
}).then(() => {
this.getMxbInfo(ysjlId)
})
},
/**
* 保存明细表
*/
saveMxb() {
this.param.fubiao = this.tableData
this.api({
url: '/fx',
method: 'put',
data: {
ysjl: this.ysjl,
jyxm: 'mxb',
fxObj: this.param
}
})
},
gsh(val) {
const array = val.split('\n')
array.forEach(arr => {
const row = {}
const cells = arr.split('\t')
let i = 1
cells.forEach(cell => {
row['C' + i] = cell
i++
})
this.tableData.push(row)
})
this.paste = ''
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

799
src/views/bggl/8000/dj/nd/edit.vue

@ -1,799 +0,0 @@
<template>
<div class="app-container">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
保存
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')">
更新
</el-button>
<!--<el-button v-if="state === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa">
添加检验方案
</el-button>
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="getJyfaInfo">
查看同类报告
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')">
生成报告
</el-button>-->
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'JYBG')">
预览
</el-button>
</div>
</sticky>
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="基本信息" name="first">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col v-if="state === 'create' || ysjl.baogaobianhao === null || ysjl.baogaobianhao === ''" :span="13">
<el-form-item label="报告编号">
<el-input v-model="bgbh1" style="width:80px" disabled />
<el-input v-model="bgbh2" style="width:80px" disabled />-
<el-input v-model="bgbh3" style="width:80px" @blur="judgeRepeat(bgbh1 + bgbh2 + '-' + bgbh3 + '-%', ysjl.id)" />-
<el-input v-model="bgbh4" style="width:80px" @blur="judgeRepeat(bgbh1 + bgbh2 + '-' + bgbh3 + '-%', ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-else :span="9">
<el-form-item label="报告编号" prop="baogaobianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.baogaobianhao" :disabled="edit" @blur="judgeRepeat(ysjl.baogaobianhao.substring(0, ysjl.baogaobianhao.lastIndexOf('-') + 1) + '%', ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2">
<span style="color:red">编号重复</span>
</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="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="起始—终止位置" prop="qizhiweizhi">
<el-input v-model="param.qizhiweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="单位内编号" prop="danweineibubianhao">
<el-input v-model="ysjl.danweineibubianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="装置名称" prop="zhuangzhimingcheng">
<el-input v-model="param.zhuangzhimingcheng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="使用登记证编号" prop="shiyongdengjibianhao">
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="使用单位名称" prop="shiyongdanwei">
<el-input v-model="ysjl.shiyongdanwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="管道使用地点" prop="shiyongdanweiDizhi">
<el-input v-model="ysjl.shiyongdanweiDizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安全管理人员" prop="anquanguanlirenyuan">
<el-input v-model="ysjl.anquanguanlirenyuan" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="联系电话" prop="anquanguanlidianhua">
<el-input v-model="ysjl.anquanguanlidianhua" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验金额(元)" prop="jianyanheding">
<el-input-number v-model="ysjl.jianyanheding" :disabled="ysjl.retreatState === 2 && ysjl.jfState" :controls="false" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>允许监控使用参数</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力" prop="yali">
<el-input v-model="param.yali" :disabled="edit">
<template slot="append">
(MPa)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="温度" prop="wendu">
<el-input v-model="param.wendu" :disabled="edit">
<template slot="append">
()
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质" prop="jiezhi">
<el-input v-model="param.jiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="其他" prop="qita">
<el-input v-model="param.qita" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="18" style="height:90px">
<el-form-item label="检查依据" prop="jianyanyiju">
<el-input v-model="ysjl.jianyanyiju" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height:60px">
<el-col :span="18">
<el-form-item label="问题及其处理" prop="wentijizai">
<el-input v-model="param.wentijizai" :disabled="edit" type="textarea" placeholder="[检验发现的缺陷位置、性质、程度及处理意见(必要时附图或者附页)]" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height:60px">
<el-col :span="18">
<el-form-item label="说明" prop="beizhu">
<el-input v-model="ysjl.beizhu" :disabled="edit" type="textarea" placeholder="(监控运行需要解决的问题及完成期限)" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验结论" prop="jianyanjielun">
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" 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="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检验结束日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安全状况等级" prop="anquanzhuangkuangdengji">
<el-select v-model="ysjl.anquanzhuangkuangdengji" type="text" placeholder="请选择" style="width:232px" value="">
<el-option label="1级" value="1级" />
<el-option label="2级" value="2级" />
<el-option label="3级" value="3级" />
<el-option label="4级" value="4级" />
<el-option label="5级" value="5级" />
<el-option label="-" value="-" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="下次年度检查日期" prop="xiacijianyanriqi">
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" />
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<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" @setSignValue="singNameValue" />
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="工业管道年度检查报告附页" name="second">
<el-table :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:80%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" label="检验项目">
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanneirong" label="检验内容" />
</el-table-column>
<el-table-column align="center" prop="jianyanjieguo" label="检验结果">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" value="">
<el-option label="√" value="√" />
<el-option label="×" value="×" />
<el-option label="/" value="/" />
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="说明">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="工业管道安全管理情况检查表" name="third">
<el-table :data="glqkData" :span-method="tableJs.mergeColRows" border stripe style="width:80%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="left" prop="jianyanxiang" label="检验内容" />
<el-table-column align="center" prop="jianyanjieguo" label="检查结果">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" value="">
<el-option label="√" value="√" />
<el-option label="×" value="×" />
<el-option label="/" value="/" />
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="工业管道运行状况检查表" name="forth">
<el-table :data="yxzkData" :span-method="tableJs.mergeColRows" border stripe style="width:90%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="left" prop="jianyanxiang" label="检验内容" />
<el-table-column align="center" prop="jianyanjieguo" label="检查结果" width="350">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" value="">
<el-option label="√" value="√" />
<el-option label="×" value="×" />
<el-option label="/" value="/" />
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="工业管道定期检验明细表" name="fifth">
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在保存后编辑明细表</span>
<mxb v-show="state !== 'create'" ref="mxb" />
</el-tab-pane>
</el-tabs>
<!--<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog">
<jyfa ref="jyfa" :info="info" @childMethod="getJyxm" />
</el-dialog>
<el-dialog :visible.sync="similarVisible" title="同类报告查看" width="800px" @close="closeJyfaDialog">
<el-table ref="similarTable" :data="similarTableData" border style="width: 100%;" height="350">
<el-table-column align="center" label="报告类型" prop="bglx" min-width="50" />
<el-table-column align="left" label="检验项目" prop="jyxmLabel" width="200">
<template slot-scope="scope">
<div style="text-decoration:underline;cursor:pointer;" @click="editChild(scope.row.id, scope.row.jianyanxiangmu, departmentId)">
{{ scope.row.jyxmLabel }}
</div>
</template>
</el-table-column>
<el-table-column align="center" label="处理人" prop="renlingren" min-width="40" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" min-width="40" />
<el-table-column align="center" label="办结状态" prop="flowstatus" min-width="30">
<template slot-scope="scope">
<el-tag v-if="scope.row.flowstatus==='未办结'" type="danger">
未办结
</el-tag>
<el-tag v-else type="success">
已办结
</el-tag>
</template>
</el-table-column>
<el-table-column property="" label="操作" align="center" width="95">
<template slot-scope="scope">
<el-button type="primary" size="mini" title="删除检验方案" circle icon="el-icon-delete" @click="delYsjl(scope.row.jyxmLabel, scope.row.bglx, scope.row.id)" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '未办结'" type="primary" size="mini" title="办结" circle icon="el-icon-check" @click="bjYsjl(scope.row.id, '1')" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '已办结'" type="primary" size="mini" title="取消办结" circle icon="el-icon-close" @click="bjYsjl(scope.row.id, '0')" />
</template>
</el-table-column>
</el-table>
</el-dialog>-->
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
// import jyfa from '../../addJyfa'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact.js'
import mxb from '../mxb'
export default {
name: 'GdNdReport',
components: { SignName, Sticky, mxb },
data() {
return {
//
edit: false, //
bgfyData: [],
glqkData: [],
yxzkData: [],
aqfjData: [],
bgbh1: 'GD',
bgbh2: '(' + (new Date().getFullYear()) + ')',
bgbh3: '',
bgbh4: 'GC',
//
jianyanrenyuan: '',
defaultParam: {},
//
// {create=> update=> }
state: this.$route.query.state,
ysjl: {},
departmentId: this.$route.query.departmentId,
param: {},
checkedTab: 'first',
//
//
cols: [
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
return row.jianyanxiang
}
},
{
name: 'jianyanneirong',
getValue(row) {
return row.jianyanneirong
}
}
],
//
rows: [
{
name: 'jianyanxiang',
getValue(row) {
return row.jianyanxiang
}
},
{
name: 'jianyanneirong',
getValue(row) {
return row.jianyanneirong
}
}
],
info: {
modelId: this.$route.query.templateId,
sbzldm: this.$route.query.sbzldm,
sblbdm: this.$route.query.sblbdm,
ysjlId: this.$route.query.id,
departmentId: this.$route.query.departmentId,
jylb: this.$route.query.jylb,
nblb: this.$route.query.neibuleibie,
type: 'JYBG'
},
// jyfaDialogVisible: false,
// similarVisible: false,
// similarTableData: [],
isRepeat: false,
tableData: [],
yxzkHtml1: ''
}
},
computed: {
baogaobianhao: function() {
if (this.state !== 'create') {
return this.ysjl.baogaobianhao
}
return this.bgbh1 + this.bgbh2 + '-' + this.bgbh3 + '-' + this.bgbh4
}
},
created() {
if (this.state === 'create') {
this.initYsjl()
} else {
this.getYsjl()
this.getParam()
}
const jyxmtable = [1, 2, 3]
for (let i = 0; i < jyxmtable.length; i++) {
this.getJyxm(jyxmtable[i])
}
},
methods: {
initYsjl() {
this.api({
url: '/ysjl/initYsjl',
method: 'post',
data: {
templateId: this.$route.query.templateId,
renwuId: this.$route.query.renwuId,
neibuleibie: this.$route.query.neibuleibie,
sblbdm: this.$route.query.sblbdm,
sblbmc: this.$route.query.sblbmc,
sbpzdm: this.$route.query.sbpzdm,
sbpzmc: this.$route.query.sbpzmc
}
}).then(data => {
this.ysjl = data.ysjl
this.param = data.param ? data.param : {}
//
const tempTime = new Date()
this.ysjl.flowStatus = 1
this.ysjl.jianyankaishiriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
let xcjyrq = (tempTime.getFullYear() + 2) + '-' + (tempTime.getMonth() + 1) + '-' + tempTime.getDate()
xcjyrq = new Date(xcjyrq)
xcjyrq.setDate(xcjyrq.getDate() - 1)
this.ysjl.xiacijianyanriqi = this.formatter.dateFormat('YYYY-MM-dd', xcjyrq)
this.ysjl.jianyanjielun = '符合要求'
this.ysjl.xiacijianyanriqishuoming = '/'
this.ysjl.shebeizhongleidaima = '8000'
this.$set(this.param, 'zhuangzhimingcheng', this.ysjl.shebeimingcheng)
this.ysjl.shebeimingcheng = ''
this.ysjl.shejiriqi = ' 年 月'
this.$set(this.param, 'yanshouriqi', ' 年 月')
this.$set(this.ysjl, 'shejiriqi', ' 年 月')
this.$set(this.param, 'qizhiweizhi', '')
this.$set(this.param, 'zhongzhiweizhi', '')
this.$set(this.param, 'anquanzhuangkuangdengji', '1级')
this.$set(this.param, 'fangfucengcailiao', '油漆')
this.$set(this.param, 'shangciwentijizai', '有年度检查报告')
this.$set(this.ysjl, 'shejishiyongnianxian', '图纸未注明')
this.$set(this.param, 'qita', '无')
this.param.wentijiqichuli = '注:检查发现的缺陷位置、性质、程度及处理意见(必要时附图或者附页,也可直接注明见某单项报告)'
this.getMaxBh()
})
},
getYsjl() {
this.api({
url: '/ysjl/getYsjlById',
method: 'get',
params: {
ysjlId: this.$route.query.id
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
if (this.ysjl.baogaobianhao.indexOf('COPY') !== -1) {
//
this.getMaxBh()
} else if (this.ysjl.baogaobianhao) {
this.judgeRepeat(this.ysjl.baogaobianhao.substring(0, this.ysjl.baogaobianhao.lastIndexOf('-') + 1), this.ysjl.id)
}
this.$refs.mxb.getMxbInfo(this.$route.query.id)
})
},
getParam() {
// id
this.api({
url: '/ysjl/getParamByYsjlId',
method: 'get',
params: { ysjlId: this.$route.query.id, sbzldm: this.$route.query.sbzldm }
}).then(data => {
this.param = data
})
},
//
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')
}
},
//
getMaxBh() {
const aheadPart = this.bgbh1 + this.bgbh2 + '-'
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: aheadPart,
hinderPart: '',
nblb: this.ysjl.neibuleibie
}
}).then(data => {
this.bgbh3 = data
})
},
//
getJyxm(sort) {
let url = ''
let data = {}
if (this.state === 'create') {
url = '/jyxm/getCyJyxm'
data = {
templateId: this.$route.query.templateId,
order: sort
}
} else {
url = '/jyxm/getCyJyxmByYsjl'
data = {
ysjlId: this.$route.query.id,
isReport: true,
order: sort
}
}
this.api({
url: url,
method: 'get',
params: data
}).then(data => {
switch (sort) {
case 1:
this.bgfyData = data
break
case 2:
this.glqkData = data
break
case 3:
this.yxzkData = data
break
}
this.tableJs.getData(this.cols, this.rows, data)
})
},
// id,
getProp: function(data) {
data.forEach((row) => {
if (!row.jianyanjieguo) {
row.jianyanjieguo = ''
}
if (!row.beizhu) {
row.beizhu = ''
}
})
return data
},
/* toAddJyfa() {
this.jyfaDialogVisible = true
},
//
getJyfaInfo() {
this.api({
url: '/ysjl/getJyfaInfo',
method: 'get',
params: {
ysjlId: this.ysjl.id
}
}).then(data => {
this.similarTableData = data
this.similarVisible = true
})
},
closeJyfaDialog() {
this.jyfaDialogVisible = false
},
//
delYsjl(jianyanxiangmu, bglx, ysjlId) {
this.$confirm('原始报告删除后将无法恢复,是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(data => {
this.api({
url: '/ysjl/delJyfa',
method: 'get',
params: {
ysjlId: ysjlId,
bglx: bglx,
jianyanxiangmu: jianyanxiangmu
}
}).then(data => {
Utils.$emit('modifyMajorInspectionItemBySub')
this.$message({ message: '删除成功', type: 'success' })
this.getJyfaInfo()
this.$refs.jyfa.getJyfaInfo()
})
}).catch(e => {
this.$message({ message: '删除失败', type: 'error' })
})
},
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fx/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
status: status
}
}).then(data => {
this.getJyfaInfo()
if (status === '0') {
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
this.$refs.jyfa.getJyfaInfo()
})
},*/
editChild(id, jianyanxiangmu, departmentId) {
this.$router.push({ path: '/ysjl/' + this.ysjl.shebeizhongleidaima + '/nd/' + jianyanxiangmu, query: { id: id, jyxm: jianyanxiangmu, departmentId: departmentId }})
this.similarVisible = false
},
saveYsjl: function(operation) {
this.tableData = []
this.tableData.push(this.getProp(this.bgfyData))
this.tableData.push(this.glqkData)
//
this.tableData.push(this.yxzkData)
let type = ''
if (operation === 'add') {
type = 'post'
this.ysjl.baogaobianhao = this.bgbh1 + this.bgbh2 + '-' + this.bgbh3 + '-' + this.bgbh4
this.ysjl.bglx = 1
this.ysjl.flowStatus = '1'
this.ysjl.cjState = 'bggl'
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH
this.ysjl.jlprintState = 0
this.save(operation, type)
} else if (operation === 'build') {
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') {
this.$message({
type: 'error',
message: '请先签名再生成报告!'
})
return false
}
//
this.api({
url: '/ysjl/judgeState',
method: 'get',
params: {
ysjlIds: this.ysjl.id,
bglx: '2,3'
}
}).then(data => {
if (data === 0) {
this.$message.error('请先办结无损分项原始报告再生成报告!')
return false
} else {
type = '/put'
this.save(operation, type)
}
})
} else if (operation === 'upd') {
type = 'put'
this.$refs.mxb.saveMxb()
this.save(operation, type)
}
},
save(operation, type) {
//
if (this.isRepeat) {
this.$message({ message: '报告编号重复,请先修改报告编号再保存', type: 'error' })
return false
} else {
if (!this.ysjl.baogaobianhao) {
this.ysjl.baogaobianhao = this.bgbh1 + this.bgbh2 + '-' + this.bgbh3 + '-' + this.bgbh4
}
this.$refs['ysjl'].validate(valid => {
if (valid) {
this.api({
url: '/ysjl',
method: type,
data: {
ysjl: this.ysjl,
param: this.param,
bgjyxm: JSON.stringify(this.tableData),
flag: operation
}
}).then(data => {
//
Utils.$emit('task-list')
Utils.$emit('bggl-daiban-list')
if (operation === 'add') {
this.ysjl.id = data
this.param.ysjlId = data
this.$refs.mxb.createMxb(this.ysjl.id, 155)
this.$message({ message: '保存成功', type: 'success' })
//
this.$store.dispatch('delCurrentViews', {
view: this.$route,
$router: this.$router
})
this.$router.push({
path: '/bggl/8000/dj/nd/edit/' + this.ysjl.id,
query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, sbzldm: this.ysjl.shebeizhongleidaima }
})
} else if (operation === 'upd') {
this.$refs.mxb.saveMxb()
this.$message({ message: '更新成功', type: 'success' })
}
this.info.ysjlId = this.ysjl.id
this.state = 'update'
this.$route.params.state = 'update'
})
}
})
}
},
judgeRepeat(bianhao, id) {
this.api({
url: '/ysjl/judgeRepeat',
method: 'get',
params: {
ysjlId: id,
bianhao: bianhao,
nblb: this.ysjl.neibuleibie
}
}).then(data => {
this.isRepeat = data > 0
})
},
uploadWsFxFile(file) {
this.common.uploadWsFxFile(file, this.ysjl)
return false
}
}
}
</script>
<style>
.el-input__inner {
border: 1px solid #00000075;
border-radius: 4px;
}
.el-textarea__inner {
border: 1px solid #91393975;
border-radius: 4px;
}
.el-form-item__error {
padding-top: 0;
position: absolute;
}
.el-input.is-disabled .el-input__inner {
color: #606266;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606266;
}
.el-dialog__body {
padding-top: 10px;
}
.myTable .el-input__inner{
padding: 0 5px;
text-align: center;
}
</style>

123
src/views/bggl/8000/dj/nd/fenxiang/aqfj.vue

@ -1,123 +0,0 @@
<!-- 年度检验安全附件 -->
<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">
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验项目</legend>
<el-table id="myTable" ref="tableData" :span-method="tableJs.mergeColRows" :data="tableData" border stripe style="width:100%;margin-top: 5px;">
<el-table-column type="index" prop="C1" align="center" width="50" label="序号" />
<el-table-column align="left" label="检验项目">
<el-table-column align="center" prop="C2" label="检验项" />
<el-table-column align="left" prop="C3" label="检验内容" />
</el-table-column>
<el-table-column align="center" prop="C4" label="检查结果">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdAqfj',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
state: '',
edit: false,
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
ysjl: this.ysjl,
param: this.param,
jyxm: this.$route.query.jyxm,
state: this.state
},
//
//
cols: [
{
name: 'C2', // el-table-column prop=''
getValue(row) { //
return row.C2
}
}
],
tableData: []
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.tableJs.getData(this.cols, null, this.tableData)
} else {
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, 'ndAqfj')
})
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'post',
data: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
data.forEach((v, i) => {
this.tableData.push({
C1: i,
C2: v.jianyanxiang,
C3: v.jianyanneirong,
C4: v.jianyanjieguo
})
})
this.tableJs.getData(this.cols, null, this.tableData)
})
}
}
}
</script>

268
src/views/bggl/8000/dj/nd/fenxiang/bhcd.vue

@ -1,268 +0,0 @@
<!-- 年度测厚报告 -->
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" label-width="150px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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="测量仪器型号" label-width="160px" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" label-width="160px" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit">
<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="guanjianceliangbili" label-width="200px">
<el-input v-model="param.guanjianceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子测量比例" prop="guanziceliangbili">
<el-input v-model="param.guanziceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="实测点数" prop="shicedianshu">
<el-input v-model="param.shicedianshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实测最小壁厚" prop="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>测厚报告</legend>
<el-row :gutter="10">
<el-col :span="2" style="width: 150px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="common.downloadTemplate('压力管道壁厚检测报告表.xlsx')">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="uploadTableData"
style="float: left; margin-right: 10px;"
action=""
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="tableData" :data="tableData" :row-class-name="tableRowClassName" class="myTable" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="120px" 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="120px" 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="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="测点编号">
<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="测点厚度">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row>
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdBh',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
tableData: [],
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
},
upLoadData: {
ysjlId: ''
},
dialogVisible: false,
dialogImageUrl: ''
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
} else {
// TODO
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
changed(item) {
this.param.imagePath = item
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>

228
src/views/bggl/8000/dj/nd/fenxiang/dz.vue

@ -1,228 +0,0 @@
<!--年度电阻报告-->
<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="guandaoguige">
<el-input v-model="param.guandaoguige" :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="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="测量数量" prop="celiangshuliang">
<el-input v-model="param.celiangshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量比例" prop="celiangbili">
<el-input v-model="param.celiangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>电阻值测量报告</legend>
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="common.downloadTemplate('压力管道电阻值测量情况报告表.xlsx')">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="uploadTableData"
style="float: left; margin-right: 10px;"
action=""
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="tableData" :data="tableData" :row-class-name="tableRowClassName" class="myTable" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" 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" label="法兰或螺纹接头">
<el-table-column align="center" prop="C2" width="100px" 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" width="100px" label="跨接导线">
<el-table-column align="center" prop="C3" width="100px" 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="100px" label="材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="100px" label="电阻值(Ω)">
<el-table-column align="center" prop="C5" width="100px" 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="100px" label="实测值">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="系统接地">
<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" width="100px" label="接地线">
<el-table-column align="center" prop="C8" width="100px" label="规格mm">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="100px" label="材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="100px" label="对地电阻(Ω)">
<el-table-column align="center" prop="C10" width="100px" label="允许值">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="100px" label="实测值">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row>
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdDz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
// TODO
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

169
src/views/bggl/8000/dj/nd/fenxiang/mxb.vue

@ -1,169 +0,0 @@
<!--性能参数一览表-->
<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>
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>参数报告</legend>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="common.downloadTemplate('压力管道明细表.xlsx')">
下载导入模板
</el-button>
<el-upload
:show-file-list="false"
:before-upload="uploadTableData"
style="float: left; margin-right: 10px;"
action=""
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="115px" label="规格/(外径mm×壁厚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="80px" label="管道级别">
<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="90px" label="设计/工作压力MPa">
<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="90px" label="设计/工作温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="工作介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="115px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="70px" label="长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdMxb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

922
src/views/bggl/8000/jj/azjj.vue

@ -0,0 +1,922 @@
<!--002压力管道监督检验报告-->
<template>
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
保存
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')">
更新
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa">
添加检验方案
</el-button>
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="getJyfaInfo">
查看同类报告
</el-button>
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'JYBG')">
预览报告
</el-button>
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'ZS')">
预览证书
</el-button>
</div>
</sticky>
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="压力管道安装安全质量监督检验结论报告" name="first">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="25">
<el-col v-if="state === 'create'" :span="14">
<el-form-item label="报告编号">
<el-input v-model="jlbh1" style="width:80px" disabled />
<el-input v-model="jlbh2" style="width:80px" disabled />
<el-input v-model="jlbh3" style="width:80px" disabled />-
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 + jlbh5 , ysjl.id)" />
<el-input v-model="jlbh5" style="width:70px" disabled />
</el-form-item>
</el-col>
<el-col v-if="state !== 'create'" :span="9">
<el-form-item label="报告编号" prop="baogaobianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.baogaobianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2" style="vertical-align: middle;padding-top: 3px;font-size: 15px;">
<span style="color:red">编号重复</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监督检验单位" prop="gonghuodanwei">
<el-input v-model="param.gonghuodanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="规划许可证" prop="guihuaxukezheng">
<el-input v-model="param.guihuaxukezheng" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="建设单位" prop="shiyongdanwei">
<el-input v-model="ysjl.shiyongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计证编号" prop="shejixukezhengbianhao">
<el-input v-model="ysjl.shejixukezhengbianhao" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安装许可证编号" prop="shigongxukezheng">
<el-input v-model="ysjl.shigongxukezheng" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="防腐单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="防腐资质证编号" prop="fangfuzizhizhengshu">
<el-input v-model="param.fangfuzizhizhengshu" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监理单位" prop="jianlidanwei">
<el-input v-model="param.jianlidanwei" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="监理资质证书号" prop="jianlizizhizhengshu">
<el-input v-model="param.jianlizizhizhengshu" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测资质证书号" prop="jiancezizhizhenghao">
<el-input v-model="param.jiancezizhizhenghao" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="输送介质" prop="shusongjiezhi">
<el-input v-model="param.shusongjiezhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" type="text">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" type="text">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="开工时间" prop="kaigongshijian">
<el-date-picker v-model="param.kaigongshijian" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="竣工时间" prop="jungongshijian">
<el-date-picker v-model="param.jungongshijian" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监检开始日期" prop="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" type="date" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="监检结束日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>监督检验结论</legend>
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;">
根据中华人民共和国特种设备安全法压力管道安装安全质量监督检验规则的规定依据
<el-select v-model="biaozhunyaoqiu" style="width: 550px; margin-bottom: 20px" @change="bzyqChange">
<el-option label="《中华人民共和国特种设备安全法》" value="《中华人民共和国特种设备安全法》" />
<el-option label="GB50235-2010《工业金属管道工程施工规范》" value="GB50235-2010《工业金属管道工程施工规范》" />
<el-option label="SBJ14-2007《氢氯氟烃、氢氟烃类制冷系统安装工程施工及验收规范》" value="SBJ14-2007《氢氯氟烃、氢氟烃类制冷系统安装工程施工及验收规范》" />
<el-option label="GB50184-2011《工业金属管道工程施工质量验收规范》" value="GB50184-2011《工业金属管道工程施工质量验收规范》" />
<el-option label="SBJ12-2011《氨制冷系统安装工程施工及验收规范》" value="SBJ12-2011《氨制冷系统安装工程施工及验收规范》" />
<el-option label="设计文件" value="设计文件" />
</el-select>
<el-input
v-model="param.biaozhunyaoqiu"
:rows="5"
style="width: 550px"
type="textarea"
/>
<el-select v-model="ysjl.jianyanjielun" size="small" placeholder="请选择" style="width: 160px;">
<el-option label="符合规范要求" value="符合规范要求" />
<el-option label="不符合规范要求" value="不符合规范要求" />
</el-select>
</el-row><br>
<el-row :gutter="20" style="margin-left:5px">
<el-col :span="9">
<el-form-item label="下次检验日期" prop="xiacijianyanriqi">
<el-date-picker v-model="ysjl.xiacijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="证书编号" prop="zhengshubianhao">
<el-input v-model="param.zhengshubianhao" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" style="margin-left:10px">
<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 :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" />
</el-col>
</el-row><br><br>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="监督检验的压力管道基本情况" name="second">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset style="height: 560px">
<legend>基本情况</legend>
<el-row style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;">
<el-col :span="18">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" :disabled="true" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;">
<el-col :span="18">
<el-form-item label="工程简介" prop="gongchengjianjie">
<el-input v-model="param.gongchengjianjie" type="textarea" :rows="18" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="监督检验工作内容及工作情况" name="third">
<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="18">
<el-form-item label="一、监督检验依据" prop="">
<el-select v-model="jianyanyiju" style="width: 550px;" @change="zlscChange">
<el-option label="1.《中华人民共和国特种设备安全法》" value="1.《中华人民共和国特种设备安全法》" />
<el-option label="2.《压力管道安装质量监督检验规则》" value="2.《压力管道安装质量监督检验规则》" />
<el-option label="3.GB50235-2010《工业金属管道工程施工规范》" value="3.GB50235-2010《工业金属管道工程施工规范》" />
<el-option label="4.GB/T20801-2006《压力管道规范 工业管道》" value="4.GB/T20801-2006《压力管道规范 工业管道》" />
<el-option label="5.TSG D0001-2009《压力管道安全技术监察规程-工业管道》" value="5.TSG D0001-2009《压力管道安全技术监察规程-工业管道》" />
<el-option label="6.SBJ14-2007《氢氯氟氟烃、氢氟烃类制冷系统安装工程施工及验收规范》" value="6.SBJ14-2007《氢氯氟氟烃、氢氟烃类制冷系统安装工程施工及验收规范》" />
<el-option label="7.GB50184-2011《工业金属管道工程施工质量验收规范》" value="7.GB50184-2011《工业金属管道工程施工质量验收规范》" />
<el-option label="8.SBJ12-2011《氨制冷系统安装工程施工及验收规范》" value="8.SBJ12-2011《氨制冷系统安装工程施工及验收规范》" />
<el-option label="9.设计文件" value="9.设计文件" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 200px">
<el-col :span="22">
<el-form-item label="" prop="jianyanyiju">
<el-input
v-model="ysjl.jianyanyiju"
:rows="10"
type="textarea"
/>
</el-form-item>
</el-col>
</el-row>
<el-row style="text-align:left;margin-left: 50px;margin-top: 150px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;">
<el-col :span="18">
<el-form-item label="二、监督检验内容" prop="" />
</el-col>
</el-row>
<el-row style="text-align:left;margin-left: 85px;font-size: 14px;color: #606266;line-height: 40px;">
1
<el-select v-model="param.qita1" multiple filterable style="width: 500px;">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
在本工程安装实施过程中的单位资质及应当履行的手续进行<br>核实对安全质量管理行为及设计资料进行抽查验证
</el-row>
<el-row style="text-align:left;margin-left: 85px;font-size: 14px;color: #606266;line-height: 40px;">
<el-col>
<el-input v-model="param.qita2" :disabled="edit" type="text" />
</el-col>
</el-row>
<el-row style="text-align:left;margin-left: 85px;font-size: 14px;color: #606266;line-height: 40px;">
<el-col>
<el-input v-model="param.jianyangongzuofanwei" :disabled="edit" type="text" />
</el-col>
</el-row>
<el-row style="text-align:left;margin-left: 85px;font-size: 14px;color: #606266;line-height: 40px;">
<el-col>
<el-input v-model="param.shuoming" :disabled="edit" type="text" />
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="压力管道安装监督检验证书" name="fourth">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="25">
<el-col v-if="state === 'create'" :span="14">
<el-form-item label="报告编号">
<el-input v-model="jlbh1" style="width:80px" disabled />
<el-input v-model="jlbh2" style="width:80px" disabled />
<el-input v-model="jlbh3" style="width:80px" disabled />-
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 + jlbh5 , ysjl.id)" />
<el-input v-model="jlbh5" style="width:70px" disabled />
</el-form-item>
</el-col>
<el-col v-if="state !== 'create'" :span="9">
<el-form-item label="报告编号" prop="baogaobianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.baogaobianhao" :disabled="true" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2" style="vertical-align: middle;padding-top: 3px;font-size: 15px;">
<span style="color:red">编号重复</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装许可证编号" prop="shigongxukezheng">
<el-input v-model="ysjl.shigongxukezheng" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" type="text" :disabled="true">
<template slot="append">
</template>
</el-input>
</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" type="text" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="使用单位" prop="shiyongdanwei">
<el-input v-model="ysjl.shiyongdanwei" type="text" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="使用单位代码" prop="shiyongdanweiCode">
<el-input v-model="ysjl.shiyongdanweiCode" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="使用单位地址" prop="shiyongdanweiDizhi">
<el-input v-model="ysjl.shiyongdanweiDizhi" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="邮政编码" prop="shiyongdanweiYoubian">
<el-input v-model="ysjl.shiyongdanweiYoubian" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" type="text" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" type="text" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="text" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="制造单位" prop="zhizaodanwei">
<el-input v-model="ysjl.zhizaodanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" type="text" :disabled="true">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="输送介质" prop="shusongjiezhi">
<el-input v-model="param.shusongjiezhi" type="text" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="开工时间" prop="kaigongshijian">
<el-date-picker v-model="param.kaigongshijian" disabled type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="竣工时间" prop="jungongshijian">
<el-date-picker v-model="param.jungongshijian" disabled type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="防腐施工单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="强度试验压力" prop="qiangdushiyanyali">
<el-input v-model="param.qiangdushiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="严密性试验压力" prop="yanmixingshiyanyali">
<el-input v-model="param.yanmixingshiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管道安装情况" prop="guandaoanzhuangqingkuang">
<el-select v-model="param.guandaoanzhuangqingkuang" type="text" placeholder="请选择" style="width:232px">
<el-option label="新建" value="新建" />
<el-option label="扩建" value="扩建" />
<el-option label="改建" value="改建" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;">
按照中华人民共和国特种设备安全法压力管道安装质量监督检验规则及有关安全技术规范的规定经我机构监督检验该压力管道安装安全质量监督检验
<el-select v-model="ysjl.jianyanjielun" size="small" :disabled="true" style="width: 150px;">
<el-option label="符合规范要求" value="符合规范要求" />
<el-option label="不符合规范要求" value="不符合规范要求" />
</el-select>,<br>
安全状况等级为
<el-select v-model="ysjl.anquanzhuangkuangdengji" size="small" style="width:120px">
<el-option label="1级" value="1级" />
<el-option label="2级" value="2级" />
<el-option label="3级" value="3级" />
<el-option label="4级" value="4级" />
<el-option label="5级" value="5级" />
<el-option label="-" value="-" />
</el-select>
</el-row>
<el-row :gutter="20" style="margin-top: 20px;">
<el-col :span="9">
<el-form-item label="监检开始日期" prop="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" :disabled="true" type="date" value-format="yyyy-MM-dd" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="监检结束日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="true" type="date" value-format="yyyy-MM-dd" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<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" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="9">
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" :disabled="true" @setSignValue="singNameValue" />
</el-col>
</el-row>
</fieldset>
</el-form><br>
</el-tab-pane>
</el-tabs>
<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog">
<jyfa ref="jyfa" :info="info" />
</el-dialog>
<el-dialog :visible.sync="similarVisible" title="同类报告查看" width="800px" @close="closeJyfaDialog">
<el-table ref="similarTable" :data="similarTableData" border style="width: 100%;" height="350">
<el-table-column align="center" label="报告类型" prop="bglx" min-width="50" />
<el-table-column align="left" label="检验项目" prop="jyxmLabel" width="200">
<template slot-scope="scope">
<div style="text-decoration:underline;cursor:pointer;" @click="editChild(scope.row.id, scope.row.jianyanxiangmu, departmentId)">
{{ scope.row.jyxmLabel }}
</div>
</template>
</el-table-column>
<el-table-column align="center" label="处理人" prop="renlingren" min-width="40" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" min-width="40" />
<el-table-column align="center" label="办结状态" prop="flowstatus" min-width="30">
<template slot-scope="scope">
<el-tag v-if="scope.row.flowstatus==='未办结'" type="danger">
未办结
</el-tag>
<el-tag v-if="scope.row.flowstatus==='已办结'" type="success">
已办结
</el-tag>
</template>
</el-table-column>
<el-table-column property="" label="操作" align="center" width="95">
<template slot-scope="scope">
<el-button type="primary" size="mini" title="删除检验方案" circle icon="el-icon-delete" @click="delYsjl(scope.row.jyxmLabel, scope.row.bglx, scope.row.id)" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '未办结'" type="primary" size="mini" title="办结" circle icon="el-icon-check" @click="bjYsjl(scope.row.id, '1')" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '已办结'" type="primary" size="mini" title="取消办结" circle icon="el-icon-close" @click="bjYsjl(scope.row.id, '0')" />
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import SignName from '@/views/common/SignName'
import Utils from '../../../../utils/contact.js'
import jyfa from '@/views/ysjl/addJyfa'
export default {
name: 'YlgdAzjjReport',
components: { SignName, Sticky, jyfa },
data() {
return {
jlbh1: 'WH',
jlbh2: 'GYJ',
jlbh3: new Date().getFullYear(),
jlbh4: '',
jlbh5: '',
ysjl: this.$route.query.ysjl,
defaultParam: {
qita1: ['设计单位', '建设单位', '安装单位', '监理单位', '检测单位']
},
param: (this.$route.query.param === null || this.$route.query.param === undefined) ? Object.assign({}, this.defaultParam) : this.$route.query.param,
state: this.$route.params.state,
jianyanrenyuan: '',
departmentId: this.$route.query.ysjl.departmentId,
isRepeat: false,
edit: false,
//
jyfaDialogVisible: false,
checkedTab: 'first',
value: '',
jianyanyiju: '',
info: {
modelId: this.$route.query.ysjl.modelId,
sbzldm: this.$route.query.ysjl.shebeizhongleidaima,
ysjlId: this.$route.query.ysjl.id,
departmentId: this.$route.query.ysjl.departmentId,
jylb: this.$route.query.ysjl.jianyanleibie,
nblb: this.$route.query.ysjl.neibuleibie,
type: 'JYBG'
},
options: [{
value: '设计单位',
label: '设计单位'
}, {
value: '建设单位',
label: '建设单位'
}, {
value: '安装单位',
label: '安装单位'
}, {
value: '监理单位',
label: '监理单位'
}, {
value: '检测单位',
label: '检测单位'
}],
similarVisible: false,
similarTableData: [],
biaozhunyaoqiu: ''
}
},
computed: {
baogaobianhao: function() {
if (this.state !== 'create') {
return this.ysjl.baogaobianhao
}
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 + this.jlbh5
}
},
watch: {
baogaobianhao: function(newValue) {
this.judgeRepeat(newValue, this.ysjl.id)
}
},
created() {
if (this.state === 'create') {
const tempTime = new Date()
this.ysjl.createTime = tempTime
this.ysjl.createBy = this.$store.getters.nickname
this.$set(this.ysjl, 'jianyankaishiriqi', this.dateFormat(new Date()))
this.$set(this.ysjl, 'jianyanjieshuriqi', this.dateFormat(new Date()))
this.$set(this.ysjl, 'source', 'web')
this.$set(this.param, 'gonghuodanwei', '威海市特种设备检验研究院')
this.$set(this.param, 'qita1', ['设计单位', '建设单位', '安装单位', '监理单位', '检测单位'])
this.$set(this.param, 'qita2', '2、安装单位在本工程的施工过程中,按照《压力管道安装质量体系运行情况检查表》监督检查。')
this.$set(this.param, 'jianyangongzuofanwei', '3、对压力管道安装过程中涉及压力管道安装质量的项目,按照《压力管道安装安全质量检查项目表》进行监督验证。')
this.$set(this.param, 'shuoming', '4、监检过程中抽查了 个焊口的射线底片,共计 张。抽查比例为 。')
this.getDepartmentCode()
} else {
this.judgeRepeat(this.ysjl.baogaobianhao, this.ysjl.id)
// '\n\r''\n'
if (this.ysjl.jianyanyiju !== null && this.ysjl.jianyanyiju !== '' && this.ysjl.jianyanyiju !== undefined) {
this.ysjl.jianyanyiju = this.ysjl.jianyanyiju.replace(/\n\r/g, '\n')
}
}
if (this.ysjl.id !== null && this.ysjl.id !== undefined) {
// id
this.api({
url: '/ysjl/getParamByYsjlId',
method: 'get',
params: {
ysjlId: this.ysjl.id,
sbzldm: this.ysjl.shebeizhongleidaima
}
}).then(data => {
this.param = data
if (this.param.qita1 !== null && this.param.qita1 !== undefined && this.param.qita1 !== '') {
const qita1 = this.param.qita1.split('、')
this.param.qita1 = JSON.parse(JSON.stringify(qita1))
}
})
}
this.$nextTick(() => {
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan !== undefined && this.ysjl.jianyanrenyuan.length > 0) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
})
},
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)
}
},
dateFormat() {
const year = new Date().getFullYear()
const month = new Date().getMonth() + 1 > 9 ? (new Date().getMonth() + 1).toString() : '0' + (new Date().getMonth() + 1)
const day = new Date().getDate() > 9 ? new Date().getDate().toString() : '0' + new Date().getDate()
return year + '-' + month + '-' + day
},
//
getDepartmentCode() {
this.api({
url: '/department/gainCurrentDepartmentCode',
method: 'get',
params: {
depId: this.$store.getters.departmentId
}
}).then(data => {
this.jlbh5 = data
this.getMaxBh()
})
},
//
getMaxBh() {
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: aheadPart + '-',
hinderPart: this.jlbh5
}
}).then(data => {
this.jlbh4 = data
})
},
saveYsjl: function(operation) {
if (operation === 'add') {
if (this.jlbh4.trim() === '') {
this.$message({ message: '请先确认报告编号是否完整!', type: 'warning' })
return false
}
}
let url = ''
this.ysjl.bglx = 1
this.ysjl.cjState = 'bggl'
this.ysjl.zfState = '0'
this.ysjl.jianyanxiangmu = 'azjj'
this.ysjl.jlprintState = 0
this.ysjl.flowstatus = 1
this.ysjl.jigouhezhunzhenghao = 'TS7110433-2024'
// '\n\r'
if (this.ysjl.jianyanyiju !== null && this.ysjl.jianyanyiju !== '' && this.ysjl.jianyanyiju !== undefined) {
this.ysjl.jianyanyiju = this.ysjl.jianyanyiju.replace(/\n/g, '\n\r')
}
let qita1 = ''
for (let i = 0; i < this.param.qita1.length; i++) {
qita1 += this.param.qita1[i] + '、'
}
this.param.qita1 = qita1.substring(0, qita1.length - 1)
if (operation === 'add') {
url = '/ysjl/saveYsjl'
this.ysjl.baogaobianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 + this.jlbh5
} else if (operation === 'upd') {
url = '/ysjl/updateYsjl'
}
if (this.isRepeat) {
this.$message({ message: '报告编号重复,请先修改报告编号再保存', type: 'error' })
return false
} else if (this.common.judgeBianhao(this.ysjl.baogaobianhao) === 0) {
this.$message({ message: '报告编号中包含中文,不符合编号规则', type: 'error' })
return false
} else {
this.$refs['ysjl'].validate(valid => {
if (valid) {
this.api({
url: url,
method: 'post',
data: {
ysjl: this.ysjl,
param: this.param,
flag: operation
}
}).then(data => {
Utils.$emit('bggl-daiban-list')
if (this.ysjl.jianyanyiju !== null && this.ysjl.jianyanyiju !== '' && this.ysjl.jianyanyiju !== undefined) {
this.ysjl.jianyanyiju = this.ysjl.jianyanyiju.replace(/\n\r/g, '\n')
}
if (operation === 'add' && data !== '') {
Utils.$emit('task-list')
this.$message({ message: '保存成功', type: 'success' })
this.ysjl.id = data
this.info.ysjlId = this.ysjl.id
this.param.ysjlId = data
if (this.param.qita1 !== null && this.param.qita1 !== undefined && this.param.qita1 !== '') {
this.param.qita1 = JSON.parse(JSON.stringify(this.param.qita1.split('、')))
}
} else if (operation === 'upd') {
this.$message({ message: '更新成功', type: 'success' })
if (this.param.qita1 !== null && this.param.qita1 !== undefined && this.param.qita1 !== '') {
this.param.qita1 = JSON.parse(JSON.stringify(this.param.qita1.split('、')))
}
}
this.state = 'update'
}).catch(() => {
if (this.param.qita1 !== null && this.param.qita1 !== undefined && this.param.qita1 !== '') {
this.param.qita1 = JSON.parse(JSON.stringify(this.param.qita1.split('、')))
}
})
}
})
}
},
zlscChange(val) {
this.ysjl.jianyanyiju = (this.ysjl.jianyanyiju === undefined || this.ysjl.jianyanyiju === null || this.ysjl.jianyanyiju === '') ? val : this.ysjl.jianyanyiju + '\n' + ' ' + val
},
bzyqChange(val) {
this.param.biaozhunyaoqiu = (this.param.biaozhunyaoqiu === undefined || this.param.biaozhunyaoqiu === null || this.param.biaozhunyaoqiu === '') ? val : this.param.biaozhunyaoqiu + '、' + val
},
judgeRepeat(bianhao, id) {
this.api({
url: '/ysjl/judgeRepeat',
method: 'get',
params: {
ysjlId: id,
bianhao: bianhao
}
}).then(data => {
if (data > 0) {
this.isRepeat = true
} else {
this.isRepeat = false
}
})
},
toAddJyfa() {
this.jyfaDialogVisible = true
},
//
getJyfaInfo() {
this.api({
url: '/ysjl/getJyfaInfo',
method: 'get',
params: {
ysjlId: this.ysjl.id
}
}).then(data => {
this.similarTableData = data
this.similarVisible = true
})
},
closeJyfaDialog() {
this.jyfaDialogVisible = false
},
//
delYsjl(jianyanxiangmu, bglx, ysjlId) {
this.$confirm('原始记录删除后将无法恢复,是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.api({
url: '/ysjl/delJyfa',
method: 'get',
params: {
ysjlId: ysjlId,
bglx: bglx,
jianyanxiangmu: jianyanxiangmu
}
}).then(() => {
Utils.$emit('modifyMajorInspectionItemBySub')
this.$message({ message: '删除成功', type: 'success' })
this.getJyfaInfo()
this.$refs.jyfa.getJyfaInfo()
})
}).catch(e => {
this.$message({ message: '删除失败:' + e, type: 'error' })
})
},
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fenxiang/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
status: status
}
}).then(() => {
this.getJyfaInfo()
if (status === '0') {
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
})
},
editChild(id, jianyanxiangmu, departmentId) {
this.$router.push({ path: '/bggl/' + this.ysjl.shebeizhongleidaima + '/jd/' + jianyanxiangmu, query: { id: id, jyxm: jianyanxiangmu, departmentId: departmentId }})
this.similarVisible = false
}
}
}
</script>
<style>
.el-input.is-disabled .el-input__inner {
color: #606266;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606266;
}
</style>

226
src/views/bggl/8000/jj/component/GdHzb.vue

@ -0,0 +1,226 @@
<template>
<div>
<el-row :gutter="10">
<el-form :model="hzbYsjl" label-position="right" label-width="120px">
<el-col :span="9">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="hzbYsjl.gongchengmingcheng" disabled />
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-row :gutter="10">
<el-col :span="3" style="width: 158px;">
<el-button type="success" icon="el-icon-download" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 15px;"
accept=".xlsx"
action=""
>
<el-button type="primary" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" icon="el-icon-circle-plus-outline" @click="addRow">
添加
</el-button>
<el-button type="danger" :disabled="multipleSelection.length === 0" icon="el-icon-remove-outline" @click="delRow">
删除
</el-button>
</el-col>
</el-row>
<el-table
ref="hzbTable"
:data="hzbTable"
width="100%"
border
stripe
style="margin-top: 5px;"
@row-click="onRowClick"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" align="center" width="40" />
<el-table-column prop="C1" width="80" align="center" label="序号">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" />
</template>
</el-table-column>
<el-table-column prop="C2" align="center" label="管道名称">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" />
</template>
</el-table-column>
<el-table-column prop="C3" align="center" label="管道编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" />
</template>
</el-table-column>
<el-table-column prop="C4" align="center" label="管道级别">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" />
</template>
</el-table-column>
<el-table-column prop="C5" align="center" label="材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" />
</template>
</el-table-column>
<el-table-column prop="C6" align="center" label="介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" />
</template>
</el-table-column>
<el-table-column align="center" label="管道规格">
<el-table-column prop="C7" align="center" label="公称直径(mm)">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" />
</template>
</el-table-column>
<el-table-column prop="C8" align="center" label="公称壁厚(mm)">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" />
</template>
</el-table-column>
<el-table-column prop="C9" align="center" label="管道长度(m)">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="起止点">
<el-table-column prop="C10" align="center" label="起点">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" />
</template>
</el-table-column>
<el-table-column prop="C11" align="center" label="终点">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="设计条件">
<el-table-column prop="C12" align="center" label="温度(℃)">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" />
</template>
</el-table-column>
<el-table-column prop="C13" align="center" label="压力(MPa)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="工作条件">
<el-table-column prop="C14" align="center" label="温度(℃)">
<template slot-scope="scope">
<el-input v-model="scope.row.C14" />
</template>
</el-table-column>
<el-table-column prop="C15" align="center" label="压力(MPa)">
<template slot-scope="scope">
<el-input v-model="scope.row.C15" />
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="C16" align="center" label="备注(图号)">
<template slot-scope="scope">
<el-input v-model="scope.row.C16" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
props: {
hzbYsjl: {
type: Object,
required: true
},
azhzTable: {
type: Array,
default: () => { return [] }
}
},
data() {
return {
multipleSelection: [],
fileName: '压力管道安装汇总表.xlsx',
hzbTable: this.azhzTable
}
},
methods: {
getParentData(val) {
this.hzbYsjl.gongchengmingcheng = val
},
getTableData(val) {
this.hzbTable = val
},
onRowClick(row) {
this.$refs.hzbTable.toggleRowSelection(row)
},
handleSelectionChange(val) {
this.multipleSelection = val
},
addRow() {
const length = this.hzbTable.length
this.hzbTable.push({ C1: length + 1 })
this.$emit('syncHzbData', this.hzbTable)
},
delRow() {
for (let i = 0; i < this.multipleSelection.length; i++) {
for (let y = 0; y < this.hzbTable.length; y++) {
if (JSON.stringify(this.multipleSelection[i]) === JSON.stringify(this.hzbTable[y])) {
this.hzbTable.splice(y, 1)
}
}
}
this.$emit('syncHzbData', this.hzbTable)
},
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道数据表模板.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.hzbTable))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.hzbTable = data
this.$emit('syncHzbData', this.hzbTable)
this.$message({ message: '上传成功!', type: 'success' })
})
},
getHzbData() {
this.$emit('syncHzbData', this.hzbTable)
}
}
}
</script>

40
src/views/bggl/8000/jj/component/GdWtcl.vue

@ -0,0 +1,40 @@
<!--监检过程中发现问题的处理情况-->
<template>
<el-form ref="wtcl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset style="height: 560px">
<legend>基本情况</legend>
<el-row>
<el-col :span="18">
<el-form-item label="问题处理情况" prop="wentichuliqingkuang">
<el-input v-model="ysjl.wentichuliqingkuang" type="textarea" :rows="18" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</template>
<script>
export default {
props: {
ysjl: {
type: Object,
required: true
}
},
data() {
return {
}
},
watch: {
ysjl(val) {
this.ysjl = val
}
},
methods: {
getWtclData() {
this.$emit('syncWtclData', this.ysjl)
}
}
}
</script>

50
src/views/bggl/8000/jj/component/JdjyJg.vue

@ -0,0 +1,50 @@
<template>
<div>
<el-table :data="tableData" border stripe style="width:60%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" prop="C1" label="检验内容" />
<el-table-column align="center" prop="C2" label="检验结果">
<template slot-scope="scope">
<el-select v-model="scope.row.C2" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="符合要求" value="☑符合要求 □不符合要求 □无此项" />
<el-option label="不符合要求" value="□符合要求 ☑不符合要求 □无此项" />
<el-option label="无此项" value="□符合要求 □不符合要求 ☑无此项" />
</el-select>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
props: {
ysjl: {
type: Object,
required: true
},
jdjyjg: {
type: Array,
default: () => { return [] }
},
edit: {
type: Boolean,
default: false
}
},
data() {
return {
tableData: []
}
},
watch: {
jdjyjg(val) {
this.tableData = val
}
},
methods: {
getJyjgData() {
this.$emit('syncJyjgData', this.tableData)
}
}
}
</script>

348
src/views/bggl/8000/jj/component/SjdwQk.vue

@ -0,0 +1,348 @@
<template>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20" style="height: 90px;">
<el-col :span="18">
<el-form-item label="建设单位" prop="shiyongdanwei">
<el-input v-model="ysjl.shiyongdanwei" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 90px;">
<el-col :span="18">
<el-form-item label="设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 90px;">
<el-col :span="18">
<el-form-item label="施工单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="无损检测单位" prop="jiancedanwei">
<el-input v-model="ysjl.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px;">
<el-col :span="18">
<el-form-item label="备注" prop="beizhu">
<el-input v-model="ysjl.beizhu" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>现场施焊焊工一览表</legend>
<el-row :gutter="10">
<el-col :span="3" style="width: 158px;">
<el-button type="success" size="medium" icon="el-icon-download" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 15px;"
accept=".xlsx"
action=""
>
<el-button type="primary" size="medium" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" size="medium" icon="el-icon-circle-plus-outline" @click="addRow">
添加
</el-button>
<el-button type="danger" size="medium" :disabled="multipleSelection.length === 0" icon="el-icon-remove-outline" @click="delRow">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="hgs" :data="hgs" border style="margin-bottom: 20px" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column type="selection" />
<el-table-column prop="C1" label="焊工" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column label="焊工证号" align="center" width="180">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C3" label="合格项目" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C4" label="有效期" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" align="center" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>现场作业无损检测人员一览表</legend>
<el-row :gutter="10">
<el-col :span="3" style="width: 158px;">
<el-button type="success" size="medium" icon="el-icon-download" @click="downloadTemplate2">
下载导入模板
</el-button>
</el-col>
<el-col :span="10">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload2"
style="float: left; margin-right: 15px;"
accept=".xlsx"
action=""
>
<el-button type="primary" size="medium" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" size="medium" icon="el-icon-circle-plus-outline" @click="addRow2">
添加
</el-button>
<el-button type="danger" size="medium" :disabled="multipleSelection2.length === 0" icon="el-icon-remove-outline" @click="delRow2">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="wsjcrys" :data="wsjcrys" border style="margin-bottom: 20px" @row-click="onRowClick2" @selection-change="handleSelectionChange2">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" label="无损检测人员" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C2" label="人员证号" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C3" label="合格项目" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C4" label="有效期" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C5" label="执业注册证" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" align="center" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</template>
<script>
export default {
props: {
ysjl: {
type: Object,
required: true
},
hgList: {
type: Array,
default: () => { return [] }
},
wsjcryList: {
type: Array,
default: () => { return [] }
}
},
data() {
return {
edit: false,
wsjcrys: this.hgList,
hgs: this.wsjcryList,
multipleSelection: [],
multipleSelection2: []
}
},
methods: {
getTableData() {
const data = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', data)
},
onRowClick(row) {
this.$refs.hgs.toggleRowSelection(row)
},
handleSelectionChange(val) {
this.multipleSelection = val
},
addRow() {
this.hgs.push({})
const data = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', data)
},
delRow() {
for (let i = 0; i < this.multipleSelection.length; i++) {
for (let y = 0; y < this.hgs.length; y++) {
if (JSON.stringify(this.multipleSelection[i]) === JSON.stringify(this.hgs[y])) {
this.hgs.splice(y, 1)
}
}
}
const data = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', data)
},
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '现场施焊焊工一览表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.hgs))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.hgs = data
const transData = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', transData)
this.$message({ message: '上传成功!', type: 'success' })
})
},
onRowClick2(row) {
this.$refs.wsjcrys.toggleRowSelection(row)
},
handleSelectionChange2(val) {
this.multipleSelection2 = val
},
addRow2() {
this.wsjcrys.push({})
const transData = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', transData)
},
delRow2() {
for (let i = 0; i < this.multipleSelection2.length; i++) {
for (let y = 0; y < this.wsjcrys.length; y++) {
if (JSON.stringify(this.multipleSelection2[i]) === JSON.stringify(this.wsjcrys[y])) {
this.wsjcrys.splice(y, 1)
}
}
}
const transData = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', transData)
},
downloadTemplate2() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '现场作业无损检测人员一览表模板.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload2(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.wsjcrys))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.wsjcrys = data
const transData = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', transData)
this.$message({ message: '上传成功!', type: 'success' })
})
},
getSjdwData() {
const transData = {
sjdwqk: this.ysjl,
hgs: this.hgs,
wsjcrys: this.wsjcrys
}
this.$emit('syncSjdwData', transData)
},
getParentDataSy(val) {
this.ysjl.shiyongdanwei = val
},
getParentDataSj(val) {
this.ysjl.shejidanwei = val
},
getParentDataSg(val) {
this.ysjl.shigongdanwei = val
},
getHgList(val) {
this.hgs = val
},
getWsjcList(val) {
this.wsjcrys = val
}
}
}
</script>

183
src/views/bggl/8000/jj/component/SjdwWsjc.vue

@ -0,0 +1,183 @@
<template>
<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="18">
<el-form-item label="无损检测单位" prop="jiancedanwei">
<el-input v-model="ysjl.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px;">
<el-col :span="18">
<el-form-item label="备注" prop="beizhu">
<el-input v-model="ysjl.beizhu" type="textarea" :rows="3" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>现场作业无损检测人员一览表</legend>
<el-row :gutter="10">
<el-col :span="3" style="width: 158px;">
<el-button type="success" size="medium" icon="el-icon-download" @click="downloadTemplate2">
下载导入模板
</el-button>
</el-col>
<el-col :span="10">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload2"
style="float: left; margin-right: 15px;"
accept=".xlsx"
action=""
>
<el-button type="primary" size="medium" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" size="medium" icon="el-icon-circle-plus-outline" @click="addRow2">
添加
</el-button>
<el-button type="danger" size="medium" :disabled="multipleSelection2.length === 0" icon="el-icon-remove-outline" @click="delRow2">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="wsjcrys" :data="wsjcrys" border style="margin-bottom: 20px" @row-click="onRowClick2" @selection-change="handleSelectionChange2">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" label="无损检测人员" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C2" label="人员证号" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C3" label="合格项目" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C4" label="有效期" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" align="center" />
</template>
</el-table-column>
<el-table-column prop="C5" label="执业注册证" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" align="center" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</template>
<script>
export default {
props: {
ysjl: {
type: Object,
required: true
},
wsjcrys: {
type: Array,
default: () => { return [] }
}
},
data() {
return {
edit: false,
multipleSelection2: []
}
},
methods: {
getTableData() {
const data = {
wsjcYsjl: this.ysjl,
wsjcrys: this.wsjcrys
}
this.$emit('syncWsjcData', data)
},
onRowClick(row) {
this.$refs.hgs.toggleRowSelection(row)
},
onRowClick2(row) {
this.$refs.wsjcrys.toggleRowSelection(row)
},
handleSelectionChange2(val) {
this.multipleSelection2 = val
},
addRow2() {
this.wsjcrys.push({})
const transData = {
wsjcYsjl: this.ysjl,
wsjcrys: this.wsjcrys
}
this.$emit('syncWsjcData', transData)
},
delRow2() {
for (let i = 0; i < this.multipleSelection2.length; i++) {
for (let y = 0; y < this.wsjcrys.length; y++) {
if (JSON.stringify(this.multipleSelection2[i]) === JSON.stringify(this.wsjcrys[y])) {
this.wsjcrys.splice(y, 1)
}
}
}
const transData = {
wsjcYsjl: this.ysjl,
wsjcrys: this.wsjcrys
}
this.$emit('syncWsjcData', transData)
},
downloadTemplate2() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '现场作业无损检测人员一览表模板.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload2(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.wsjcrys))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.wsjcrys = data
const transData = {
wsjcYsjl: this.ysjl,
wsjcrys: this.wsjcrys
}
this.$emit('syncWsjcData', transData)
this.$message({ message: '上传成功!', type: 'success' })
})
},
getWsjcData() {
const transData = {
wsjcYsjl: this.ysjl,
wsjcrys: this.wsjcrys
}
this.$emit('syncWsjcData', transData)
}
}
}
</script>

758
src/views/bggl/8000/jj/edit.vue

@ -1,758 +0,0 @@
<template>
<div class="app-container">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
保存
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')">
更新
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa">
添加检验方案
</el-button>
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="getJyfaInfo">
查看同类报告
</el-button>
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'JYBG')">
预览
</el-button>
</div>
</sticky>
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="工程概况" name="first">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col v-if="state === 'create'" :span="13">
<el-form-item label="记录编号">
<el-input v-model="bgbh1" style="width:80px" disabled />
<el-input v-model="bgbh2" style="width:80px" disabled />-
<el-input v-model="bgbh3" style="width:80px" @blur="judgeRepeat(bgbh1 + bgbh2 + bgbh3 , ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="state !== 'create'" :span="9">
<el-form-item label="记录编号" prop="baogaobianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.baogaobianhao" :disabled="edit" @blur="judgeRepeat(ysjl.baogaobianhao, ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2">
<span style="color:red">编号重复</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit">
<template slot="append">
(MPa)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="输送介质" prop="shusongjiezhi">
<el-input v-model="param.shusongjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="开工时间" prop="kaigongshijian">
<el-date-picker v-model="param.kaigongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="竣工时间" prop="jungongshijian">
<el-date-picker v-model="param.jungongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="建设单位" prop="jianshedanwei">
<el-input v-model="param.jianshedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="管道设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程规划许可证号" prop="guihuaxukezheng">
<el-input v-model="param.guihuaxukezheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计证书编号" prop="shejiwenjianhao">
<el-input v-model="ysjl.shejiwenjianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="防腐施工单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装许可证编号" prop="shigongxukezheng">
<el-input v-model="ysjl.shigongxukezheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="防腐资质证书编号" prop="fangfuzizhizhengshu">
<el-input v-model="param.fangfuzizhizhengshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监理单位" prop="jianlidanwei">
<el-input v-model="param.jianlidanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监理资质证书号" prop="jianlizizhizhengshu">
<el-input v-model="param.jianlizizhizhengshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="资格证书编号" prop="jiancezizhizhenghao">
<el-input v-model="param.jiancezizhizhenghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="授权书文号" prop="shouquanshuwenhao">
<el-input v-model="param.shouquanshuwenhao" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计温度" prop="shejiwendu">
<el-input v-model="param.shejiwendu" :disabled="edit">
<template slot="append">
()
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检验规范" prop="anzhuangguifan">
<el-input v-model="param.anzhuangguifan" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验结论" prop="jianyanjielun">
<el-select v-model="ysjl.jianyanjielun" placeholder="请选择" style="width: 100%;">
<el-option label="合格" value="合格" />
<el-option label="不合格" value="不合格" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安全状况等级为" prop="anquanzhuangkuangdengji">
<el-select v-model="ysjl.anquanzhuangkuangdengji" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="1级" value="1级" />
<el-option label="2级" value="2级" />
<el-option label="3级" value="3级" />
<el-option label="4级" value="4级" />
<el-option label="5级" value="5级" />
<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="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<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>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="下次定期检验日期" prop="xiacijianyanriqi">
<el-date-picker v-model="ysjl.xiacijianyanriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="证书编号" prop="zhengshubianhao">
<el-input v-model="param.zhengshubianhao" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<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" @setSignValue="singNameValue" />
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="压力管道基本情况" name="second">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20" style="height: 130px;">
<el-col :span="18">
<el-form-item label="工程简介" prop="gongchengjianjie">
<el-input v-model="param.gongchengjianjie" :disabled="edit" :rows="5" type="textarea" placeholder="内容包括工程名称施工单位投资规模管道的基本属性相关情况的描述" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="建设单位" prop="jianshedanwei">
<el-input v-model="param.jianshedanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监理单位" prop="jianlidanwei">
<el-input v-model="param.jianlidanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="防腐单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 110px;">
<el-col :span="18">
<el-form-item label="主要元件供货单位" prop="gonghuodanwei">
<el-input v-model="param.gonghuodanwei" :disabled="edit" :rows="4" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="开工竣工时间" prop="kaigongjungongshijian">
<el-input :value="(param.kaigongshijian ? param.kaigongshijian : '') + '-' + (param.jungongshijian ? param.jungongshijian : '')" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="设计参数" prop="shejicanshu">
<el-input :value="'设计压力:' + (param.shejiyali ? param.shejiyali : '') + 'Mpa、设计温度:' + (param.shejiwendu ? param.shejiwendu : '') + '℃'" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guigexinghao">
<el-input v-model="ysjl.guigexinghao" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="一览表" name="third">
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在保存后编辑一览表</span>
<mxb v-show="state !== 'create'" ref="mxb" />
</el-tab-pane>
</el-tabs>
<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog">
<jyfa ref="jyfa" :info="info" />
</el-dialog>
<el-dialog :visible.sync="similarVisible" title="同类报告查看" width="800px" @close="closeJyfaDialog">
<el-table ref="similarTable" :data="similarTableData" border style="width: 100%;" height="350">
<el-table-column align="center" label="报告类型" prop="bglx" min-width="50" />
<el-table-column align="left" label="检验项目" prop="jyxmLabel" width="200">
<template slot-scope="scope">
<div style="text-decoration:underline;cursor:pointer;" @click="editChild(scope.row.id, scope.row.jianyanxiangmu, departmentId, scope.row.modelId)">
{{ scope.row.jyxmLabel }}
</div>
</template>
</el-table-column>
<el-table-column align="center" label="处理人" prop="renlingren" min-width="40" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" min-width="40" />
<el-table-column align="center" label="办结状态" prop="flowstatus" min-width="30">
<template slot-scope="scope">
<el-tag v-if="scope.row.flowstatus==='未办结'" type="danger">
未办结
</el-tag>
<el-tag v-if="scope.row.flowstatus==='已办结'" type="success">
已办结
</el-tag>
</template>
</el-table-column>
<el-table-column property="" label="操作" align="center" width="95">
<template slot-scope="scope">
<el-button type="primary" size="mini" title="删除检验方案" circle icon="el-icon-delete" @click="delYsjl(scope.row.jyxmLabel, scope.row.bglx, scope.row.id)" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '未办结'" type="primary" size="mini" title="办结" circle icon="el-icon-check" @click="bjYsjl(scope.row.id, '1')" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '已办结'" type="primary" size="mini" title="取消办结" circle icon="el-icon-close" @click="bjYsjl(scope.row.id, '0')" />
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import jyfa from '@/views/bggl/addJyfa'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact.js'
import mxb from './mxb'
export default {
name: 'GdJjReport',
components: { SignName, Sticky, jyfa, mxb },
data() {
return {
//
edit: false, //
bgbh1: 'GDA',
bgbh2: '(' + (new Date().getFullYear()) + ')',
bgbh3: '',
//
jianyanrenyuan: '',
//
jyfaDialogVisible: false,
//
// {create=> update=> }
state: this.$route.query.state,
ysjl: {},
departmentId: this.$route.query.departmentId,
param: {},
checkedTab: 'first',
info: {
modelId: this.$route.query.templateId,
sbzldm: this.$route.query.sbzldm,
sblbdm: this.$route.query.sblbdm,
ysjlId: this.$route.query.id,
departmentId: this.$route.query.departmentId,
jylb: this.$route.query.jylb,
nblb: this.$route.query.neibuleibie,
type: 'JYBG'
},
similarVisible: false,
similarTableData: [],
isRepeat: false,
tableData: []
}
},
computed: {
baogaobianhao: function() {
if (this.state !== 'create') {
return this.ysjl.baogaobianhao
}
return this.bgbh1 + this.bgbh2 + '-' + this.bgbh3
}
},
created() {
if (this.state === 'create') {
this.initYsjl()
} else {
this.getYsjl()
this.getParam()
}
},
methods: {
initYsjl() {
this.api({
url: '/ysjl/initYsjl',
method: 'post',
data: {
templateId: this.$route.query.templateId,
renwuId: this.$route.query.renwuId,
neibuleibie: this.$route.query.neibuleibie,
sblbdm: this.$route.query.sblbdm,
sblbmc: this.$route.query.sblbmc,
sbpzdm: this.$route.query.sbpzdm,
sbpzmc: this.$route.query.sbpzmc
}
}).then(data => {
this.ysjl = data.ysjl
this.param = data.param ? data.param : {}
this.ysjl.flowStatus = 1
this.ysjl.jianyanjielun = '符合要求'
this.ysjl.xiacijianyanriqishuoming = '/'
this.ysjl.shebeizhongleidaima = '8000'
//
const tempTime = new Date()
this.ysjl.jianyankaishiriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
// =
const xcjyrq = (tempTime.getFullYear() + 2) + '-' + (tempTime.getMonth() + 1) + '-' + (tempTime.getDate() - 1)
this.ysjl.xiacijianyanriqi = xcjyrq
this.ysjl.shejishiyongnianxian = '年'
this.ysjl.jianyanjielun = '合格'
this.ysjl.anquanzhuangkuangdengji = '1级'
this.ysjl.shejiriqi = ' 年 月'
this.param.yanshouriqi = ' 年 月'
this.getMaxBh()
})
},
getYsjl() {
this.api({
url: '/ysjl/getYsjlById',
method: 'get',
params: {
ysjlId: this.$route.query.id
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
if (this.ysjl.baogaobianhao.indexOf('COPY') !== -1) {
//
this.getMaxBh()
} else if (this.ysjl.baogaobianhao) {
this.judgeRepeat(this.ysjl.baogaobianhao.substring(0, this.ysjl.baogaobianhao.lastIndexOf('-') + 1), this.ysjl.id)
}
this.$refs.mxb.getMxbInfo(this.$route.query.id)
})
},
getParam() {
// id
this.api({
url: '/ysjl/getParamByYsjlId',
method: 'get',
params: { ysjlId: this.$route.query.id, sbzldm: this.$route.query.sbzldm }
}).then(data => {
this.param = data
})
},
//
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')
}
},
//
getMaxBh() {
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: this.bgbh1 + this.bgbh2 + '-' + this.bgbh3,
hinderPart: ''
}
}).then(data => {
this.bgbh3 = data
})
},
saveYsjl: function(operation) {
let type = ''
if (operation === 'add') {
type = 'post'
this.ysjl.baogaobianhao = this.bgbh1 + this.bgbh2 + '-' + this.bgbh3
this.ysjl.bglx = 1
this.ysjl.cjState = 'bggl'
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH
this.save(operation, type)
} else if (operation === 'build') {
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') {
this.$message({
type: 'error',
message: '请先签名再生成报告!'
})
return false
}
//
this.api({
url: '/ysjl/judgeState',
method: 'get',
params: {
ysjlIds: this.ysjl.id,
bglx: '2,3'
}
}).then(data => {
if (data === 0) {
this.$message.error('请先办结无损分项原始记录再生成报告!')
return false
} else {
type = 'put'
this.save(operation, type)
}
})
} else if (operation === 'upd') {
type = 'put'
this.save(operation, type)
}
},
save(operation, type) {
//
if (this.isRepeat) {
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' })
return false
} else {
this.$refs['ysjl'].validate(valid => {
if (valid) {
this.api({
url: '/ysjl',
method: type,
data: {
ysjl: this.ysjl,
param: this.param,
jyxm: '[]',
flag: operation
}
}).then(data => {
//
Utils.$emit('task-list')
Utils.$emit('bggl-daiban-list')
if (operation === 'add' && data !== '') {
this.info.ysjlId = data
this.ysjl.id = data
this.$refs.mxb.createMxb(this.ysjl.id, 12)
this.$message({ message: '保存成功', type: 'success' })
} else if (operation === 'upd') {
this.$refs.mxb.saveMxb()
this.$message({ message: '更新成功', type: 'success' })
}
this.$route.params.state = 'update'
this.state = 'update'
this.info.ysjlId = this.ysjl.id
})
}
})
}
},
toAddJyfa() {
this.jyfaDialogVisible = true
},
//
getJyfaInfo() {
this.api({
url: '/ysjl/getJyfaInfo',
method: 'get',
params: {
ysjlId: this.ysjl.id
}
}).then(data => {
data.forEach((v, k) => {
//
if (v.jianyanxiangmu === 'mxb') {
data.splice(k, 1)
}
})
this.similarTableData = data
this.similarVisible = true
})
},
closeJyfaDialog() {
this.jyfaDialogVisible = false
},
//
delYsjl(jianyanxiangmu, bglx, ysjlId) {
this.$confirm('原始记录删除后将无法恢复,是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(data => {
this.api({
url: '/ysjl/delJyfa',
method: 'get',
params: {
ysjlId: ysjlId,
bglx: bglx,
jianyanxiangmu: jianyanxiangmu
}
}).then(data => {
Utils.$emit('modifyMajorInspectionItemBySub')
this.$message({ message: '删除成功', type: 'success' })
this.getJyfaInfo()
this.$refs.jyfa.getJyfaInfo()
})
}).catch(e => {
this.$message({ message: '删除失败', type: 'error' })
})
},
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fx/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
status: status
}
}).then(data => {
this.getJyfaInfo()
if (status === '0') {
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
})
},
editChild(id, jianyanxiangmu, departmentId, modelId) {
if (jianyanxiangmu !== 'mxb') {
this.api({
url: '/template/getById',
method: 'get',
params: {
id: modelId
}
}).then(data => {
const queryParam = { id: id, jyxm: jianyanxiangmu, departmentId: departmentId }
this.$router.push({ path: data.tempPath, query: queryParam })
this.$parent.$parent.jyfaDialogVisible = false
})
this.similarVisible = false
}
},
judgeRepeat(bianhao, id) {
this.api({
url: '/ysjl/judgeRepeat',
method: 'get',
params: {
ysjlId: id,
bianhao: bianhao
}
}).then(data => {
this.isRepeat = data > 0
})
}
}
}
</script>
<style>
.el-input__inner {
border: 1px solid #00000075;
border-radius: 4px;
}
.el-textarea__inner {
border: 1px solid #91393975;
border-radius: 4px;
}
.el-form-item__error {
padding-top: 0px;
position: absolute;
}
.el-input.is-disabled .el-input__inner {
color: #606266;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606266;
}
.el-dialog__body {
padding-top: 10px;
}
</style>

166
src/views/bggl/8000/jj/fenxiang/aqjmfx.vue

@ -1,166 +0,0 @@
<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="18">
<el-form-item label="装置名称或管道编号" label-width="140px">
<el-input v-model="param.zhuangzhibianhao" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监检结论" label-width="140px">
<el-input v-model="ysjl.jianyanjielun" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="记事栏" label-width="140px">
<el-input v-model="param.jishilan" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
<div style="margin-top: 10px;">
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</div>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" />
<el-table-column align="center" type="index" :index="indexMethod" label="序号" width="60" />
<el-table-column align="center" prop="C1" label="安全保护装置名称">
<template slot-scope="{ row }">
<el-input v-model="row.C1" />
</template>
</el-table-column>
<el-table-column align="center" label="检验项目">
<el-table-column align="center" prop="C2" label="制造单位许可资格">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="规格、型号">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="外观质量">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="安装质量">
<template slot-scope="{ row }">
<el-input v-model="row.C5" />
</template>
</el-table-column>
<el-table-column align="center" prop="C6" label="密封性试验">
<template slot-scope="{ row }">
<el-input v-model="row.C6" />
</template>
</el-table-column>
<el-table-column align="center" prop="C7" label="是否校验及铅封">
<template slot-scope="{ row }">
<el-input v-model="row.C7" />
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [{ C1: '安全阀' }, { C1: '爆破片' }, { C1: '紧急切断阀' }, { C1: '阻火器' }],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? this.tableData : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
})
},
indexMethod(index) {
this.tableData[index].index = index
return (index + 1)
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

118
src/views/bggl/8000/jj/fenxiang/azdw.vue

@ -0,0 +1,118 @@
<!--对安装单位安全质量管理行为的评价-->
<template>
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="jianyanneirong" label="监督检验内容" width="450" align="center" :resizable="false" />
<el-table-column prop="jianyanjieguo" label="监督检验结果" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit">
<el-option label="是" value="是" />
<el-option label="否" value="否" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="beizhu" label="备注" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<el-row style="font-size: 18px;margin-top: 30px;color: #606266;line-height: 40px;font-weight: bolder;width: 75%">
<el-form-item label="综合评价:" prop="zonghepingjia">
<el-input v-model="param.zonghepingjia" type="textarea" :rows="6" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'YlgdAzdwReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
tableData: []
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (this.state === 'create') {
const pingjia = '安装单位在本工程的施工过程中,能够遵守相关的法令、法规的要求,执行施工和验收规范,' +
'建立了适宜的压力管道安装质量体系,并能有效的实施,施工安全质量符合设计文件及有关标准要求。'
this.$set(this.param, 'zonghepingjia', pingjia)
}
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(this.param.fubiao)
} else {
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
}
}
}
</script>

165
src/views/bggl/8000/jj/fenxiang/azzlsc.vue

@ -1,165 +0,0 @@
<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="160px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="装置名称或管道编号">
<el-input v-model="param.zhuangzhibianhao" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="记事栏" label-width="140px">
<el-input v-model="param.jishilan" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>穿跨越检验要求</legend>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="穿跨越工程施工质量">
<el-input v-model="param.shigongzhiliang" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="穿跨越施工记录或报告">
<el-input v-model="param.jiluorbaogao" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验结论">
<el-input v-model="ysjl.jianyanjielun" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" />
<el-table-column align="center" type="index" :index="indexMethod" label="序号" width="60" />
<el-table-column :formatter="fmtJyx" align="center" prop="C1" label="项目" />
<el-table-column align="center" prop="C2" label="施工记录及报告">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="内容是否齐全、正确">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="检验结论">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.getJyxm(1)
} else {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
}
})
},
//
getJyxm(sort) {
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: sort
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
})
},
indexMethod(index) {
this.tableData[index].index = index
return (index + 1)
},
fmtJyx(row) {
if (this.state === 'create') {
row.C1 = row.jianyanxiang
}
return row.C1
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

283
src/views/bggl/8000/jj/fenxiang/czsc.vue

@ -1,89 +1,103 @@
<!--压力管道元件及焊接材料的材质审查报告-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" />
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column align="center" prop="C1" label="序号" type="index" :index="indexMethod" width="60" />
<el-table-column align="center" prop="C2" label="元件名称">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="规格型号">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="数量(米/件)">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="材质">
<template slot-scope="{ row }">
<el-input v-model="row.C5" />
</template>
</el-table-column>
<el-table-column align="center" prop="C6" label="制造单位资质">
<template slot-scope="{ row }">
<el-input v-model="row.C6" />
</template>
</el-table-column>
<el-table-column align="center" prop="C7" label="质量证明书">
<template slot-scope="{ row }">
<el-input v-model="row.C7" />
</template>
</el-table-column>
<el-table-column align="center" prop="C8" label="复验报告">
<template slot-scope="{ row }">
<el-input v-model="row.C8" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" label="审查结果">
<template slot-scope="{ row }">
<el-input v-model="row.C9" />
</template>
</el-table-column>
</el-table>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<template style="height: auto">
<div v-if="state !== 'finish'">
<el-upload :show-file-list="false" :before-upload="beforeUpload" style="float: left; margin-right: 10px;" action="123">
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addRow()">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
</div>
<el-table ref="czscList" :data="tableData" border style="width: 100%;" :row-class-name="tableRowClassName" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column label="管道元件材质及焊接材料的材质" align="center">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="C2" label="元件名称" width="300" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C3" label="规格型号" width="200" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C4" label="数量" width="100" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C5" label="材质" width="100" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C6" label="供货状态" width="100" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C7" label="质量证明书" width="300" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C8" label="复验报告" width="100" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C9" label="审查结果" width="120" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
</el-table><br><br>
<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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</template>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjCzsc',
name: 'YlgdCzscReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
ysjlids: '',
param: {},
tableData: [],
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false
edit: false,
delRowIndex: [],
tableData: []
}
},
created() {
@ -92,7 +106,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -100,41 +114,130 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
tableRowClassName({ row, rowIndex }) {
row.C1 = rowIndex + 1
},
indexMethod(index) {
this.tableData[index].index = index
this.tableData[index].C1 = index + 1
return this.tableData[index].C1
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].C1 - 1)
}
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
onRowClick(row) { //
this.$refs.czscList.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addRow: function() {
const d = {
C1: this.tableData.length + 1
}
this.tableData.push(d)
setTimeout(() => {
this.$refs.czscList.setCurrentRow(d)
}, 10) //
},
delRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
this.$confirm('该条数据删除后无法恢复,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.czscList.clearSelection()
this.delRowIndex = []
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道元件及焊接材料的材质审查报告.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
fd.append('added', 1)
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}
</script>
<style scoped>
</style>

162
src/views/bggl/8000/jj/fenxiang/dtztsyx.vue

@ -1,162 +0,0 @@
<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>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请先保存再上传图片</span>
<el-upload
v-else
ref="upload"
:on-preview="handlePictureCardPreview"
:file-list="fileList"
:before-upload="beforeUpload"
:before-remove="beforeRemove"
:on-remove="handleRemove"
action=""
:disabled="state === 'finish'"
accept="image/png,image/gif,image/jpg,image/jpeg"
list-type="picture-card"
>
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img :src="dialogImageUrl" width="100%" alt="">
</el-dialog>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
state: '',
edit: false,
fileList: [],
dialogVisible: false,
dialogImageUrl: '',
sort: 1
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.fileList = (data.param.imagePath === null || data.param.imagePath === '') ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/dtztsyx/' + this.fileList[i].name
}
}
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm, false, true)
})
},
beforeRemove(file, fileList) {
if (file.status === 'success') {
return this.$confirm('图片删除后将不能恢复,是否确定删除该图片?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(data => {
return null
}).catch(e => {
e()
})
}
},
handleRemove(file, fileList) {
if (fileList.length > 0) {
const imgList = []
for (let i = 0; i < fileList.length; i++) {
const img = {}
this.$set(img, 'name', fileList[i].name)
imgList.push(img)
}
fileList = imgList
} else {
fileList = ''
}
const imgPath = fileList === '' ? '' : JSON.stringify(fileList)
if (file.status === 'success') {
this.preview({
url: '/upload/delImg',
method: 'post',
data: {
ysjlId: this.ysjl.id,
delFileName: file.name,
imgPath: imgPath,
sort: this.sort
}
})
}
this.param.imagePath = fileList
},
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
if (!isJPG) {
this.$message.error('只能上传jpg/png格式的图片')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('ysjlId', this.ysjl.id)
fd.append('sort', this.sort)
this.preview({
url: '/upload/uploadImg',
method: 'post',
data: fd
}).then(data => {
this.fileList = JSON.parse(data)
this.param.imagePath = data
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/dtztsyx/' + this.fileList[i].name
}
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

238
src/views/bggl/8000/jj/fenxiang/gzsc.vue

@ -0,0 +1,238 @@
<!--管道通球扫线干燥审查报告-->
<template>
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<template style="height: auto">
<div v-if="state !== 'finish'">
<el-upload :show-file-list="false" :before-upload="beforeUpload" style="float: left; margin-right: 10px;" action="123">
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addRow()">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
</div>
<el-table ref="fzscList" :data="tableData" border style="width: 100%;" :row-class-name="tableRowClassName" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="C2" label="管线号" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column label="吹扫、干燥参数" align="center">
<el-table-column prop="C3" label="介质" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C4" label="压力(Mpa)" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C5" label="流速(m/s)" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C6" label="吹扫次数" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
<el-table-column prop="C7" label="检查方法" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C8" label="检查结果" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" />
</template>
</el-table-column>
</el-table><br><br>
<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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</template>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'YlgdGzscReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
ysjlids: '',
param: {},
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
delRowIndex: [],
tableData: []
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
tableRowClassName({ row, rowIndex }) {
row.C1 = rowIndex + 1
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].C1 - 1)
}
},
onRowClick(row) { //
this.$refs.fzscList.toggleRowSelection(row)
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addRow: function() {
const b = {
C1: this.tableData.length + 1
}
this.tableData.push(b)
setTimeout(() => {
this.$refs.fzscList.setCurrentRow(b)
}, 10) //
},
delRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
this.$confirm('该条数据删除后无法恢复,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.fzscList.clearSelection()
this.delRowIndex = []
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '管道通球、扫线、干燥审查报告.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
fd.append('added', 1)
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}
</script>

125
src/views/bggl/8000/jj/fenxiang/jcdw.vue

@ -0,0 +1,125 @@
<!--对检测单位安全质量管理行为的评价-->
<template>
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="ysjlParam.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="jianyanneirong" label="监督检验内容" width="450" align="center" :resizable="false" />
<el-table-column prop="jianyanjieguo" label="监督检验结果" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit">
<el-option label="是" value="是" />
<el-option label="否" value="否" />
<el-option label="是;否" value="是;否" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="beizhu" label="备注" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<br>
<el-row style="height: 120px;">
<el-col :span="15">
<el-form-item label="综合评价:" prop="zonghepingjia">
<el-input v-model="param.zonghepingjia" type="textarea" :rows="4" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'YlgdJcdwReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
ysjlParam: {},
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
tableData: []
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
console.log(data.ysjlParam)
this.ysjlParam = data.ysjlParam
this.state = 'create'
if (this.state === 'create') {
const pingjia = '检测单位在本工程的施工过程中,能够遵守相关的法令、法规的要求,执行施工和验收规范,' +
'建立了适宜的压力管道安装质量体系,并能有效的实施,施工安全质量符合设计文件及有关标准要求。'
this.$set(this.param, 'zonghepingjia', pingjia)
}
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(this.param.fubiao)
} else {
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
}
}
}
</script>

112
src/views/bggl/8000/jj/fenxiang/jgzlsc.vue

@ -1,64 +1,60 @@
<!--压力管道安装竣工技术资料审查报告-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="综合评价">
<el-input v-model="param.zonghepingjia" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px">
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="审查情况" align="center">
<el-table-column type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="jianyanneirong" label="监督检验内容" width="600" align="left" :resizable="false" />
<el-table-column prop="jianyanjieguo" label="监督检验结果" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit">
<el-option label="合格" value="合格" />
<el-option label="不合格" value="不合格" />
<el-option label="无此项" value="无此项" />
</el-select>
</template>
</el-table-column>
</el-table-column>
</el-table>
<br>
<el-row :gutter="20" style="height: 150px">
<el-col :span="15">
<el-form-item label="综合评价:" prop="zonghepingjia">
<el-input v-model="param.zonghepingjia" type="textarea" :rows="6" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table ref="tableData" :data="tableData" :span-method="tableJs.mergeColRows" border stripe style="margin-top: 10px">
<el-table-column type="selection" />
<el-table-column align="center" type="index" label="序号" width="60" />
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanmu" label="检验内容" />
<el-table-column align="center" prop="beizhu" label="检验结果">
<template slot-scope="{ row }">
<el-input v-model="row.beizhu" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
name: 'YlgdJgzlscReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
//
//
cols: [
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
return row.jianyanxiang
}
}
],
//
rows: [
{
name: 'jianyanxiang',
getValue(row) {
return row.jianyanxiang
}
}
]
tableData: []
}
},
created() {
@ -67,7 +63,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -75,49 +71,41 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
this.state = 'create'
if (this.state === 'create') {
const pingjia = '合格\n'
this.$set(this.param, 'zonghepingjia', pingjia)
}
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.tableJs.getData(this.cols, null, this.tableData)
this.tableData = JSON.parse(this.param.fubiao)
} else {
this.state = 'create'
//
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.getJyxm(1)
} else {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
getJyxm(sort) {
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: sort
order: 1
}
}).then(data => {
this.tableData = data
this.tableJs.getData(this.cols, null, this.tableData)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

137
src/views/bggl/8000/jj/fenxiang/jsdw.vue

@ -1,46 +1,68 @@
<!--对建设单位安全质量管理行为的评价-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px" style="height: 100px">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px">
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="评价结论">
<el-input v-model="param.zonghepingjia" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
<el-col :span="9">
<el-form-item label="建设单位" prop="shiyongdanwei">
<el-input v-model="ysjl.shiyongdanwei" type="text" :disabled="true" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%;">
<el-table-column label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="jianyanneirong" label="监督检验内容" width="450" align="center" :resizable="false" />
<el-table-column prop="jianyanjieguo" label="监督检验结果" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit">
<el-option label="齐全" value="齐全" />
<el-option label="是" value="是" />
<el-option label="否" value="否" />
</el-select>
</template>
</el-table-column>
<el-table-column prop="beizhu" label="备注" width="350" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入备注" />
</template>
</el-table-column>
</el-table>
<el-row style="font-size: 18px;margin-top: 30px;color: #606266;line-height: 40px;font-weight: bolder;width: 75%">
<el-form-item label="综合评价:" prop="zonghepingjia">
<el-input v-model="param.zonghepingjia" type="textarea" :rows="6" />
</el-form-item>
</el-row>
</el-form>
<el-table :data="fubiaoData" border stripe>
<el-table-column align="center" label="序号" type="index" width="60" />
<el-table-column align="center" prop="jianyanxiang" label="评价单位" width="100" />
<el-table-column align="center" prop="beizhu" label="评价项目及要求">
<template slot-scope="scope">
<el-checkbox v-for="item in scope.row.beizhu" v-show="item.label" :key="item.item" v-model="item.check" :label="item.label">
{{ item.item }}
</el-checkbox>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjJsdw',
name: 'YlgdAzdwReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
fubiaoData: [],
tableData: [],
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false
spanArr: [],
edit: false,
tableData: []
}
},
created() {
@ -49,7 +71,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -57,82 +79,41 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
this.state = 'create'
if (this.state === 'create') {
const pingjia = '建设单位报批手续齐全,接受监督检验,建立了工程管理机构并有效履行管理职责。'
this.$set(this.param, 'zonghepingjia', pingjia)
}
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fubiaoData = JSON.parse(data.param.fubiao) === null ? [] : this.buildFubiaoData(JSON.parse(data.param.fubiao))
this.tableData = JSON.parse(this.param.fubiao)
} else {
this.state = 'create'
//
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.getJyxm(1)
} else {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
getJyxm(sort) {
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: sort
order: 1
}
}).then(data => {
this.fubiaoData = this.buildFubiaoData(data)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
buildFubiaoData(data) {
for (let i = 0; i < data.length; i++) {
const temp = data[i].beizhu.split(';')
data[i].beizhu = data[i].beizhu.replace(/□/g, '').replace(/☑/g, '').split(';')
for (let j = 0; j < temp.length; j++) {
if (temp[j].indexOf('☑') !== -1) {
data[i].beizhu[j] = { item: data[i].beizhu[j], label: i + '_' + j, check: true }
} else if (temp[j].indexOf('□') !== -1) {
data[i].beizhu[j] = { item: data[i].beizhu[j], label: i + '_' + j, check: false }
}
}
}
return data
},
buildTableData() {
//
this.tableData.length = 0
// id,jianyanxiang,beizhu
for (let i = 0; i < this.fubiaoData.length; i++) {
const row = {}
let retJyjg = ''
//
for (let j = 0; j < this.fubiaoData[i].beizhu.length; j++) {
if (this.fubiaoData[i].beizhu[j].check) {
retJyjg += '☑' + this.fubiaoData[i].beizhu[j].item + ';'
} else {
retJyjg += '□' + this.fubiaoData[i].beizhu[j].item + ';'
}
}
row.id = this.fubiaoData[i].id
row.jianyanxiang = this.fubiaoData[i].jianyanxiang
row.beizhu = retJyjg.substr(0, retJyjg.length - 1)
this.tableData.push(row)
}
},
beforeSaveBuildData() {
this.buildTableData()
}
}
}
</script>
<style scoped>
</style>

172
src/views/bggl/8000/jj/fenxiang/nyxlsy.vue

@ -1,172 +0,0 @@
<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" style="height: 100px">
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="备注">
<el-input v-model="param.beizhu" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="margin-top: 10px;">
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</div>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" :index="indexMethod" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="130px" label="设计压力MPa">
<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="130px" 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" width="130px" label="耐压试验">
<el-table-column align="center" prop="C5" width="130px" 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="130px" label="试验压力MPa">
<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="130px" label="保压时间min">
<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="130px" 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-column align="center" width="130px" label="泄漏试验">
<el-table-column align="center" prop="C9" width="130px" label="试验介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="130px" label="试验压力MPa">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="130px" label="保压时间min">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="130px" label="评定结果">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
})
},
indexMethod(index) {
this.tableData[index].index = index
this.tableData[index].C1 = index + 1
return this.tableData[index].C1
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

275
src/views/bggl/8000/jj/fenxiang/qdymxsy.vue

@ -0,0 +1,275 @@
<!--压力管道强度试验严密性试验报告-->
<template>
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<template style="height: auto">
<div v-if="state !== 'finish'">
<el-upload :show-file-list="false" :before-upload="beforeUpload" style="float: left; margin-right: 10px;" action="123">
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addRow()">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
</div>
<el-table ref="qsymxsyList" :data="tableData" border style="width: 100%;" :row-class-name="tableRowClassName" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="C2" label="管线号" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C3" label="规格" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C4" label="设计压力MPa" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C5" label="操作压力MPa" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column label="强度试验" align="center">
<el-table-column prop="C6" label="试验介质" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C7" label="试验压力MPa" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C8" label="保压时间" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C9" label="评定结果" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
<el-table-column label="严密性试验" align="center">
<el-table-column prop="C10" label="试验介质" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C11" label="试验压力MPa" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C12" label="保压时间" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C13" label="评定结果" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C14" label="备注" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C14" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
</el-table>
<el-row style="font-size: 18px;margin-top: 30px;color: #606266;line-height: 40px;font-weight: bolder;width: 75%">
<el-form-item label="备注:" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" :rows="6" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</template>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'YlgdQsymxsyReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
ysjlids: '',
param: {},
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
delRowIndex: [],
tableData: []
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
tableRowClassName({ row, rowIndex }) {
row.C1 = rowIndex + 1
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].C1 - 1)
}
},
onRowClick(row) { //
this.$refs.qsymxsyList.toggleRowSelection(row)
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addRow: function() {
const b = {
C1: this.tableData.length + 1
}
this.tableData.push(b)
setTimeout(() => {
this.$refs.qsymxsyList.setCurrentRow(b)
}, 10) //
},
delRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
this.$confirm('该条数据删除后无法恢复,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.qsymxsyList.clearSelection()
this.delRowIndex = []
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道强度试验、严密性试验报告.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
fd.append('added', 1)
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}
</script>

143
src/views/bggl/8000/jj/fenxiang/qxsc.vue

@ -1,143 +0,0 @@
<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="18">
<el-form-item label="装置名称或管道编号" label-width="140px">
<el-input v-model="param.zhuangzhibianhao" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="记事栏" label-width="140px">
<el-input v-model="param.jishilan" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
<div style="margin-top: 10px;">
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</div>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" />
<el-table-column align="center" prop="C1" type="index" :index="indexMethod" label="序号" width="60" />
<el-table-column align="center" prop="C2" label="项目">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="操作方式">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="施工记录或报告">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="检验结论">
<template slot-scope="{ row }">
<el-input v-model="row.C5" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [{ C2: '通球' }, { C2: '吹扫' }, { C2: '清洗' }],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
})
},
indexMethod(index) {
this.tableData[index].index = index
this.tableData[index].C1 = index + 1
return this.tableData[index].C1
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

153
src/views/bggl/8000/jj/fenxiang/ssaz.vue

@ -1,153 +0,0 @@
<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="18">
<el-form-item label="装置名称或管道编号" label-width="140px">
<el-input v-model="param.zhuangzhibianhao" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监检结论" label-width="140px">
<el-input v-model="ysjl.jianyanjielun" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="记事栏" label-width="140px">
<el-input v-model="param.jishilan" type="textarea" :autosize="{ minRows: 4, maxRows: 4}" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
<div style="margin-top: 10px;">
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
</div>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" />
<el-table-column align="center" type="index" :index="indexMethod" label="序号" width="60" />
<el-table-column align="center" prop="C1" label="附属设施和设备名称">
<template slot-scope="{ row }">
<el-input v-model="row.C1" />
</template>
</el-table-column>
<el-table-column align="center" label="检验项目">
<el-table-column align="center" prop="C2" label="制造单位许可资格">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="随机资料">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="外观质量">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="安装质量">
<template slot-scope="{ row }">
<el-input v-model="row.C5" />
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
})
},
indexMethod(index) {
this.tableData[index].index = index
return (index + 1)
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
beforeSaveBuildData() {
//
}
}
}
</script>

150
src/views/bggl/8000/jj/fenxiang/wtclyj.vue

@ -1,52 +1,45 @@
<!--对遗留质量问题的处理意见-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请先保存再上传图片</span>
<el-upload
v-else
ref="upload"
:on-preview="handlePictureCardPreview"
:file-list="fileList"
:before-upload="beforeUpload"
:before-remove="beforeRemove"
:on-remove="handleRemove"
action=""
:disabled="state === 'finish'"
accept="image/png,image/gif,image/jpg,image/jpeg"
list-type="picture-card"
>
<i class="el-icon-plus" />
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img :src="dialogImageUrl" width="100%" alt="">
</el-dialog>
</fieldset>
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px">
<el-row style="font-size: 18px;margin-top: 30px;color: #606266;line-height: 40px;font-weight: bolder;width: 60%;text-align: center">
对遗留质量问题的处理意见
</el-row>
<el-row style="font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;width: 60%">
<el-form-item label="" prop="chuliyijian">
<el-input v-model="param.chuliyijian" type="textarea" :rows="20" />
</el-form-item>
</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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjSsaz',
name: 'YlgdWtclyjReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false,
fileList: [],
dialogVisible: false,
dialogImageUrl: '',
sort: 1
tableData: []
}
},
created() {
@ -55,7 +48,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -63,100 +56,37 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = (data.param.imagePath === null || data.param.imagePath === '') ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/wtclyj/' + this.fileList[i].name
}
}
this.tableData = JSON.parse(this.param.fubiao)
} else {
this.state = 'create'
//
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm, false, true)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
beforeRemove(file, fileList) {
if (file.status === 'success') {
return this.$confirm('图片删除后将不能恢复,是否确定删除该图片?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(data => {
return null
}).catch(e => {
e()
})
}
},
handleRemove(file, fileList) {
if (fileList.length > 0) {
const imgList = []
for (let i = 0; i < fileList.length; i++) {
const img = {}
this.$set(img, 'name', fileList[i].name)
imgList.push(img)
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
fileList = imgList
} else {
fileList = ''
}
const imgPath = fileList === '' ? '' : JSON.stringify(fileList)
if (file.status === 'success') {
this.preview({
url: '/upload/delImg',
method: 'post',
data: {
ysjlId: this.ysjl.id,
delFileName: file.name,
imgPath: imgPath,
sort: this.sort
}
})
}
this.param.imagePath = fileList
},
beforeUpload(file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
if (!isJPG) {
this.$message.error('只能上传jpg/png格式的图片')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('ysjlId', this.ysjl.id)
fd.append('sort', this.sort)
this.preview({
url: '/upload/uploadImg',
method: 'post',
data: fd
}).then(data => {
this.fileList = JSON.parse(data)
this.param.imagePath = data
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/wtclyj/' + this.fileList[i].name
}
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
beforeSaveBuildData() {
//
}
}
}
</script>
<style scoped>
</style>

293
src/views/bggl/8000/jj/fenxiang/zlsc.vue

@ -1,98 +1,113 @@
<!--压力管道焊接装配和防腐质量审查报告-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;height: 100%">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
<el-form ref="ysjl" :model="ysjl" />
<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=""
>
<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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-table ref="tableData" :data="tableData" border stripe style="margin-top: 10px" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column align="center" prop="C1" label="序号" type="index" :index="indexMethod" width="60" />
<el-table-column align="center" prop="C2" label="管线号">
<template slot-scope="{ row }">
<el-input v-model="row.C2" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="装配质量">
<template slot-scope="{ row }">
<el-input v-model="row.C3" />
</template>
</el-table-column>
<el-table-column align="center" label="焊接质量">
<el-table-column align="center" prop="C4" label="外观几何尺寸">
<template slot-scope="{ row }">
<el-input v-model="row.C4" />
<el-form ref="ysjl" :model="ysjl" class="el-form" label-width="100px" style="height: max-content">
<div v-if="state !== 'finish'">
<el-upload :show-file-list="false" :before-upload="beforeUpload" style="float: left; margin-right: 10px;" action="123">
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addRow()">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
</div>
<el-table ref="zlscList" :data="tableData" border style="width: 100%;" :row-class-name="tableRowClassName" @row-click="onRowClick" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" />
<el-table-column prop="C1" type="index" label="序号" width="50" align="center" :resizable="false" />
<el-table-column prop="C2" label="管线号或规格" width="150" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="焊接记录">
<template slot-scope="{ row }">
<el-input v-model="row.C5" />
<el-table-column prop="C3" label="装配质量" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C6" label="无损检测">
<template slot-scope="{ row }">
<el-input v-model="row.C6" />
</template>
</el-table-column>
<el-table-column align="center" prop="C7" label="焊缝返修">
<template slot-scope="{ row }">
<el-input v-model="row.C7" />
</template>
<el-table-column label="焊接质量" align="center">
<el-table-column prop="C4" label="外观几何尺寸" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C5" label="焊接记录" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C6" label="无损检测" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C7" label="焊缝返修" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="防腐质量">
<el-table-column align="center" prop="C8" label="防腐补口质量">
<template slot-scope="{ row }">
<el-input v-model="row.C8" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" label="记录或报告">
<template slot-scope="{ row }">
<el-input v-model="row.C9" />
</template>
<el-table-column label="防腐质量" align="center">
<el-table-column prop="C8" label="防腐补口" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C9" label="厚度(mm)" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C10" label="质量" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" />
</template>
</el-table-column>
<el-table-column prop="C11" label="其他" align="center" :resizable="false">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="C10" label="其他">
<template slot-scope="{ row }">
<el-input v-model="row.C10" />
</template>
</el-table-column>
</el-table>
</el-table><br><br>
<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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdJjZlsc',
name: 'YlgdZlscReport',
components: { Sticky, btn },
data() {
return {
ysjl: {},
ysjlids: '',
param: {},
tableData: [],
ysjlId: this.$route.query.id,
multipleSelection: [],
selected: {},
defaultParam: {},
state: '',
edit: false
edit: false,
delRowIndex: [],
tableData: []
}
},
created() {
@ -101,7 +116,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -109,44 +124,130 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (data.param) {
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.state = 'create'
//
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, false, true)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
tableRowClassName({ row, rowIndex }) {
row.C1 = rowIndex + 1
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].C1 - 1)
}
},
onRowClick(row) { //
this.$refs.zlscList.toggleRowSelection(row)
},
getJyxm() {
//
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
addRow: function() {
const b = {
C1: this.tableData.length + 1
}
this.tableData.push(b)
setTimeout(() => {
this.$refs.zlscList.setCurrentRow(b)
}, 10) //
},
indexMethod(index) {
this.tableData[index].index = index
this.tableData[index].C1 = index + 1
return this.tableData[index].C1
delRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
this.$confirm('该条数据删除后无法恢复,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.zlscList.clearSelection()
this.delRowIndex = []
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
},
/**
* 表格单击选中行
* @param row
*/
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道焊接、装配和防腐质量审查报告.xlsx'
}
}).then(data => {
window.open(data)
})
},
beforeSaveBuildData() {
//
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
fd.append('added', 1)
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}
</script>
<style scoped>
</style>

199
src/views/bggl/8000/jj/mxb.vue

@ -1,199 +0,0 @@
<!--工业管道定期检验明细表-->
<template>
<div>
<el-form style="height: 100px;" label-position="right" label-width="130px">
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="备注" prop="mxbBeizhu">
<el-input v-model="param.beizhu" type="textarea" :autosize="{ minRows: 2, maxRows: 2}" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<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=""
>
<el-button type="primary" size="mini" icon="el-icon-upload" :disabled="edit">
导入数据
</el-button>
</el-upload>
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" :disabled="edit" @click="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-table id="myTable" ref="tableData" v-adaptive="{bottomOffset: 50}" height="0" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="130px" 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="130px" 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="130px" label="公称壁厚mm">
<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="130px" label="管道长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="130px" label="管内介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="130px" label="设计压力MPa">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="130px" label="设计温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="130px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="焊口数量">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C14" width="130px" label="安全等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C14" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C15" width="130px" label="下次检验时间">
<template slot-scope="scope">
<el-input v-model="scope.row.C15" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'GdZbgMxb',
data() {
return {
ysjl: {},
param: {},
tableData: [],
edit: false
}
},
methods: {
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
return false
},
/**
* 获取明细表数据
* @param ysjlId 主原始记录Id
*/
getMxbInfo(ysjlId) {
this.api({
url: '/fx/getFxByParentId',
method: 'get',
params: {
parentId: ysjlId,
jyxm: 'mxb'
}
}).then(data => {
this.ysjl = data.ysjl
this.ysjl.flowstatus = 4
if (data.param) {
this.param = data.param
//
this.tableData = this.param.fubiao ? JSON.parse(this.param.fubiao) : []
} else {
this.param.ysjlId = this.ysjl.id
}
})
},
/**
* 创建明细表
* @param ysjlId 主原始记录Id
*/
createMxb(ysjlId, templateId) {
this.api({
url: '/ysjl/addJyfa',
method: 'get',
params: {
bglx: '3',
ysjlId: ysjlId,
type: '工业管道明细表报告',
jianyanxiangmu: 'mxb',
userId: this.$store.getters.userId,
templateId: templateId,
defaultStatus: true
}
}).then(() => {
this.getMxbInfo(ysjlId)
})
},
/**
* 保存明细表
*/
saveMxb() {
this.param.fubiao = this.tableData
this.api({
url: '/fx',
method: 'put',
data: {
ysjl: this.ysjl,
jyxm: 'mxb',
fxObj: this.param
}
})
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

1011
src/views/ysjl/8000/dj/edit.vue

File diff suppressed because it is too large

15
src/views/ysjl/8000/dj/fenxiang/ajlsy.vue

@ -1,6 +1,6 @@
<!--氨检漏试验记录-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -86,10 +86,17 @@
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="试验结果" prop="jiaohejieguo">
<el-input v-model="param.jiaohejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
@ -141,7 +148,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -161,6 +168,8 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/ajlsy/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

207
src/views/ysjl/8000/dj/fenxiang/aqfj.vue

@ -1,12 +1,12 @@
<!-- 安全附件分项页面 -->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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>
<legend>压力表检查</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="记录编号" prop="jilubianhao">
@ -14,80 +14,6 @@
</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="管道编号" prop="guandaobianhao">
<el-input v-model="param.guandaobianhao" :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">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="最高工作压力" prop="gongzuoyali">
<el-input v-model="param.gongzuoyali" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计温度" prop="shejiwendu">
<el-input v-model="param.shejiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="gongzuowendu">
<el-input v-model="param.gongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="gongzuojiezhi">
<el-input v-model="param.gongzuojiezhi" :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="ylbshejiguidingshu">
@ -96,7 +22,11 @@
</el-col>
<el-col :span="9">
<el-form-item label="实际安装数" prop="ylbshijianzhuangshu">
<el-input v-model="param.ylbshijianzhuangshu" :disabled="edit" />
<el-input v-model="param.ylbshijianzhuangshu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
@ -202,15 +132,6 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfgongchengyali">
<el-input v-model="param.aqfgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfgongchengtongjing">
<el-input v-model="param.aqfgongchengtongjing" :disabled="edit">
@ -237,15 +158,6 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfsjgongchengyali">
<el-input v-model="param.aqfsjgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfsjgongchengtongjing">
<el-input v-model="param.aqfsjgongchengtongjing" :disabled="edit">
@ -255,42 +167,15 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="开启压力" prop="aqfkaiqiyali">
<el-input v-model="param.aqfkaiqiyali" :disabled="edit">
<el-form-item label="整定压力" prop="aqfzhengdingyali">
<el-input v-model="param.aqfzhengdingyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="aqfgongzuowendu">
<el-input v-model="param.aqfgongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="aqfgongzuojiezhi">
<el-input v-model="param.aqfgongzuojiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="外观质量" prop="aqfwaiguanzhiliang">
<el-input v-model="param.aqfwaiguanzhiliang" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
@ -311,15 +196,8 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="aqfhegezhengbianhao">
<el-input v-model="param.aqfhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="aqfzhizaoxukezheng">
<el-input v-model="param.aqfzhizaoxukezheng" :disabled="edit" />
<el-form-item label="校验记录编号" prop="aqfjiaoyanbaogaobianhao">
<el-input v-model="param.aqfjiaoyanbaogaobianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -345,7 +223,7 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="爆破力" prop="bppbaopoyingli">
<el-form-item label="爆破力" prop="bppbaopoyingli">
<el-input v-model="param.bppbaopoyingli" :disabled="edit">
<template slot="append">
MPa
@ -365,8 +243,8 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料" prop="bppsjcailiao">
<el-input v-model="param.bppsjcailiao" :disabled="edit" />
<el-form-item label="使用期限" prop="bppshiyongqixian">
<el-input v-model="param.bppshiyongqixian" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -392,10 +270,10 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称直径" prop="bppsjgongchengzhijing">
<el-input v-model="param.bppsjgongchengzhijing" :disabled="edit">
<el-form-item label="爆破压力" prop="bppsjbaopoyingli">
<el-input v-model="param.bppsjbaopoyingli" :disabled="edit">
<template slot="append">
mm
MPa
</template>
</el-input>
</el-form-item>
@ -403,13 +281,17 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="外观质量" prop="bppwaiguanzhiliang">
<el-input v-model="param.bppwaiguanzhiliang" :disabled="edit" />
<el-form-item label="公称直径" prop="bppsjgongchengzhijing">
<el-input v-model="param.bppsjgongchengzhijing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="bppyouxiaoqi">
<el-input v-model="param.bppyouxiaoqi" :disabled="edit" />
<el-form-item label="使用期限" prop="bppsjshiyongqixian">
<el-input v-model="param.bppsjshiyongqixian" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -420,15 +302,15 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="bpphegezhengbianhao">
<el-input v-model="param.bpphegezhengbianhao" :disabled="edit" />
<el-form-item label="有效期" prop="bppyouxiaoqi">
<el-input v-model="param.bppyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="bppzhizaoxukezheng">
<el-input v-model="param.bppzhizaoxukezheng" :disabled="edit" />
<el-form-item label="合格证" prop="bpphegezhengbianhao">
<el-input v-model="param.bpphegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -442,15 +324,15 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="制造许可证号" prop="jjqdzzxukezhenghao">
<el-input v-model="param.jjqdzzxukezhenghao" :disabled="edit" />
<el-form-item label="合格证" prop="jjqdzzhegezhengbianhao">
<el-input v-model="param.jjqdzzhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="合格证编号" prop="jjqdzzhegezhengbianhao">
<el-input v-model="param.jjqdzzhegezhengbianhao" :disabled="edit" />
<el-form-item label="有效期" prop="jjqdzzyouxiaoqi">
<el-input v-model="param.jjqdzzyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
@ -470,8 +352,8 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="jjqdzzyouxiaoqi">
<el-input v-model="param.jjqdzzyouxiaoqi" :disabled="edit" />
<el-form-item label="铅封" prop="jjqdzzqianfeng">
<el-input v-model="param.jjqdzzqianfeng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -487,17 +369,20 @@
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="铅封" prop="jjqdzzqianfeng">
<el-input v-model="param.jjqdzzqianfeng" :disabled="edit" />
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset style="display: none;">
<legend>检验信息</legend>
<el-form-item label="" prop="jianyanrenyuan">
<el-form-item label="检验结果" prop="kuaikaimenjianyanjieguo">
<el-input v-model="param.kuaikaimenjianyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
@ -563,7 +448,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -576,6 +461,8 @@ export default {
//
this.state = 'update'
this.param = data.param
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

254
src/views/ysjl/8000/dj/fenxiang/bhcd.vue

@ -1,6 +1,6 @@
<!--壁厚测定-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -21,7 +21,7 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-form-item label="管道规格(外径×壁厚)" label-width="150px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<template slot="append">
(mm)
@ -37,19 +37,7 @@
</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-form-item label="表面状况" prop="biaomianzhuangkuang">
<el-input v-model="param.biaomianzhuangkuang" :disabled="edit" />
</el-form-item>
</el-col>
@ -72,16 +60,40 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="弯头测量比例" prop="guanjianceliangbili">
<el-form-item label="测量仪器编号" prop="celiangyiqibianhao">
<el-input v-model="param.celiangyiqibianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="耦合剂" prop="ouheji">
<el-input v-model="param.ouheji" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="弯头(弯管)测量比例" label-width="150px" prop="guanjianceliangbili">
<el-input v-model="param.guanjianceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子测量比例" prop="guanziceliangbili">
<el-form-item label="三通测量比例" prop="guanziceliangbili">
<el-input v-model="param.guanziceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="异径管测量比例" prop="yijingguanceliangbili">
<el-input v-model="param.yijingguanceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="其他测量比例" prop="qitaceliangbili">
<el-input v-model="param.qitaceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="实测点数" prop="shicedianshu">
@ -101,82 +113,126 @@
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-row :gutter="10">
<el-col :span="2" style="width: 150px;">
<el-button type="success" icon="el-icon-download" title="下载测厚导入模板" size="mini" @click="downloadTemplate">
下载测厚导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeBhcdUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</el-button>
</el-col>
</el-row>
<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 type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" label="测点编号">
<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" label="厚度(mm)">
<el-table-column align="center" prop="C2" width="80px" 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" label="测点编号">
<el-table-column align="center" prop="C3" width="80px" 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" label="厚度(mm)">
<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" label="测点编号">
<el-table-column align="center" prop="C5" width="80px" 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="115px" label="厚度(mm)">
<el-table-column align="center" prop="C6" width="80px" label="测点厚度">
<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="115px" label="测点编号">
<el-table-column align="center" prop="C7" width="80px" 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="115px" label="厚度(mm)">
<el-table-column align="center" prop="C8" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="80px" label="测点编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="80px" label="测点编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
<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 v-show="!edit" :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检测结果" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
</fieldset>
</el-form>
@ -186,9 +242,10 @@
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
import SignName from '@/views/common/SignName'
export default {
name: 'GdZbgBhcd',
components: { Sticky, btn, pictureUpload },
components: { Sticky, btn, pictureUpload, SignName },
data() {
return {
ysjl: {},
@ -200,13 +257,15 @@ export default {
jiancejieguo: '符合设计规定/ 需强度校核'
},
tableData: [],
delRowIndex: [],
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
},
jianyanrenyuan: ''
}
},
watch: {
@ -218,9 +277,17 @@ export default {
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)
}
},
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -228,6 +295,9 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
@ -240,6 +310,8 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -249,6 +321,39 @@ export default {
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const count = this.tableData.length
const d = { C1: 6 * count + 1, C2: '', C3: 6 * count + 2, C4: '', C5: 6 * count + 3, C6: '', C7: 6 * count + 4, C8: '', C9: 6 * count + 5, C10: '', C11: 6 * count + 6, C12: '' }
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
@ -256,11 +361,48 @@ export default {
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
changed(item) {
this.param.imagePath = item
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道壁厚测定记录表上传模板.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeBhcdUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadScheduleBhcd',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}

28
src/views/ysjl/8000/dj/fenxiang/dxt.vue

@ -1,13 +1,23 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测位置图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<legend>单线图</legend>
<span style="color: red;font-size: 26px;">请在原始记录保存后上传试验单线图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
@ -31,9 +41,7 @@ export default {
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
jyxm: this.$route.query.jyxm
}
}
},
@ -48,7 +56,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -64,9 +72,11 @@ export default {
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/wzt/' + this.fileList[i].name
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/dxt/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

66
src/views/bggl/8000/dj/dq/fenxiang/dxt.vue → src/views/ysjl/8000/dj/fenxiang/fjjy.vue

@ -1,40 +1,64 @@
<!--附加检验-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始报告保存后上传检测位置图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
<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-form-item label="检验信息" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="6" style="width: 800px;" />
</el-form-item>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgDxt',
name: 'GdZbgFjjy',
components: { Sticky, btn, pictureUpload },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
fileList: [],
state: '',
edit: false,
fileList: [],
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
jyxm: this.$route.query.jyxm
},
upLoadData: {
ysjlId: ''
},
dialogVisible: false,
dialogImageUrl: ''
}
},
watch: {
@ -48,7 +72,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -58,15 +82,17 @@ export default {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/wzt/' + this.fileList[i].name
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/fjjy/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -76,12 +102,6 @@ export default {
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
changed(item) {
this.param.imagePath = item
}

166
src/views/ysjl/8000/dj/fenxiang/gzaqqrb.vue

@ -1,166 +0,0 @@
<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="使用单位代表">
<el-input v-model="param.shiyongdanweidaibiao" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="日期">
<el-date-picker v-model="param.daibiaoriqi" value-format="yyyy年MM月dd日" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>工作安全确认表</legend>
<el-table :data="tableData" border stripe style="width: 100%;">
<el-table-column align="center" prop="C1" width="100" label="项次" />
<el-table-column align="center" prop="C2" width="500" label="内容">
<template slot-scope="scope">
<span v-if="scope.row.C1 !== '其他'">{{ scope.row.C2 }}</span>
<el-input v-else v-model="scope.row.C2" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" width="400" label="检查结果">
<template slot-scope="scope">
<el-checkbox-group v-model="scope.row.C3" @change="change">
<el-checkbox v-for="item in scope.row.C3" v-show="item.label" :key="item.key" :label="item.label" />
</el-checkbox-group>
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgGzaqqrb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
tableData: [],
edit: false,
state: '',
param: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.formatterJG()
} else {
this.getDicJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
/**
* 从字典中获取检验项目
*/
getDicJyxm() {
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
}
}).then(data => {
data.forEach((v) => {
this.tableData.push({
C1: v.jianyanxiang,
C2: v.jianyanneirong,
C3: v.jianyanjieguo
})
})
this.formatterJG()
})
},
/**
* 将检验结果字符串转换成适应单选框的所需数据
* 最后一个变量为选中的label
* [{label:'a', key: '0_0'},{label:'b', key: '0_1'},{label:'c', key: '0_2'},'d']
*/
formatterJG() {
for (let i = 0; i < this.tableData.length; i++) {
const temp = this.tableData[i].C3.split(';')
const C3Array = this.tableData[i].C3.replace(/□/g, '').replace(/☑/g, '').split(';')
let C3Check = ''
for (let j = 0; j < temp.length; j++) {
if (temp[j].indexOf('☑') !== -1) {
C3Check = C3Array[j]
}
C3Array[j] = {
label: C3Array[j],
key: i + '_' + j
}
}
C3Array.push(C3Check)
this.tableData[i].C3 = C3Array
}
},
/**
* 因为最后一个变量为被选中的变量那么将删除最后一个变量的前一个变量
* 需要保证被删除的变量必须是上次选中的数据因为每个选项都存在label所以判断label是否存在
*/
change(row) {
if (!row[row.length - 2].label) {
row.splice(row.length - 2, 1)
}
},
beforeSaveBuildData() {
for (let i = 0; i < this.param.fubiao.length; i++) {
let tempC3 = ''
for (let j = 0; j < this.param.fubiao[i].C3.length - 1; j++) {
if (this.param.fubiao[i].C3[j].label === this.param.fubiao[i].C3[this.param.fubiao[i].C3.length - 1]) {
tempC3 += this.param.fubiao[i].C3[j].label + '☑'
} else {
tempC3 += this.param.fubiao[i].C3[j].label + '□'
}
if (j !== this.param.fubiao[i].C3.length - 2) {
tempC3 += ';'
}
}
this.param.fubiao[i].C3 = tempC3
}
}
}
}
</script>

15
src/views/ysjl/8000/dj/fenxiang/hlsjl.vue

@ -1,6 +1,6 @@
<!--卤素检漏试验记录-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -85,10 +85,17 @@
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
@ -138,7 +145,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -158,6 +165,8 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/hlsjl/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

473
src/views/ysjl/8000/dj/fenxiang/hxcf.vue

@ -1,6 +1,6 @@
<!--化学成分分析-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -16,12 +16,7 @@
</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="管道规格(外径mm×壁厚mm)" label-width="200px" prop="guandaoguige">
<el-form-item label="管道规格(外径×壁厚)" label-width="150px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<template slot="append">
(mm)
@ -29,13 +24,6 @@
</el-input>
</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="管道材质" prop="guandaocaizhi">
<el-input v-model="param.guandaocaizhi" :disabled="edit" />
@ -44,81 +32,162 @@
</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 label="取样方法" prop="quyangfangfa">
<el-input v-model="param.quyangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="取样方法" prop="quyangfangfa">
<el-input v-model="param.quyangfangfa" :disabled="edit" />
<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="jiancebuwei">
<el-input v-model="param.jiancebuwei" :disabled="edit" />
<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="shijianbianhao">
<el-input v-model="param.shijianbianhao" :disabled="edit" />
<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="18">
<el-form-item label="执行标准" prop="fangfabiaozhun">
<el-col :span="9">
<el-form-item label="分析方法" prop="fenxifangfa">
<el-input v-model="param.fenxifangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="分析执行标准" prop="fangfabiaozhun">
<el-input v-model="param.fangfabiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>取样位置图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>化验结果记录</legend>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;">
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<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-col>
</el-row>
<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 type="index" width="50" label="序号" />
<el-table-column prop="C1" align="center" label="A">
<el-table-column width="60" prop="C1" label="序号" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
<el-input v-model="scope.row.C1" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C2" label="B">
<el-table-column align="center" prop="C2" width="80px" label="取样位置">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
<el-input v-model="scope.row.C2" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="C">
<el-table-column align="center" prop="C3" width="80px" label="标称材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="D">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="E">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
<el-table-column label="元素及含量(%)" align="center">
<el-table-column :render-header="renderHeader1" align="right" prop="C4" width="80px">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader2" align="center" prop="C5" width="85px">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader3" align="center" prop="C6" width="80px">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader4" align="center" prop="C7" width="85px">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader5" align="center" prop="C8" width="80px">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader6" align="center" prop="C9" width="85px">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader7" align="center" prop="C10" width="80px">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column :render-header="renderHeader8" align="center" prop="C11" width="85px">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="C6" label="F">
<el-table-column align="center" prop="C12" width="80px" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="fenxijieguo">
<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 v-show="!edit" :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="分析结果" prop="fenxijieguo">
<el-input v-model="param.fenxijieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
@ -126,29 +195,239 @@
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
import SignName from '@/views/common/SignName'
export default {
name: 'GdZbgHxcf',
components: { Sticky, btn },
components: { Sticky, btn, pictureUpload, SignName },
data() {
return {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
},
fileList: [],
jianyanrenyuan: ''
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
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)
}
},
renderHeader1(h, { column, $index }) {
return h('span', [
h('input',
{
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtone = event.target.value
}
},
domProps: {
type: 'text',
value: this.param.yshlbtone
}
}
)
])
},
renderHeader2(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbttwo
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbttwo = event.target.value
}
}
}
)
])
},
renderHeader3(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbtthree
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtthree = event.target.value
}
}
}
)
])
},
renderHeader4(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbtfour
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtfour = event.target.value
}
}
}
)
])
},
renderHeader5(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbtfive
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtfive = event.target.value
}
}
}
)
])
},
renderHeader6(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbtsix
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtsix = event.target.value
}
}
}
)
])
},
renderHeader7(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbtseven
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbtseven = event.target.value
}
}
}
)
])
},
renderHeader8(h, { column, $index }) {
return h('span', [
h('input',
{
domProps: {
type: 'text',
value: this.param.yshlbteight
},
style: {
padding: '0',
lineHeight: '1',
marginTop: '5px',
width: '100%',
textAlign: 'center'
},
on: {
input: (event) => {
this.param.yshlbteight = event.target.value
}
}
}
)
])
},
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -156,31 +435,115 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan !== undefined && this.ysjl.jianyanrenyuan.length > 0) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
}
if (this.tableData.length === 0) {
this.tableData = [{ C1: 'C', C2: '', C3: 'Mo', C4: '', C5: 'Ti', C6: '' }, { C1: 'Si', C2: '', C3: 'V', C4: '', C5: 'Nb', C6: '' },
{ C1: 'Mn', C2: '', C3: 'Al', C4: '', C5: 'Cu', C6: '' }, { C1: 'S', C2: '', C3: 'Cr', C4: '', C5: '', C6: '' },
{ C1: 'P', C2: '', C3: 'Ni', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }]
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/hxcf/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道化学成分分析记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
},
addRow: function() {
const d = {
C1: this.tableData.length + 1
}
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
}
},
changed(item) {
this.param.imagePath = item
}
}
}

136
src/views/ysjl/8000/dj/fenxiang/jxfx.vue

@ -1,6 +1,6 @@
<!--金相分析-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -16,97 +16,86 @@
</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 label="分析仪器型号" prop="fenxiyiqixinghao">
<el-input v-model="param.fenxiyiqixinghao" :disabled="edit" />
</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 label="分析仪器编号" prop="fenxiyiqibianhao">
<el-input v-model="param.fenxiyiqibianhao" :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 label="腐蚀方法" prop="fushifangfa">
<el-input v-model="param.fushifangfa" :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 label="抛光方法" prop="paoguangfangfa">
<el-input v-model="param.paoguangfangfa" :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 label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="热处理状态" prop="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
<el-form-item label="金相组织" prop="jinxiangzuzhi">
<el-input v-model="param.jinxiangzuzhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="取样部位" prop="quyangbuwei">
<el-input v-model="param.quyangbuwei" :disabled="edit" />
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试样编号" prop="shiyangbianhao">
<el-input v-model="param.shiyangbianhao" :disabled="edit" />
<el-form-item label="热处理状态" prop="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>取样分析部位示意图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload ref="picture1" :info="info" @changed="changed1" />
</fieldset>
<fieldset>
<legend>金相照片</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload ref="picture2" :info="info" @changed="changed2" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="fenxiyiqixinghao">
<el-input v-model="param.fenxiyiqixinghao" :disabled="edit" />
<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">
<el-form-item label="放大倍数" prop="fangdabeishu">
<el-input v-model="param.fangdabeishu" :disabled="edit" />
</el-form-item>
<sign-name v-show="!edit" :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="腐蚀方法" prop="fushifangfa">
<el-input v-model="param.fushifangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="抛光方法" prop="paoguangfangfa">
<el-input v-model="param.paoguangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>金相照片或分析部位</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="分析结果" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
@ -115,36 +104,46 @@
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
import SignName from '@/views/common/SignName'
export default {
name: 'GdZbgJxfx',
components: { Sticky, btn, pictureUpload },
components: { Sticky, btn, pictureUpload, SignName },
data() {
return {
ysjl: {},
param: {},
fileList: [],
fileList1: [],
fileList2: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
jyxm: this.$route.query.jyxm
},
jianyanrenyuan: ''
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
this.$refs.picture1.stateChange(val)
this.$refs.picture2.stateChange(val)
}
},
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)
}
},
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -152,28 +151,43 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan !== undefined && this.ysjl.jianyanrenyuan.length > 0) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/jxfx/' + this.fileList[i].name
this.fileList1 = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
this.fileList2 = JSON.parse(data.param.jinxiangzhaopian) === null ? JSON.parse('[]') : JSON.parse(data.param.jinxiangzhaopian)
if (this.fileList1.length > 0) {
for (let i = 0; i < this.fileList1.length; i++) {
this.fileList1[i].url = process.env.VUE_APP_IMG_URL + '8000/jxfx/' + this.fileList1[i].name
}
}
if (this.fileList2.length > 0) {
for (let i = 0; i < this.fileList2.length; i++) {
this.fileList2[i].url = process.env.VUE_APP_IMG_URL + '8000/jxfx/' + this.fileList2[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
this.$refs.picture1.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList1, 1)
this.$refs.picture2.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList2, 2)
})
},
changed(item) {
changed1(item) {
this.param.imagePath = item
},
changed2(item) {
this.param.jinxiangzhaopian = item
}
}
}

158
src/views/ysjl/8000/dj/fenxiang/mxb.vue

@ -1,158 +0,0 @@
<!--性能参数一览表-->
<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-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="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="115px" label="规格/(外径mm×壁厚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="80px" label="管道级别">
<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="90px" label="设计/工作压力MPa">
<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="90px" label="设计/工作温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="工作介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="115px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="70px" label="长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgMxb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

240
src/views/ysjl/8000/dj/fenxiang/nyjh.vue

@ -1,6 +1,6 @@
<!--壁厚测定-->
<!--耐压校核-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -16,15 +16,34 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管道名称" prop="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" :disabled="edit" />
<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="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<el-form-item label="校核部位" prop="bihoujiaohebuwei">
<el-input v-model="param.bihoujiaohebuwei" :disabled="edit" />
<!--<el-select v-model="param.bihoujiaohebuwei" :disabled="edit" style="width:230px" @change="jhbwChange">
<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="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit">
<template slot="append">
(mm)
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="允许/监控使用压力" prop="yunxushiyongyali">
<el-input v-model="param.yunxushiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
@ -32,61 +51,163 @@
</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 label="允许/监控使用温度" prop="yunxushiyongwendu">
<el-input v-model="param.yunxushiyongwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料许用应力" prop="cailiaoxuyongyingli">
<el-input v-model="param.cailiaoxuyongyingli" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="焊接接头系数" prop="hanjiejietouxishu">
<el-input v-model="param.hanjiejietouxishu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="温差应力影响系数Y" label-width="150px" prop="wenchayinglixishu">
<el-input v-model="param.wenchayinglixishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="腐蚀裕量C" prop="fushiyuliang">
<el-input v-model="param.fushiyuliang" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</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 label="管子实测外径" prop="shicewaijing">
<el-input v-model="param.shicewaijing" :disabled="edit">
<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="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
<el-form-item label="弯头弯曲半径" prop="wantouwanqubanjing">
<el-input v-model="param.wantouwanqubanjing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="焊制三通强度削弱系数" label-width="160px" prop="qiangduxueruoxishu">
<el-input v-model="param.qiangduxueruoxishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="校核标准" prop="jiaohexuanyongbiaozhun">
<el-input v-model="param.jiaohexuanyongbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px;">
<el-col :span="18">
<el-form-item label="校核参数取值说明" prop="quzhishuoming">
<el-input v-model="param.quzhishuoming" :disabled="edit" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<legend>
壁厚校核计算
</legend>
<div v-show="ttShow">
<span>直管壁厚计算:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shicewaijing" style="width: 70px" disabled /> / 2 * [<el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> + <el-input v-model="param.yunxushiyongyali" style="width: 70px" disabled /> * <el-input v-model="param.wenchayinglixishu" style="width: 70px" disabled @change="jisuan" />]</pre>
<pre> = <el-input v-model="param.jiaohejisuan" disabled style="width: 150px" /> mm</pre>
</div>
<div v-show="qxftShow">
<span>球形封头:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shiceneijing" style="width: 70px" disabled /> / [ 4 * <el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> - <el-input v-model="param.yunxushiyongyali" style="width: 100px" disabled /> ] </pre>
<pre> = <el-input v-model="param.jiaohejisuan" style="width: 150px" disabled /> mm</pre>
</div>
<div v-show="tyqxShow">
<span>椭圆形形封头:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.fengtouxingzhuangxishu" style="width: 70px;" disabled /> * <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shiceneijing" style="width: 70px" disabled /> / [ 2 * <el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> - 0.5 * <el-input v-model="param.yunxushiyongyali" style="width: 70px" disabled /> ] + <el-input v-model="param.jiaoheczhi" :disabled="edit" style="width: 100px" @change="jisuan" /></pre>
<pre> = <el-input v-model="param.jiaohejisuan" disabled style="width: 150px" /> mm</pre>
</div>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="校核结果" prop="jiaohejieguo">
<el-input v-model="param.jiaohejieguo" :disabled="edit" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgBhcd',
components: { Sticky, btn, pictureUpload },
name: 'GdZbgNyjh',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
guanjianceliangbili: ' % 个',
guanziceliangbili: ' % 个',
yijingguanceliangbili: ' % 个',
qitaceliangbili: ' % 段',
jiancejieguo: '符合设计规定/ 需强度校核'
bihoujiaohebuwei: '直管壁厚计算',
jiaohegongshi: 'PD0 / 2([σ]tEj+ PY)',
jiaoheguocheng: '',
jiaohejieguo: '按 ---标准校核通过 。'
},
fileList: [],
state: '',
state: 'create',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
ttShow: true,
qxftShow: false,
tyqxShow: false
}
},
computed: {
jiaoheczhi: function() {
this.jisuan()
return this.param.jiaohejisuan
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
jiaoheczhi: function(val) {
}
},
created() {
@ -95,7 +216,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -108,30 +229,53 @@ export default {
//
this.state = 'update'
this.param = data.param
this.fileList = data.param.imagePath ? JSON.parse(data.param.imagePath) : []
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
jhbwChange(val) {
if (val === '直管壁厚计算') {
this.ttShow = true
this.qxftShow = false
this.tyqxShow = false
this.param.jiaohegongshi = 'PD0 / 2([σ]tEj+ PY)'
} else if (val === '椭圆形封头') {
this.ttShow = false
this.qxftShow = false
this.tyqxShow = true
this.param.jiaohegongshi = 'Ρ * Di /[4 * (σ)t * φ - P ]'
} else if (val === '球形封头') {
this.ttShow = false
this.qxftShow = true
this.tyqxShow = false
this.param.jiaohegongshi = 'K * Ρ * Di /[2 * (σ)t * φ- 0.5 * P ] + C'
}
this.jisuan()
},
jisuan() {
let result = 0
if (this.param.bihoujiaohebuwei === '直管壁厚计算') {
result = this.param.yunxushiyongyali * this.param.shicewaijing / (2 * (this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu + this.param.yunxushiyongyali * this.param.wenchayinglixishu))
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shicewaijing + ' / 2 * [ ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' + ' + this.param.yunxushiyongyali + ' * ' + this.param.wenchayinglixishu + ']'
} else if (this.param.bihoujiaohebuwei === '椭圆形封头') {
result = this.param.fengtouxingzhuangxishu * this.param.yunxushiyongyali * this.param.shiceneijing / (2 * this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu - (0.5 * this.param.yunxushiyongyali)) * 1000 + parseInt(this.param.jiaoheczhi * 1000)
this.param.jiaoheguocheng = this.param.fengtouxingzhuangxishu + ' * ' + this.param.yunxushiyongyali + ' * ' + this.param.shiceneijing + ' / [ 2 * ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' - 0.5 ' + ' * ' + this.param.yunxushiyongyali + ' ] + ' + this.param.jiaoheczhi
} else if (this.param.bihoujiaohebuwei === '球形封头') {
result = this.param.yunxushiyongyali * this.param.shiceneijing / (4 * this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu - this.param.yunxushiyongyali) * 1000
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shiceneijing + ' / [ 4 * ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' - ' + this.param.yunxushiyongyali + ' ] '
} else {
// 使
result = this.param.yunxushiyongyali * this.param.shicewaijing / (2 * (this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu + this.param.yunxushiyongyali * this.param.wenchayinglixishu))
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shicewaijing + ' / 2 * [ ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' + ' + this.param.yunxushiyongyali + ' * ' + this.param.wenchayinglixishu + ']'
}
this.param.jiaohejisuan = isNaN(result) ? null : result.toFixed(2)
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

131
src/views/ysjl/8000/dj/fenxiang/nysy.vue

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -15,40 +15,16 @@
</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="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit">
<template slot="append">
(mm)
MPa
</template>
</el-input>
</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="shiyongyali">
<el-form-item label="允许/监控使用压力" prop="shiyongyali">
<el-input v-model="param.shiyongyali" :disabled="edit">
<template slot="append">
MPa
@ -58,11 +34,6 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
@ -72,62 +43,39 @@
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<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 label="管道材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ysjl.jianyanxiangmu === 'nysy'" :gutter="20">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="机泵出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="机泵出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ysjl.jianyanxiangmu === 'xlsy'" :gutter="20">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压气设备出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
<el-form-item label="试压部位" prop="shiyabuwei">
<el-input v-model="param.shiyabuwei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压气设备出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<el-form-item label="环境温度" prop="huanjingwendu">
<el-input v-model="param.huanjingwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
@ -135,8 +83,8 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管线压力表规格" prop="guanxianyalibiaoguige">
<el-input v-model="param.guanxianyalibiaoguige" :disabled="edit">
<el-form-item label="压力表量程" prop="yalibiaoliangcheng">
<el-input v-model="param.yalibiaoliangcheng" :disabled="edit">
<template slot="append">
MPa
</template>
@ -144,8 +92,8 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管线压力表精度" prop="guanxianyalibiaojingdu">
<el-input v-model="param.guanxianyalibiaojingdu" :disabled="edit">
<el-form-item label="精度" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
@ -154,14 +102,9 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col v-if="ysjl.jianyanxiangmu === 'nysy'" :span="9">
<el-form-item label="机泵型号" prop="jibengxinghao">
<el-input v-model="param.jibengxinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col v-if="ysjl.jianyanxiangmu === 'xlsy'" :span="9">
<el-form-item label="压气设备型号" prop="yaqishebeixinghao">
<el-input v-model="param.yaqishebeixinghao" :disabled="edit" />
<el-col :span="9">
<el-form-item label="压力源" prop="yaliyuan">
<el-input v-model="param.yaliyuan" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
@ -174,14 +117,18 @@
<fieldset>
<legend>实际试验曲线</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item v-if="ysjl.jianyanxiangmu === 'nysy'" label="压力试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item v-if="ysjl.jianyanxiangmu === 'xlsy'" label="泄漏性试验结论" prop="shiyanjielun">
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="耐压试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
@ -208,9 +155,7 @@ export default {
state: '',
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
jyxm: this.$route.query.jyxm
}
}
},
@ -225,7 +170,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -244,6 +189,8 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/nysy/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

24
src/views/ysjl/8000/dj/fenxiang/qmxsy.vue

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -101,29 +101,29 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验程序记录</legend>
<el-row :gutter="2" style="font-size: 18px;font-weight: bolder;padding-left: 25px;">
缓慢升至试验压力 <el-input v-model="param.huanshengyali" :disabled="edit" class="underlines" /> MPa
保压 <el-input v-model="param.baoyashijian" :disabled="edit" class="underlines" /> min;
检查容器及连接部位<el-input v-model="param.jyrqxielou" :disabled="edit" class="underlines" /> 泄漏
检查管道及连接部位<el-input v-model="param.jyrqxielou" :disabled="edit" class="underlines" /> 泄漏
</el-row>
</fieldset>
<fieldset>
<legend>人员固定图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
@ -166,7 +166,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -185,6 +185,8 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/qmxsy/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

86
src/views/ysjl/8000/dj/fenxiang/sxjcfb.vue

@ -1,6 +1,6 @@
<!--射线检测分包-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -66,22 +66,41 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-row :gutter="20" style="height: 100px">
<el-col :span="18">
<el-form-item label="检测标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" :rowspan="2" type="textarea" />
<el-input v-model="param.jiancebiaozhun" :disabled="edit" type="textarea" rows="4" />
</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-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<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-col>
</el-row>
<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 width="120px" prop="C1" label="序号" align="center">
@ -128,6 +147,13 @@
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
@ -148,7 +174,9 @@ export default {
return {
ysjl: {},
param: {
jiancebili: '抽查 100%',
shebeiguige: 'Φ108×6',
jishudengji: 'AB级',
jiancebuwei: '焊接接头',
jianceshuliang: '个 / 张',
jiancebiaozhun: 'NB/T47013.2-2015、《压力管道安全技术监察规程—工业管道》(TSG D0001)\n' +
'《压力管道定期检验规则—工业管道》(TSG D7005)质检特函[2013]61号',
@ -170,7 +198,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -184,6 +212,8 @@ export default {
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -192,6 +222,40 @@ export default {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道射线分包检测记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
},
addRow: function() {
const d = {
C1: (this.tableData.length * 2) + 1,

113
src/views/ysjl/8000/jj/fenxiang/mxb.vue → src/views/ysjl/8000/dj/fenxiang/xncsylb.vue

@ -1,81 +1,100 @@
<!--性能参数一览表-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</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="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</el-button>
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</el-button>
</el-col>
</el-row>
<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 type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="115px" label="管道名称">
<el-table-column align="center" prop="C1" width="115px" 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="115px" label="管道编号">
<el-table-column align="center" prop="C2" width="115px" 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="130px" label="起止点">
<el-table-column align="center" prop="C3" width="115px" 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="115px" label="规格/(外径mm×壁厚mm)">
<el-table-column align="center" prop="C4" width="115px" 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="80px" label="管道级别">
<el-table-column align="center" prop="C5" width="115px" 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="90px" label="设计/工作压力MPa">
<el-table-column align="center" prop="C6" width="115px" label="管道壁厚">
<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="90px" label="设计/工作温度℃">
<el-table-column align="center" prop="C7" width="115px" 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="115px" label="工作介质">
<el-table-column align="center" prop="C8" width="115px" label="设计温度">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="管道材质">
<el-table-column align="center" prop="C9" width="115px" label="工作压力">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="70px" label="长度m">
<el-table-column align="center" prop="C10" width="115px" label="工作温度">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
@ -85,7 +104,7 @@
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgMxb',
name: 'GdZbgXncsylb',
components: { Sticky, btn },
data() {
return {
@ -103,7 +122,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -117,6 +136,8 @@ export default {
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -125,6 +146,40 @@ export default {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道性能参数一览表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
},
addChRow: function() {
const d = {}
this.tableData.push(d)

274
src/views/ysjl/8000/dj/fenxiang/ydjc.vue

@ -1,6 +1,6 @@
<!--硬度检测-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -16,36 +16,20 @@
</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">
<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="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
<el-form-item label="测量仪器型号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :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 label="测量仪器编号" prop="celiangyiqibianhao">
<el-input v-model="param.celiangyiqibianhao" :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 label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
@ -56,82 +40,137 @@
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
<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="jiancebuwei">
<el-input v-model="param.jiancebuwei" :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 label="硬度单位" prop="yingdudanwei">
<el-input v-model="param.yingdudanwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测点位置示意图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-row :gutter="10">
<el-col :span="2" style="width: 150px;">
<el-button type="success" icon="el-icon-download" title="下载硬度导入模板" size="mini" @click="downloadTemplate">
下载硬度导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeBhcdUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</el-button>
</el-col>
</el-row>
<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 type="index" prop="C1" width="80px" label="序号" align="center">
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="90px" 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" label="硬 值(HB)">
<el-table-column align="center" prop="C2" width="100px" 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" label="硬度测定部位">
<el-table-column align="center" prop="C3" width="100px" 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="100px" 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="100px" 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="100px" label="测点部位">
<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-column align="center" prop="C9" width="100px" label="测点部位">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="pingdingyijian">
<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 v-show="!edit" :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="检测结果" prop="pingdingyijian">
<el-input v-model="param.pingdingyijian" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
import SignName from '@/views/common/SignName'
export default {
name: 'GdZbgYdjc',
components: { Sticky, btn },
components: { Sticky, btn, pictureUpload, SignName },
data() {
return {
checkedTab: 'first',
@ -139,21 +178,36 @@ export default {
param: {},
tableData: [],
delRowIndex: [],
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
},
jianyanrenyuan: ''
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
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)
}
},
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -161,20 +215,66 @@ export default {
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan !== undefined && this.ysjl.jianyanrenyuan.length > 0) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
this.state = 'create'
if (data.param) {
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/ydjc/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const d = {
}
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
@ -182,8 +282,48 @@ export default {
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
changed(item) {
this.param.imagePath = item
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道硬度测定记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeBhcdUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}

281
src/views/ysjl/8000/dj/wusun/cfjc.vue

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky 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')">
@ -25,139 +25,139 @@
</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 label="检测仪器型号" prop="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :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 label="检测仪器编号" prop="jianceyiqibianhao">
<el-input v-model="param.jianceyiqibianhao" :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 label="磁粉类型" prop="cifenleixing">
<el-input v-model="param.cifenleixing" :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 label="磁悬液" prop="cixuanye">
<el-input v-model="param.cixuanye" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="使用仪器" prop="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :disabled="edit" />
<el-form-item label="灵敏度试片" prop="lingmindushipian">
<el-input v-model="param.lingmindushipian" :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 label="磁化方法" prop="cihuafangfa">
<el-input v-model="param.cihuafangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测比例" prop="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit">
<template slot="prepend">
%
</template>
<el-form-item label="提升力" prop="tishengli">
<el-input v-model="param.tishengli" :disabled="edit">
<template slot="append">
mm
(N)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="标准试块" prop="biaozhunshikuai">
<el-input v-model="param.biaozhunshikuai" :disabled="edit" />
<el-form-item label="磁化电流" prop="cihuadianliu">
<el-input v-model="param.cihuadianliu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉类型" prop="cifenleixing">
<el-input v-model="param.cifenleixing" :disabled="edit" />
<el-form-item label="喷洒方法" prop="pensafangfa">
<el-input v-model="param.pensafangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安匝数" prop="anzashu">
<el-input v-model="param.anzashu" :disabled="edit" />
<el-form-item label="检测标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉时间" prop="cihuashijian">
<el-input v-model="param.cihuashijian" :disabled="edit" />
<el-form-item label="检测比例" prop="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="磁粉方法" prop="cihuafangfa">
<el-input v-model="param.cihuafangfa" :disabled="edit" />
<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="cihuadianliu">
<el-input v-model="param.cihuadianliu" :disabled="edit" />
<el-form-item label="观察条件" prop="guanchatiaojian">
<el-input v-model="param.guanchatiaojian" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="喷洒方式" prop="pensafangfa">
<el-input v-model="param.pensafangfa" :disabled="edit" />
<el-form-item label="检测工艺编号" prop="gongyibianhao">
<el-input v-model="param.gongyibianhao" :disabled="edit" />
</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 label="退磁要求" prop="tuiciyaoqiu">
<el-input v-model="param.tuiciyaoqiu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检测部位区段及缺陷位置示意图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<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-col>
</el-row>
<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="序号">
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="100px" label="区段编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" size="mini" />
</template>
@ -167,40 +167,33 @@
<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)">
<el-table-column align="center" prop="C3" width="150px" 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="备注">
<el-table-column align="center" prop="C4" width="180px" 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="80px" label="序号">
<el-table-column align="center" prop="C5" width="150px" 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="150px" label="缺陷位置">
<el-table-column align="center" prop="C6" width="150px" label="备注">
<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="缺陷长度(mm)">
<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>
</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">
@ -213,11 +206,9 @@
</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="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<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>
@ -228,17 +219,20 @@
<script>
import Sticky from '@/components/Sticky'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact'
import Utils from '../../../../../utils/contact.js'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgCfjc',
components: { SignName, Sticky },
components: { SignName, Sticky, pictureUpload },
data() {
return {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
fileList: [],
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
@ -248,6 +242,11 @@ export default {
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
@ -263,7 +262,7 @@ export default {
},
getInfo() {
this.api({
url: '/wusun',
url: '/wusun/getWsByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -279,14 +278,99 @@ export default {
//
this.state = 'update'
this.param = data.param
this.tableData = data.param.fubiao ? JSON.parse(data.param.fubiao) : []
this.tableData = data.param.fubiao === null || data.param.fubiao === undefined ? [] : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/cfjc/' + this.fileList[i].name
}
}
} else {
this.$set(this.param, 'cifenleixing', '非荧光磁粉')
this.$set(this.param, 'cixuanye', '水')
this.$set(this.param, 'lingmindushipian', 'A1:30/100')
this.$set(this.param, 'cihuafangfa', '交叉磁轭法')
this.$set(this.param, 'tishengli', '118')
this.$set(this.param, 'cihuadianliu', '交流')
this.$set(this.param, 'pensafangfa', '喷')
this.$set(this.param, 'jiancebiaozhun', 'NB/T47013.4-2015')
this.$set(this.param, 'biaomianzhuangkuang', '表面光滑符合检测要求')
this.$set(this.param, 'guanchatiaojian', '工件表面可见光照度≥1000lx')
this.$set(this.param, 'gongyibianhao', 'WHTJ/XZWS003')
this.$set(this.param, 'tuiciyaoqiu', '≤0.3mT')
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道磁粉检测记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$message({ message: '上传成功!', type: 'success' })
})
},
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
@ -294,20 +378,27 @@ export default {
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.ysjl.bglx = 2
url = '/wusun/saveWs'
this.$refs['ysjl'].validate(valid => {
this.param.ysjlId = this.$route.query.id
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
method: 'post',
data: {
ysjl: this.ysjl,
jyxm: this.$route.query.jyxm,
@ -334,8 +425,8 @@ export default {
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
changed(item) {
this.param.imagePath = item
}
}
}

267
src/views/ysjl/8000/dj/wusun/csjc.vue

@ -1,6 +1,6 @@
<!--超声检测-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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')">
@ -26,177 +26,206 @@
</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 label="检测仪器型号" prop="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :disabled="edit" />
</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 label="检测仪器编号" prop="jianceyiqibianhao">
<el-input v-model="param.jianceyiqibianhao" :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-col :span="18">
<el-form-item label="检测对象规格" prop="jianceduixiangguige">
<el-input v-model="param.jianceduixiangguige" :disabled="edit">
<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="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
<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="biaomianzhuangtai">
<el-input v-model="param.biaomianzhuangtai" :disabled="edit" />
<el-form-item label="试块型号" prop="shikuaixinghao">
<el-input v-model="param.shikuaixinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="坡口型式" prop="pokouxingshi">
<el-input v-model="param.pokouxingshi" :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-col :span="18">
<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-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="测试仪器型号" prop="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :disabled="edit" />
<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-col :span="9">
<el-form-item label="探头类型" prop="tantouxinghao">
<el-input v-model="param.tantouxinghao" :disabled="edit" />
<el-form-item label="耦合剂" prop="ouheji">
<el-input v-model="param.ouheji" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="标准试块" prop="shikuaixinghao">
<el-input v-model="param.shikuaixinghao" :disabled="edit" />
<el-form-item label="检测面" prop="saochamian">
<el-input v-model="param.saochamian" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="灵敏度" prop="pingdinglingmindu">
<el-input v-model="param.pingdinglingmindu" :disabled="edit" />
<el-form-item label="检测技术等级" prop="jishudengji">
<el-input v-model="param.jishudengji" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测方法" prop="jiancefangfa">
<el-input v-model="param.jiancefangfa" :disabled="edit" />
</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 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="buchang">
<el-input v-model="param.buchang" :disabled="edit">
<template slot="append">
DB
</template>
</el-input>
<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="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit">
<template slot="prepend">
%
</template>
<template slot="append">
mm
</template>
</el-input>
<el-form-item label="检测时表面状态" prop="biaomianzhuangtai">
<el-input v-model="param.biaomianzhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="执行标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
<el-form-item label="检测工艺编号" prop="gongyibianhao">
<el-input v-model="param.gongyibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测范围" prop="jiancefanwei">
<el-input v-model="param.jiancefanwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检测部位区段及缺陷位置示意图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<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-col>
</el-row>
<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 type="index" width="50" label="序号" align="center" />
<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="120px" 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="170px" label="缺陷埋藏深度(mm)">
<el-table-column align="center" prop="C3" width="100px" 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="缺陷长度(mm)">
<el-table-column align="center" prop="C4" width="90px" 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="120px" label="缺陷高度(mm)">
<el-table-column align="center" prop="C5" width="90px" 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="缺陷波反射区域">
<el-table-column align="center" prop="C6" width="90px" label="缺陷类型">
<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="评定级别">
<el-table-column align="center" prop="C7" width="90px" 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="备注">
<el-table-column align="center" prop="C8" width="90px" label="评定级别">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="150px" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="说明" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
<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">
@ -223,10 +252,11 @@
<script>
import Sticky from '@/components/Sticky'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact'
import pictureUpload from '@/components/Upload'
import Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgCsjc',
components: { SignName, Sticky },
components: { SignName, Sticky, pictureUpload },
data() {
return {
checkedTab: 'first',
@ -249,6 +279,9 @@ export default {
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
@ -265,7 +298,7 @@ export default {
},
getInfo() {
this.api({
url: '/wusun',
url: '/wusun/getWsByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -288,11 +321,58 @@ export default {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/csjc/' + this.fileList[i].name
}
}
} else {
//
this.$set(this.param, 'pingdinglingmindu', 'Φ2×40-18dB/横向缺陷Φ2×40-24dB')
this.$set(this.param, 'buchang', '4')
this.$set(this.param, 'ouheji', '机油')
this.$set(this.param, 'saochamian', '单面双侧/单面(横向缺陷)')
this.$set(this.param, 'jishudengji', 'B级')
this.$set(this.param, 'jiancefangfa', '横波斜探头直射法/一次反射法锯齿形扫差、斜平行扫查')
this.$set(this.param, 'jiancebiaozhun', 'NB/T47013.3-2015')
this.$set(this.param, 'biaomianzhuangtai', '表面光滑符合检测要求')
this.$set(this.param, 'jiancefanwei', '检测区宽度:焊缝宽度+20mm检测区厚度:工件厚度+焊缝余高')
this.$set(this.param, 'gongyibianhao', 'WHTJ/XZWS002')
this.$set(this.param, 'jiancebili', '% mm')
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道超声检测记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$message({ message: '上传成功!', type: 'success' })
})
},
addRow: function() {
@ -311,6 +391,15 @@ export default {
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
@ -337,17 +426,15 @@ export default {
this.$message({ message: '请先签名再生成报告!', type: 'error' })
return false
}
url = '/wusun'
this.ysjl.bglx = 2
url = '/wusun/saveWs'
this.$refs['ysjl'].validate(valid => {
this.param.ysjlId = this.$route.query.id
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
method: 'post',
data: {
ysjl: this.ysjl,
jyxm: this.$route.query.jyxm,
@ -374,8 +461,8 @@ export default {
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
changed(item) {
this.param.imagePath = item
}
}
}

247
src/views/ysjl/8000/dj/wusun/stjc.vue

@ -1,6 +1,6 @@
<!--渗透检测-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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')">
@ -26,160 +26,177 @@
</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 label="渗透剂型号" prop="shentoujixinghao">
<el-input v-model="param.shentoujixinghao" :disabled="edit" />
</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 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="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
<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="guandaocaizhi">
<el-input v-model="param.guandaocaizhi" :disabled="edit" />
<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-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 label="显像剂型号" prop="xianxiangjixinghao">
<el-input v-model="param.xianxiangjixinghao" :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 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="jiancefangfa">
<el-input v-model="param.jiancefangfa" :disabled="edit" />
<el-form-item label="渗透时间" prop="shentoushijian">
<el-input v-model="param.shentoushijian" :disabled="edit">
<template slot="append">
(min)
</template>
</el-input>
</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 label="显像时间" prop="xianxiangshijian">
<el-input v-model="param.xianxiangshijian" :disabled="edit">
<template slot="append">
(min)
</template>
</el-input>
</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 label="灵敏度等级" prop="lingmindudengji">
<el-input v-model="param.lingmindudengji" :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">
<template slot="prepend">
%
</template><template slot="append">
mm
</template>
</el-input>
<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="guanchafangshi">
<el-input v-model="param.guanchafangshi" :disabled="edit" />
<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="duibishikuai">
<el-input v-model="param.duibishikuai" :disabled="edit" />
<el-form-item label="检测方法" prop="jiancefangfa">
<el-input v-model="param.jiancefangfa" :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 label="预清洗方法" prop="qingxifangfa">
<el-input v-model="param.qingxifangfa" :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 label="渗透剂施加方法" prop="shentoujishijiafangfa">
<el-input v-model="param.shentoujishijiafangfa" :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 label="显像剂施加方法" prop="xianxiangjishijiafangfa">
<el-input v-model="param.xianxiangjishijiafangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="执行标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
<el-form-item label="渗透剂去除方法" prop="shentoujiquchufangfa">
<el-input v-model="param.shentoujiquchufangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="干燥方法" prop="ganzaofangfa">
<el-input v-model="param.ganzaofangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="观察条件" prop="guanchatiaojian">
<el-input v-model="param.guanchatiaojian" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测工艺编号" prop="gongyibianhao">
<el-input v-model="param.gongyibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检测部位及缺陷位置示意图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
<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" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
<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">
<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="序号">
<el-table-column type="index" width="50" label="序号" align="center" />
<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="缺陷位置">
<el-table-column align="center" prop="C2" width="150px" 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)">
<el-table-column align="center" prop="C3" width="150px" 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="序号">
<el-table-column align="center" prop="C4" width="180px" 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="缺陷位置">
<el-table-column align="center" prop="C5" width="150px" 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)">
<el-table-column align="center" prop="C6" width="180px" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
@ -188,13 +205,9 @@
</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-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">
@ -207,11 +220,9 @@
</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="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
<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>
@ -221,17 +232,19 @@
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact'
import Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgStjc',
components: { SignName, Sticky },
components: { SignName, Sticky, pictureUpload },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
fileList: [],
@ -245,6 +258,9 @@ export default {
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
@ -261,7 +277,7 @@ export default {
},
getInfo() {
this.api({
url: '/wusun',
url: '/wusun/getWsByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -277,14 +293,70 @@ export default {
//
this.state = 'update'
this.param = data.param
this.tableData = this.param.fubiao ? JSON.parse(this.param.fubiao) : []
this.tableData = data.param.fubiao === null || data.param.fubiao === undefined ? [] : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/stjc/' + this.fileList[i].name
}
}
} else {
this.$set(this.param, 'shentoujixinghao', 'DPT-5')
this.$set(this.param, 'biaomianzhuangkuang', '表面光滑符合检测要求')
this.$set(this.param, 'qingxijixinghao', 'DPT-5')
this.$set(this.param, 'xianxiangjixinghao', 'DPT-5')
this.$set(this.param, 'duibishikuai', '镀铬试块')
this.$set(this.param, 'xianxiangshijian', '10~60')
this.$set(this.param, 'lingmindudengji', 'B级')
this.$set(this.param, 'jiancebiaozhun', 'NB/T47013.5-2015')
this.$set(this.param, 'jiancefangfa', 'ⅡC-d')
this.$set(this.param, 'qingxifangfa', '清洗剂清洗')
this.$set(this.param, 'shentoujishijiafangfa', '喷涂')
this.$set(this.param, 'xianxiangjishijiafangfa', '喷洒')
this.$set(this.param, 'shentoujiquchufangfa', '清洗剂去除')
this.$set(this.param, 'ganzaofangfa', '在室温下自然干燥')
this.$set(this.param, 'guanchatiaojian', '工件表面可见光照度≥')
this.$set(this.param, 'gongyibianhao', 'WHTJ/XZWS007')
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
@ -292,20 +364,27 @@ export default {
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.ysjl.bglx = 2
url = '/wusun/saveWs'
this.$refs['ysjl'].validate(valid => {
this.param.ysjlId = this.$route.query.id
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
method: 'post',
data: {
ysjl: this.ysjl,
jyxm: this.$route.query.jyxm,
@ -332,8 +411,8 @@ export default {
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
changed(item) {
this.param.imagePath = item
}
}
}

388
src/views/ysjl/8000/dj/wusun/sxjc.vue

@ -1,6 +1,6 @@
<!--射线检测-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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')">
@ -18,246 +18,231 @@
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-col :span="10">
<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-col :span="10">
<el-form-item label="射线源(种类、型号)" label-width="170px" prop="yuanzhonglei">
<el-input v-model="param.yuanzhonglei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格(外径mm×壁厚mm)" label-width="200px" prop="shebeiguige">
<el-input v-model="param.shebeiguige" :disabled="edit" />
<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="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
<el-col :span="10">
<el-form-item label="检测技术等级" prop="jishudengji">
<el-input v-model="param.jishudengji" :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 label="增感方式" prop="zengganfangshi">
<el-input v-model="param.zengganfangshi" :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-col :span="10">
<el-form-item label="管电压/源活度" prop="guandianya">
<el-input v-model="param.guandianya" :disabled="edit" style="width:130px">
<template slot="append">
(kV)
</template>
</el-input>/<el-input v-model="param.yuanhuodu" :disabled="edit" style="width:140px">
<template slot="append">
(Ci)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="源种类" prop="yuanzhonglei">
<el-input v-model="param.yuanzhonglei" :disabled="edit" />
<el-form-item label="管电流" prop="guandianliu">
<el-input v-model="param.guandianliu" :disabled="edit">
<template slot="append">
(mA)
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :disabled="edit" />
<el-col :span="10">
<el-form-item label="象质计型号" prop="xiangzhijixinghao">
<el-input v-model="param.xiangzhijixinghao" :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">
<template slot="prepend">
%
</template><template slot="append">
mm
</template>
</el-input>
<el-form-item label="像质计灵敏度" prop="xiangzhijilingmindu">
<el-input v-model="param.xiangzhijilingmindu" :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-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器型号" prop="yiqixinghao">
<el-input v-model="param.yiqixinghao" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="增感法" prop="zengganfangshi">
<el-input v-model="param.zengganfangshi" :disabled="edit" class="jiancetiaojian" />
<el-col :span="10">
<el-form-item label="透照方式" prop="touzhaofangshi">
<el-input v-model="param.touzhaofangshi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透度计类型" prop="toudujileixing">
<el-input v-model="param.toudujileixing" :disabled="edit" class="jiancetiaojian" />
<el-col :span="9">
<el-form-item label="曝光时间" prop="baoguangshijian">
<el-input v-model="param.baoguangshijian" :disabled="edit">
<template slot="append">
(min)
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器规格" prop="yiqiguige">
<el-input v-model="param.yiqiguige" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电压" prop="guandianya">
<el-input v-model="param.guandianya" :disabled="edit" class="jiancetiaojian">
<el-col :span="10">
<el-form-item label="焦距" prop="jiaoju">
<el-input v-model="param.jiaoju" :disabled="edit">
<template slot="append">
KV
(mm)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电流" prop="guandianliu">
<el-input v-model="param.guandianliu" :disabled="edit" class="jiancetiaojian">
<el-col :span="9">
<el-form-item label="焦点尺寸" prop="jiaodianchicun">
<el-input v-model="param.jiaodianchicun" :disabled="edit">
<template slot="append">
mA
(mm)
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="象质计指数" prop="xiangzhijizhishu">
<el-input v-model="param.xiangzhijizhishu" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透照方式" prop="touzhaofangshi">
<el-input v-model="param.touzhaofangshi" :disabled="edit" class="jiancetiaojian" />
<el-col :span="10">
<el-form-item label="胶片类型" prop="jiaopianleixing">
<el-input v-model="param.jiaopianleixing" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="曝光时间" prop="baoguangshijian">
<el-input v-model="param.baoguangshijian" :disabled="edit" class="jiancetiaojian">
<template slot="append">
min
</template>
</el-input>
<el-col :span="9">
<el-form-item label="底片黑度" prop="dipianheidu">
<el-input v-model="param.dipianheidu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片类型" prop="dipianleixing">
<el-input v-model="param.dipianleixing" :disabled="edit" class="jiancetiaojian" />
<el-col :span="10">
<el-form-item label="检测标准" prop="jiancebiaozhun">
<el-input v-model="param.jiancebiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="焦距" prop="jiaoju">
<el-input v-model="param.jiaoju" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
<el-col :span="9">
<el-form-item label="检测比例" prop="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="黑度" prop="dipianheidu">
<el-input v-model="param.dipianheidu" :disabled="edit" class="jiancetiaojian" />
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="胶片暗室处理方式" prop="chulifangshi">
<el-input v-model="param.chulifangshi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测时表面状态" prop="biaomianzhuangtai">
<el-input v-model="param.biaomianzhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片长度" prop="dipianchangdu">
<el-input v-model="param.dipianchangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
<el-col :span="10">
<el-form-item label="检测工艺编号" prop="gongyibianhao">
<el-input v-model="param.gongyibianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="有效长度" prop="youxiaochangdu">
<el-input v-model="param.youxiaochangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
<el-col :span="9">
<el-form-item label="探伤机型号" prop="tanshangjixinghao">
<el-input v-model="param.tanshangjixinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检测部位布片示意图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</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="tableJs.addRow($refs.tableData)">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
<el-button type="primary" size="mini" icon="el-icon-upload">
导入数据
</el-button>
</el-upload>
<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-col>
</el-row>
<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 type="index" align="center" width="70px" label="序号" />
<el-table-column align="center" prop="C2" width="100px" label="底片编号">
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" 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="130px" label="一次透照长度(mm)">
<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="140px" label="缺陷位置">
<el-table-column align="center" prop="C3" width="150px" 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="140px" label="缺陷性质">
<el-table-column align="center" prop="C4" width="160px" 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="120px" label="缺陷长度(mm)">
<el-table-column align="center" prop="C5" width="180px" 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="120px" label="缺陷高度(mm)">
<el-table-column align="center" prop="C6" width="180px" label="备注">
<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="150px" 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="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
<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">
@ -277,17 +262,36 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="评片人" prop="chupingren">
<el-input v-model="chupingren" disabled />
<el-input v-show="false" v-model="param.chupingren" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<sign-name :ysjl="ysjl" :param="param" :jianyanrenyuan="chupingren" field-name="chupingren" @setSignValue="singNameValue" />
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="评片日期" prop="chupingriqi">
<el-date-picker v-model="param.chupingriqi" :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 pictureUpload from '@/components/Upload'
import SignName from '@/views/common/SignName'
import Utils from '@/utils/contact'
import Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgSxjc',
components: { SignName, Sticky },
components: { SignName, Sticky, pictureUpload },
data() {
return {
checkedTab: 'first',
@ -300,6 +304,7 @@ export default {
fileList: [],
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
chupingren: '',
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
@ -308,6 +313,9 @@ export default {
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
@ -315,16 +323,24 @@ export default {
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')
if (data.fieldName === 'chupingren') {
this.chupingren = data.name
this.param.chupingren = data.id
if (this.state !== 'create') {
this.saveYsjl('sign')
}
} else {
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',
url: '/wusun/getWsByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -340,16 +356,60 @@ export default {
//
this.state = 'update'
this.param = data.param
this.tableData = data.param.fubiao ? JSON.parse(data.param.fubiao) : []
this.tableData = data.param.fubiao === null || data.param.fubiao === undefined ? [] : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/sxjc/' + this.fileList[i].name
}
}
if (this.param.chupingren !== null && this.param.chupingren.length > 0) {
this.chupingren = this.common.convertCnName(this.param.chupingren)
}
}
if (this.ysjl.flowstatus !== null) {
this.state = 'finish'
this.edit = true
}
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道射线检测记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$message({ message: '上传成功!', type: 'success' })
})
},
addRow: function() {
const d = {}
const d = {
}
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
@ -364,6 +424,15 @@ export default {
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
@ -390,17 +459,15 @@ export default {
this.$message({ message: '请先签名再生成报告!', type: 'error' })
return false
}
url = '/wusun'
this.ysjl.bglx = 2
url = '/wusun/saveWs'
this.$refs['ysjl'].validate(valid => {
this.param.ysjlId = this.$route.query.id
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'put',
method: 'post',
data: {
ysjl: this.ysjl,
jyxm: this.$route.query.jyxm,
@ -415,7 +482,7 @@ export default {
this.$message({ message: '保存成功', type: 'success' })
} else if (state === 'update') {
this.$message({ message: '更新成功', type: 'success' })
} else {
} else if (state === 'build') {
Utils.$emit('bggl-daiban-list')
this.$message({ message: '生成报告成功', type: 'success' })
this.$store.dispatch('delCurrentViews', {
@ -427,8 +494,8 @@ export default {
}
})
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
changed(item) {
this.param.imagePath = item
}
}
}
@ -438,7 +505,4 @@ export default {
padding: 0px 5px;
text-align: center;
}
.jiancetiaojian {
width: 150px;
}
</style>

935
src/views/ysjl/8000/jj/edit.vue

@ -1,935 +0,0 @@
<template>
<div class="app-container">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
保存
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')">
更新
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa">
添加检验方案
</el-button>
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="getJyfaInfo">
查看同类报告
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')">
生成报告
</el-button>
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')">
预览
</el-button>
</div>
</sticky>
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="基本信息" name="first">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col v-if="state === 'create'" :span="13">
<el-form-item label="记录编号">
<el-input v-model="jlbh1" style="width:80px" disabled />
<el-input v-model="jlbh2" style="width:80px" disabled />-
<el-input v-model="jlbh3" style="width:80px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 , ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="state !== 'create'" :span="9">
<el-form-item label="记录编号" prop="jilubianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.jilubianhao" :disabled="edit" @blur="judgeRepeat(ysjl.jilubianhao, ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2">
<span style="color:red">编号重复</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="告知书编号" prop="gaozhibianhao">
<el-input v-model="param.gaozhibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit" @blur="modifySjcs">
<template slot="append">
(MPa)
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计温度" prop="shejiwendu">
<el-input v-model="param.shejiwendu" :disabled="edit" @blur="modifySjcs">
<template slot="append">
()
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="输送介质" prop="shusongjiezhi">
<el-input v-model="param.shusongjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料牌号" prop="cailiaopaihao">
<el-input v-model="param.cailiaopaihao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="开工时间" prop="kaigongshijian">
<el-date-picker v-model="param.kaigongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="modifyKgjgDate" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="竣工时间" prop="jungongshijian">
<el-date-picker v-model="param.jungongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="modifyKgjgDate" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="建设单位" prop="jianshedanwei">
<el-input v-model="param.jianshedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="管道设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工程规划许可证号" prop="guihuaxukezheng">
<el-input v-model="param.guihuaxukezheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="设计证书编号" prop="shejiwenjianhao">
<el-input v-model="ysjl.shejiwenjianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="防腐施工单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装许可证编号" prop="shigongxukezheng">
<el-input v-model="ysjl.shigongxukezheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="防腐资质证书编号" prop="fangfuzizhizhengshu">
<el-input v-model="param.fangfuzizhizhengshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监理单位" prop="jianlidanwei">
<el-input v-model="param.jianlidanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监理资质证书号" prop="jianlizizhizhengshu">
<el-input v-model="param.jianlizizhizhengshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="资格证书编号" prop="jiancezizhizhenghao">
<el-input v-model="param.jiancezizhizhenghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="验收规范" prop="yanshouguifan">
<el-input v-model="param.yanshouguifan" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="证书编号" prop="zhengshubianhao">
<el-input v-model="param.zhengshubianhao" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验结论" prop="jianyanjielun">
<el-select :value="ysjl.jianyanjielun" placeholder="请选择" style="width: 100%;">
<el-option label="合格" value="合格" />
<el-option label="不合格" value="不合格" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安全状况等级为" prop="jianyanjieshuriqi">
<el-select :value="ysjl.anquanzhuangkuangdengji" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="1级" value="1级" />
<el-option label="2级" value="2级" />
<el-option label="3级" value="3级" />
<el-option label="4级" value="4级" />
<el-option label="5级" value="5级" />
<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="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<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>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="下次定期检验日期" prop="xiacijianyanriqi">
<el-date-picker v-model="ysjl.xiacijianyanriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<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" @setSignValue="singNameValue" />
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="监督检验的压力管道基本情况" name="second">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20" style="height: 130px;">
<el-col :span="18">
<el-form-item label="工程简介" prop="gongchengjianjie">
<el-input v-model="param.gongchengjianjie" :disabled="edit" :rows="5" type="textarea" placeholder="内容包括工程名称施工单位投资规模管道的基本属性相关情况的描述" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="工程地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="工程规模" prop="gongchengguimo">
<el-input v-model="param.gongchengguimo" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="建设单位" prop="jianshedanwei">
<el-input v-model="param.jianshedanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="设计单位" prop="shejidanwei">
<el-input v-model="param.shejidanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="安装单位" prop="shigongdanwei">
<el-input v-model="param.shigongdanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="监理单位" prop="jianlidanwei">
<el-input v-model="param.jianlidanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="防腐单位" prop="fangfushigongdanwei">
<el-input v-model="param.fangfushigongdanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 110px;">
<el-col :span="18">
<el-form-item label="主要元件供货单位" prop="gonghuodanwei">
<el-input v-model="param.gonghuodanwei" :disabled="edit" :rows="4" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="开工竣工时间" prop="kaigongjungongshijian">
<el-input v-model="param.kaigongjungongshijian" :disabled="true" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="设计参数" prop="shejicanshu">
<el-input v-model="param.shejicanshu" :disabled="true" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="ysjl.guandaoguige" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="监督检验检验项目" name="third">
<el-form ref="param" class="el-form" label-position="right" label-width="130px">
<el-row :gutter="20" style="height: 100px;">
<el-col :span="18">
<el-form-item label="记事栏" prop="beizhu">
<el-input v-model="ysjl.beizhu" :rows="3" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="jdjyxmData" :span-method="tableJs.mergeColRows" border stripe style="width:80%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" label="评价项目">
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanneirong" label="检验内容" />
</el-table-column>
<el-table-column align="center" prop="xiangmuleibie" label="监检类别">
<template slot-scope="scope">
<el-input v-if="scope.$index >17 " v-model="scope.row.xiangmuleibie" placeholder="请输入内容" disabled />
</template>
</el-table-column>
<el-table-column align="center" prop="gongzuojianzheng" label="工作见证">
<template slot-scope="scope">
<el-input v-model="scope.row.gongzuojianzheng" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
<el-table-column align="center" prop="gongzuojishi" label="工作记事">
<template slot-scope="scope">
<el-input v-if="scope.$index >17 " v-model="scope.row.gongzuojishi" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
<el-table-column align="center" prop="jianyanjieguo" label="检验结果">
<template slot-scope="scope">
<el-select v-if="scope.$index >17 " v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="√" value="√" />
<el-option label="×" value="×" />
<el-option label="无此项" value="无此项" />
<el-option label="—" value="-" />
</el-select>
<el-select v-else v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="√" value="√" />
<el-option label="×" value="×" />
<el-option label="/" value="/" />
</el-select>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog">
<jyfa ref="jyfa" :info="info" @childMethod="getJyxm" />
</el-dialog>
<el-dialog :visible.sync="similarVisible" title="同类报告查看" width="800px" @close="closeJyfaDialog">
<el-table ref="similarTable" :data="similarTableData" border style="width: 100%;" height="350">
<el-table-column align="center" label="报告类型" prop="bglx" min-width="50" />
<el-table-column align="left" label="检验项目" prop="jyxmLabel" width="200">
<template slot-scope="scope">
<div style="text-decoration:underline;cursor:pointer;" @click="editChild(scope.row.id, scope.row.jianyanxiangmu, departmentId)">
{{ scope.row.jyxmLabel }}
</div>
</template>
</el-table-column>
<el-table-column align="center" label="处理人" prop="renlingren" min-width="40" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" min-width="40" />
<el-table-column align="center" label="办结状态" prop="flowstatus" min-width="50" />
<el-table-column property="" label="操作" align="center" width="95">
<template slot-scope="scope">
<el-button type="primary" size="mini" title="删除检验方案" circle icon="el-icon-delete" @click="delYsjl(scope.row.jyxmLabel, scope.row.bglx, scope.row.id)" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '未办结'" type="primary" size="mini" title="办结" circle icon="el-icon-check" @click="bjYsjl(scope.row.id, '1')" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '已办结'" type="primary" size="mini" title="取消办结" circle icon="el-icon-close" @click="bjYsjl(scope.row.id, '0')" />
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import jyfa from '../../addJyfa'
import SignName from '@/views/common/SignName'
import Utils from '../../../../utils/contact.js'
export default {
name: 'GdDjYsjl',
components: { SignName, Sticky, jyfa },
data() {
return {
//
edit: false, //
//
jdjyxmData: [], //
jlbh1: 'GDA',
jlbh2: '(' + (new Date().getFullYear()) + ')',
jlbh3: '',
//
jianyanrenyuan: '',
//
jyfaDialogVisible: false,
//
// {create=> update=> }
state: this.$route.query.state,
ysjl: {},
departmentId: this.$route.query.departmentId,
param: {},
checkedTab: 'first',
//
//
cols: [
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
return row.jianyanxiang
}
},
{
name: 'jianyanneirong', // el-table-column prop=''
getValue(row) { //
return row.jianyanneirong
}
}
],
//
rows: [
{
name: 'jianyanxiang',
getValue(row) {
return row.jianyanxiang
}
},
{
name: 'jianyanneirong', // el-table-column prop=''
getValue(row) { //
return row.jianyanneirong
}
}
],
info: {
modelId: this.$route.query.templateId,
sbzldm: this.$route.query.sbzldm,
sblbdm: this.$route.query.sblbdm,
ysjlId: this.$route.query.id,
departmentId: this.$route.query.departmentId,
jylb: this.$route.query.jylb,
nblb: this.$route.query.neibuleibie,
type: 'ysjl'
},
similarVisible: false,
similarTableData: [],
isRepeat: false
}
},
computed: {
jilubianhao: function() {
if (this.state !== 'create') {
return this.ysjl.jilubianhao
}
return this.jlbh1 + this.jlbh2 + '-' + this.jlbh3
}
},
created() {
if (this.state === 'create') {
this.initYsjl()
} else {
this.getYsjl()
this.getParam()
}
const jyxmtable = [1]
for (let i = 0; i < jyxmtable.length; i++) {
this.getJyxm(jyxmtable[i])
}
},
mounted() {
const that = this
this.common.$on('modifyMajorInspectionItemBySub', function() {
that.getJyxm(1)
})
},
methods: {
initYsjl() {
this.api({
url: '/ysjl/initYsjl',
method: 'post',
data: {
templateId: this.$route.query.templateId,
renwuId: this.$route.query.renwuId,
neibuleibie: this.$route.query.neibuleibie,
sblbdm: this.$route.query.sblbdm,
sblbmc: this.$route.query.sblbmc,
sbpzdm: this.$route.query.sbpzdm,
sbpzmc: this.$route.query.sbpzmc
}
}).then(data => {
this.ysjl = data.ysjl
this.param = data.param ? data.param : {}
this.ysjl.flowStatus = 1
this.ysjl.jianyanjielun = '符合要求'
this.ysjl.xiacijianyanriqishuoming = '/'
this.ysjl.shebeizhongleidaima = '8000'
//
const tempTime = new Date()
this.ysjl.jianyankaishiriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
// =
const xcjyrq = (tempTime.getFullYear() + 2) + '-' + (tempTime.getMonth() + 1) + '-' + (tempTime.getDate() - 1)
this.ysjl.xiacijianyanriqi = xcjyrq
this.ysjl.shejishiyongnianxian = '年'
this.ysjl.jianyanjielun = '合格'
this.ysjl.anquanzhuangkuangdengji = '1级'
this.ysjl.shejiriqi = ' 年 月'
this.param.yanshouriqi = ' 年 月'
this.param.biaozhunyaoqiu = '1、《压力管道安全技术监察规程-工业管道》\n' +
'2、《压力管道安全管理与监察规定》\n' +
'3、《压力管道安装安全质量监督检验规则》\n' +
'4、设计文件'
this.param.jianyanneirong = '1、对设计单位、建设单位、安装单位、监理单位、检测单位在本工程安装实施过程中的单位资质及应当履行的手续进行核实;对安全质量管理行为及设计资料进行抽查、验证。\n' +
'2、安装单位在本工程的施工过程中,按照《压力管道安装质量体系运行情况检查表》监督检查。\n' +
'3、对压力管道安装过程中涉及压力管道安装质量的项目,按照《压力管道安装安全质量检查项目表》进行监督验证。'
this.getMaxBh()
})
},
getYsjl() {
this.api({
url: '/ysjl/getYsjlById',
method: 'get',
params: {
ysjlId: this.$route.query.id
}
}).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
if (this.ysjl.baogaobianhao.indexOf('COPY') !== -1) {
//
this.getMaxBh()
} else if (this.ysjl.baogaobianhao) {
this.judgeRepeat(this.ysjl.baogaobianhao.substring(0, this.ysjl.baogaobianhao.lastIndexOf('-') + 1), this.ysjl.id)
}
})
},
getParam() {
// id
this.api({
url: '/ysjl/getParamByYsjlId',
method: 'get',
params: { ysjlId: this.$route.query.id, sbzldm: this.$route.query.sbzldm }
}).then(data => {
this.param = data
if (this.param.kaigongshijian !== null && this.param.kaigongshijian !== undefined) {
this.param.kaigongshijian = this.formatter.dateFormat('YYYY-MM-dd', this.param.kaigongshijian)
}
if (this.param.jungongshijian !== null && this.param.jungongshijian !== undefined) {
this.param.jungongshijian = this.formatter.dateFormat('YYYY-MM-dd', this.param.jungongshijian)
}
})
},
//
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')
}
},
//
getMaxBh() {
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: this.jlbh1 + this.jlbh2 + '-' + this.jlbh3,
hinderPart: ''
}
}).then(data => {
this.jlbh3 = data
})
},
//
getJyxm(sort) {
let url = ''
let data = {}
if (this.state === 'create') {
url = '/jyxm/getCyJyxm'
data = {
templateId: this.$route.query.templateId,
order: sort
}
} else {
url = '/jyxm/getCyJyxmByYsjl'
data = {
ysjlId: this.$route.query.id,
isReport: false,
order: sort
}
}
this.api({
url: url,
method: 'get',
params: data
}).then(data => {
switch (sort) {
case 1:
this.jdjyxmData = data
// const d = {
// C1: ''
// }
// this.jdjyxmData.push(d)
break
}
this.tableJs.getData(this.cols, this.rows, data)
})
},
// id,
getProp: function(data) {
const retData = []
for (let i = 0; i < data.length; i++) {
const retRow = {}
retRow.id = data[i].id
if (data[i].jianyanjieguo !== '' && data[i].jianyanjieguo !== null && data[i].jianyanjieguo !== undefined) {
retRow.jianyanjieguo = data[i].jianyanjieguo
}
if (data[i].beizhu !== '' && data[i].beizhu !== null && data[i].beizhu !== undefined) {
retRow.beizhu = data[i].beizhu
}
retData.push(retRow)
}
return retData
},
saveYsjl: function(operation) {
this.tableData = []
// id,jianyanxiang,checkType
const retData = []
for (let i = 0; i < this.jdjyxmData.length; i++) {
//
const retRow = {}
retRow.id = this.jdjyxmData[i].id
if (this.jdjyxmData[i].jianyanxiang !== '' && this.jdjyxmData[i].jianyanxiang !== null && this.jdjyxmData[i].jianyanxiang !== undefined) {
retRow.jianyanxiang = this.jdjyxmData[i].jianyanxiang
}
if (this.jdjyxmData[i].checkType !== '' && this.jdjyxmData[i].checkType !== null && this.jdjyxmData[i].checkType !== undefined) {
retRow.checkType = this.jdjyxmData[i].checkType
}
if (this.jdjyxmData[i].jianyanjieguo !== '' && this.jdjyxmData[i].jianyanjieguo !== null && this.jdjyxmData[i].jianyanjieguo !== undefined) {
retRow.jianyanjieguo = this.jdjyxmData[i].jianyanjieguo
}
if (this.jdjyxmData[i].gongzuojianzheng !== '' && this.jdjyxmData[i].gongzuojianzheng !== null && this.jdjyxmData[i].gongzuojianzheng !== undefined) {
retRow.gongzuojianzheng = this.jdjyxmData[i].gongzuojianzheng
}
if (this.jdjyxmData[i].gongzuojishi !== '' && this.jdjyxmData[i].gongzuojishi !== null && this.jdjyxmData[i].gongzuojishi !== undefined) {
retRow.gongzuojishi = this.jdjyxmData[i].gongzuojishi
}
retData.push(retRow)
}
this.tableData.push(retData)
let type = ''
if (operation === 'add') {
type = 'post'
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3
this.ysjl.bglx = 1
this.ysjl.cjState = 'ysjl'
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH
this.save(operation, type)
} else if (operation === 'build') {
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') {
this.$message({
type: 'error',
message: '请先签名再生成报告!'
})
return false
}
//
this.api({
url: '/ysjl/judgeState',
method: 'get',
params: {
ysjlIds: this.ysjl.id,
bglx: '2,3'
}
}).then(data => {
if (data === 0) {
this.$message.error('请先办结无损分项原始记录再生成报告!')
return false
} else {
type = 'put'
this.save(operation, type)
}
})
} else if (operation === 'upd') {
type = 'put'
this.save(operation, type)
}
},
save(operation, type) {
//
if (this.isRepeat) {
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' })
return false
} else {
this.$refs['ysjl'].validate(valid => {
if (valid) {
this.api({
url: '/ysjl',
method: type,
data: {
ysjl: this.ysjl,
param: this.param,
jyxm: JSON.stringify(this.tableData),
flag: operation
}
}).then(data => {
//
Utils.$emit('task-list')
Utils.$emit('ysjl-list')
Utils.$emit('ysjl-yb-list')
Utils.$emit('bggl-daiban-list')
if (operation === 'add' && data !== '') {
this.$message({ message: '保存成功', type: 'success' })
} else if (operation === 'upd') {
this.$message({ message: '更新成功', type: 'success' })
} else {
this.$message({ message: '生成报告成功', type: 'success' })
this.$store.dispatch('delCurrentViews', {
view: this.$route,
$router: this.$router
})
}
this.$route.params.state = 'update'
this.state = 'update'
this.info.ysjlId = this.ysjl.id
})
}
})
}
},
toAddJyfa() {
this.jyfaDialogVisible = true
},
//
getJyfaInfo() {
this.api({
url: '/ysjl/getJyfaInfo',
method: 'get',
params: {
ysjlId: this.ysjl.id
}
}).then(data => {
for (let i = 0; i < data.length; i++) {
if (data[i].jianyanrenyuan !== null && data[i].jianyanrenyuan !== undefined) {
data[i].jianyanrenyuan = this.common.convertCnName(data[i].jianyanrenyuan)
}
if (data[i].renlingren !== null && data[i].renlingren !== undefined) {
data[i].renlingren = this.common.convertCnName(data[i].renlingren)
}
if (data[i].bglx === 2) {
data[i].bglx = '无损检测'
} else if (data[i].bglx === 3) {
data[i].bglx = '分项检测'
}
if ((data[i].bglx === '分项检测' && data[i].flowstatus === 4) || (data[i].bglx === '无损检测' && data[i].flowstatus === 4)) {
data[i].flowstatus = '已办结'
} else {
data[i].flowstatus = '未办结'
}
}
this.similarTableData = data
this.similarVisible = true
})
},
closeJyfaDialog() {
this.jyfaDialogVisible = false
},
//
delYsjl(jianyanxiangmu, bglx, ysjlId) {
this.$confirm('原始记录删除后将无法恢复,是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(data => {
this.api({
url: '/ysjl/delJyfa',
method: 'get',
params: {
ysjlId: ysjlId,
bglx: bglx,
jianyanxiangmu: jianyanxiangmu
}
}).then(data => {
Utils.$emit('modifyMajorInspectionItemBySub')
this.$message({ message: '删除成功', type: 'success' })
this.getJyfaInfo()
this.$refs.jyfa.getJyfaInfo()
})
}).catch(e => {
this.$message({ message: '删除失败', type: 'error' })
})
},
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fx/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
status: status
}
}).then(data => {
this.getJyfaInfo()
if (status === '0') {
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
})
},
editChild(id, jianyanxiangmu, departmentId) {
this.$router.push({ path: '/ysjl/' + this.ysjl.shebeizhongleidaima + '/' + jianyanxiangmu, query: { id: id, jyxm: jianyanxiangmu, departmentId: departmentId }})
this.similarVisible = false
},
judgeRepeat(bianhao, id) {
this.api({
url: '/ysjl/judgeRepeat',
method: 'get',
params: {
ysjlId: id,
bianhao: bianhao
}
}).then(data => {
this.isRepeat = data > 0
})
},
modifySjcs() {
this.param.shejicanshu = '设计压力:' + this.param.shejiyali + 'Mpa、设计温度:' + this.param.shejiwendu + '℃'
},
modifyKgjgDate() {
this.param.kaigongjungongshijian = this.kaigongshijian ? this.kaigongshijian : '' + '至' + this.jungongshijian ? this.jungongshijian : ''
}
}
}
</script>
<style>
.el-input__inner {
border: 1px solid #00000075;
border-radius: 4px;
}
.el-textarea__inner {
border: 1px solid #91393975;
border-radius: 4px;
}
.el-form-item__error {
padding-top: 0px;
position: absolute;
}
.el-input.is-disabled .el-input__inner {
color: #606266;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606266;
}
.el-dialog__body {
padding-top: 10px;
}
</style>

803
src/views/ysjl/8000/jj/edit2.vue

@ -1,803 +0,0 @@
<template>
<div class="app-container">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
保存
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')">
更新
</el-button>
<el-button v-if="state === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa">
添加检验方案
</el-button>
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="getJyfaInfo">
查看同类报告
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')">
生成报告
</el-button>
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')">
预览
</el-button>
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate">
批量修改日期
</el-button>
</div>
</sticky>
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="基本信息" name="first">
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px">
<fieldset>
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col v-if="state === 'create'" :span="13">
<el-form-item label="记录编号">
<el-input v-model="jlbh1" style="width:80px" disabled />
<el-input v-model="jlbh2" style="width:80px" disabled />-
<el-input v-model="jlbh3" style="width:80px" @blur="judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3 , ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="state !== 'create'" :span="9">
<el-form-item label="记录编号" prop="jilubianhao">
<el-input v-if="state !== 'create'" v-model="ysjl.jilubianhao" :disabled="edit" @blur="judgeRepeat(ysjl.jilubianhao, ysjl.id)" />
</el-form-item>
</el-col>
<el-col v-if="isRepeat" :span="2">
<span style="color:red">编号重复</span>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="建设单位" prop="jianshedanwei">
<el-input v-model="param.jianshedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="项目名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="项目施工地址" prop="gongchengdizhi">
<el-input v-model="param.gongchengdizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监检管道数量(条)" label-width="140px" prop="chanpinshuliang">
<el-input v-model="param.chanpinshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道长度(m)" prop="guandaochangdu">
<el-input v-model="param.guandaochangdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="主要材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="主要规格(mm)" prop="guigexinghao">
<el-input v-model="ysjl.guigexinghao" type="text" />
</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="10">
<el-form-item label="设计参数(MPa/℃)" label-width="150px">
<el-input v-model="param.shejiyali" :disabled="edit" style="width: 100px" />
<el-input v-model="param.shejiwendu" :disabled="edit" style="width: 100px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label-width="150px" label="工程总投资(万元)" prop="gongchengtouzi">
<el-input v-model="param.gongchengtouzi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="告知书编号" prop="gaozhibianhao">
<el-input v-model="param.gaozhibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="输送介质" prop="shusongjiezhi">
<el-input v-model="param.shusongjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="开工时间" prop="kaigongshijian">
<el-date-picker v-model="param.kaigongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="modifyKgjgDate" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="管道设计单位" prop="shejidanwei">
<el-input v-model="ysjl.shejidanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="许可证编号" prop="shejixukezhengbianhao">
<el-input v-model="ysjl.shejixukezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="许可项目" prop="shejixukexiangmu">
<el-input v-model="ysjl.shejixukexiangmu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="施工单位" prop="shigongdanwei">
<el-input v-model="ysjl.shigongdanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="许可证编号" prop="shigongxukezheng">
<el-input v-model="ysjl.shigongxukezheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="许可项目" prop="shigongxukexiangmu">
<el-input v-model="ysjl.shigongxukexiangmu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="无损检测单位" prop="jiancedanwei">
<el-input v-model="param.jiancedanwei" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="核准证编号" prop="jiancehezhunzhengbianhao">
<el-input v-model="param.jiancehezhunzhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="许可项目" prop="jiancexukexiangmu">
<el-input v-model="param.jiancexukexiangmu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="验收规范" prop="yanshouguifan">
<el-input v-model="param.yanshouguifan" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="竣工时间" prop="jungongshijian">
<el-date-picker v-model="param.jungongshijian" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="modifyKgjgDate" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="监督检验受理文号" prop="hezhunjianjianwenhao">
<el-input v-model="param.hezhunjianjianwenhao" type="text" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检验金额(元)" prop="jianyanheding">
<el-input-number v-model="ysjl.jianyanheding" :disabled="ysjl.retreatState === 2 && ysjl.jfState" :controls="false" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="检验依据" prop="jianyanyiju">
<el-input v-model="ysjl.jianyanyiju" type="text" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验开始日期" prop="jianyankaishiriqi">
<el-date-picker v-model="ysjl.jianyankaishiriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
<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>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="结论意见" prop="jianyanjielun">
<el-select v-model="ysjl.jianyanjielun" placeholder="请选择" style="width: 100%;">
<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="delayInspection">
<el-checkbox v-model="param.delayInspection" label="管道一般在投入使用后3年内进行首次定期检验。" true-label="管道一般在投入使用后3年内进行首次定期检验" false-label="管道一般在投入使用后3年内进行首次定期检验" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 270px;">
<el-col :span="18">
<el-form-item label="监检过程中发现的问题及处理情况" prop="wentijizai">
<el-input v-model="param.wentijizai" :rows="11" type="textarea" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<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" @setSignValue="singNameValue" />
</el-col>
</el-row>
</fieldset>
</el-form>
</el-tab-pane>
<el-tab-pane label="压力管道施工质量控制项目表" name="second">
<el-form ref="param" class="el-form" label-position="right" label-width="130px">
<el-row :gutter="20" style="height: 270px;">
<el-col :span="18">
<el-form-item label="记事栏" prop="beizhu">
<el-input v-model="ysjl.beizhu" :rows="11" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table ref="jdjyxmData" :data="jdjyxmData" :span-method="tableJs.mergeColRows" border stripe @row-click="onRowClick">
<el-table-column type="selection" align="center" />
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" label="监检项目">
<el-table-column align="center" prop="jianyanxiang" width="140" label="检验项" />
<el-table-column align="center" prop="jianyanmu" width="320" label="检验目">
<template slot-scope="scope">
<el-input v-if="scope.$index > 50" v-model="scope.row.jianyanmu" :disabled="edit" placeholder="请输入内容" />
<span v-else>{{ scope.row.jianyanmu }}</span>
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="xiangmuleibie" width="70" label="监检类别">
<template slot-scope="scope">
<el-input v-if="scope.$index > 50" v-model="scope.row.xiangmuleibie" :disabled="edit" />
<span v-else>{{ scope.row.xiangmuleibie }}</span>
</template>
</el-table-column>
<el-table-column align="center" prop="gongzuojianzheng" label="工作见证">
<template slot-scope="scope">
<el-input v-model="scope.row.gongzuojianzheng" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
<el-table-column align="center" prop="jianyanjieguo" width="120" label="检验结果">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="符合" value="符合" />
<el-option label="不符合" value="不符合" />
<el-option label="无此项" value="无此项" />
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="querenriqi" width="170" label="日期">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="监督检验工作内容和结果" name="third">
<el-table :data="bgJyxm" border stripe>
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" prop="jianyanxiang" label="监督检验项目" />
<el-table-column align="center" prop="jianyanjieguo" label="检验结果">
<template slot-scope="scope">
<el-select v-model="scope.row.jianyanjieguo" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;">
<el-option label="符合" value="符合" />
<el-option label="不符合" value="不符合" />
<el-option label="无此项" value="无此项" />
</el-select>
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.beizhu" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog">
<jyfa ref="jyfa" :info="info" @childMethod="getJyxm" />
</el-dialog>
<el-dialog :visible.sync="similarVisible" title="同类报告查看" width="800px" @close="closeJyfaDialog">
<el-table ref="similarTable" :data="similarTableData" border style="width: 100%;" height="350">
<el-table-column align="center" label="报告类型" prop="bglx" min-width="50" />
<el-table-column align="left" label="检验项目" prop="jyxmLabel" width="200">
<template slot-scope="scope">
<div style="text-decoration:underline;cursor:pointer;" @click="editChild(scope.row.id, scope.row.jianyanxiangmu, scope.row.modelId)">
{{ scope.row.jyxmLabel }}
</div>
</template>
</el-table-column>
<el-table-column align="center" label="处理人" prop="renlingren" min-width="40" />
<el-table-column align="center" label="检验人员" prop="jianyanrenyuan" min-width="40" />
<el-table-column align="center" label="办结状态" prop="flowstatus" min-width="50" />
<el-table-column property="" label="操作" align="center" width="95">
<template slot-scope="scope">
<el-button type="primary" size="mini" title="删除检验方案" circle icon="el-icon-delete" @click="delYsjl(scope.row.jyxmLabel, scope.row.bglx, scope.row.id)" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '未办结'" type="primary" size="mini" title="办结" circle icon="el-icon-check" @click="bjYsjl(scope.row.id, '1')" />
<el-button v-if="scope.row.bglx ==='分项检测' && scope.row.flowstatus === '已办结'" type="primary" size="mini" title="取消办结" circle icon="el-icon-close" @click="bjYsjl(scope.row.id, '0')" />
</template>
</el-table-column>
</el-table>
</el-dialog>
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="closeJyxmrqDialog">
<template>
<el-date-picker v-model="querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</template>
<span slot="footer" class="dialog-footer">
<el-button @click="jyxmrqShow = false"> </el-button>
<el-button type="primary" @click="batchUpd"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import jyfa from '../../addJyfa'
import SignName from '@/views/common/SignName'
import Utils from '../../../../utils/contact.js'
export default {
name: 'GdJjYsjl2',
components: { SignName, Sticky, jyfa },
data() {
return {
//
edit: false, //
//
jdjyxmData: [], // ,
bgJyxm: [], //
jlbh1: 'GDA',
jlbh2: '(' + (new Date().getFullYear()) + ')',
jlbh3: '',
//
jianyanrenyuan: '',
//
jyfaDialogVisible: false,
//
// {create=> update=> }
state: this.$route.query.state,
ysjl: {},
departmentId: this.$route.query.departmentId,
param: {},
checkedTab: 'first',
//
//
cols: [
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
return row.jianyanxiang
}
}
],
//
rows: [
{
name: 'jianyanxiang',
getValue(row) {
return row.jianyanxiang
}
},
{
name: 'jianyanmu', // el-table-column prop=''
getValue(row) { //
return row.jianyanmu
}
}
],
info: {
modelId: this.$route.query.templateId,
sbzldm: this.$route.query.sbzldm,
sblbdm: this.$route.query.sblbdm,
ysjlId: this.$route.query.id,
departmentId: this.$route.query.departmentId,
jylb: this.$route.query.jylb,
nblb: this.$route.query.neibuleibie,
type: 'ysjl'
},
similarVisible: false,
similarTableData: [],
isRepeat: false,
tableData: [],
tableDataBg: [],
jyxmrqShow: false,
querenriqi: new Date()
}
},
computed: {
jilubianhao: function() {
if (this.state !== 'create') {
return this.ysjl.jilubianhao
}
return this.jlbh1 + this.jlbh2 + '-' + this.jlbh3
}
},
created() {
if (this.state === 'create') {
this.initYsjl()
} else {
this.getYsjl()
this.getParam()
}
const jyxmtable = [1, 2]
for (let i = 0; i < jyxmtable.length; i++) {
this.getJyxm(jyxmtable[i])
}
},
methods: {
initYsjl() {
this.ysjlService.init(this.$route.query).then(data => {
this.ysjl = data.ysjl
this.param = data.param ? data.param : {}
this.ysjl.jianyanjielun = '符合要求'
this.ysjl.shebeizhongleidaima = '8000'
//
const tempTime = new Date()
this.ysjl.jianyankaishiriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd', tempTime)
this.ysjl.beizhu = '1.材料标志移植(B):抽查材料规格: ;材料移植标志: ;\n' +
'2.施焊(B):抽查焊缝外观质量:GC1级管道抽查(不少于5%总焊口数/施工机组)的焊口号: ,其他管道抽查(不少于2%总焊口数/施工机组)的焊口号: ;公用管道抽查(不少于1%总焊口数/施工机组)的焊口号: ,聚乙烯热熔对接接头至少抽查1处进行卷边切除检验,焊口号: 。\n' +
'3.现场制作(预制)与安装(C/B):施焊抽查(至少2个)管道编号: ① ② ; 热处理抽查(至少2个)焊口: ① ② 焊口。\n' +
'抽查:□管道布置与连接方式;□穿跨越;□补偿装置;□支撑件。'
this.getMaxBh()
})
},
getYsjl() {
this.ysjlService.getYsjl(this.$route.query.id).then(data => {
this.ysjl = data.ysjl
if (this.ysjl.jianyanrenyuan) {
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan)
}
if (this.ysjl.baogaobianhao && this.ysjl.baogaobianhao.indexOf('COPY') !== -1) {
//
this.getMaxBh()
} else if (this.ysjl.baogaobianhao) {
this.judgeRepeat(this.ysjl.baogaobianhao.substring(0, this.ysjl.baogaobianhao.lastIndexOf('-') + 1), this.ysjl.id)
}
})
},
getParam() {
// id
this.ysjlService.getParam(this.$route.query.id, this.$route.query.sbzldm).then(data => {
this.param = data
})
},
//
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')
}
},
//
getMaxBh() {
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: this.jlbh1 + this.jlbh2 + '-' + this.jlbh3,
hinderPart: ''
}
}).then(data => {
this.jlbh3 = data
})
},
//
getJyxm(sort) {
this.jyxmService.getJyxm(this.$route.query.templateId, this.$route.query.id, sort, this.state, false).then(data => {
switch (sort) {
case 1:
this.jdjyxmData = data
this.tableJs.getData(this.cols, this.rows, data)
break
case 2:
this.bgJyxm = data
break
default:
break
}
})
},
// id,
getProp: function(data) {
const retData = []
for (let i = 0; i < data.length; i++) {
const retRow = {}
retRow.id = data[i].id
if (data[i].jianyanmu) {
retRow.jianyanmu = data[i].jianyanmu
}
if (data[i].xiangmuleibie) {
retRow.xiangmuleibie = data[i].xiangmuleibie
}
if (data[i].gongzuojianzheng) {
retRow.gongzuojianzheng = data[i].gongzuojianzheng
}
if (data[i].jianyanjieguo) {
retRow.jianyanjieguo = data[i].jianyanjieguo
}
if (data[i].querenriqi) {
retRow.querenriqi = data[i].querenriqi
}
retData.push(retRow)
}
return retData
},
saveYsjl: function(operation) {
if (operation === 'build' && !this.ysjl.jianyanheding) {
this.$message.warning('请填写检验金额!')
return false
}
this.tableData = []
//
this.tableData.push(this.getProp(this.jdjyxmData))
this.tableData.push(this.bgJyxm)
//
this.tableDataBg = []
this.tableDataBg.push(this.bgJyxm)
let type = ''
if (operation === 'add') {
type = 'post'
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3
this.ysjl.bglx = 1
this.ysjl.cjState = 'ysjl'
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH
this.save(operation, type)
} else if (operation === 'build') {
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') {
this.$message({
type: 'error',
message: '请先签名再生成报告!'
})
return false
}
//
this.api({
url: '/ysjl/judgeState',
method: 'get',
params: {
ysjlIds: this.ysjl.id,
bglx: '2,3'
}
}).then(data => {
if (data === 0) {
this.$message.error('请先办结无损分项原始记录再生成报告!')
return false
} else {
type = 'put'
this.save(operation, type)
}
})
} else if (operation === 'upd') {
type = 'put'
this.save(operation, type)
}
},
save(operation, type) {
//
if (this.isRepeat) {
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' })
return false
} else {
this.$refs['ysjl'].validate(valid => {
if (valid) {
this.api({
url: '/ysjl',
method: type,
data: {
ysjl: this.ysjl,
param: this.param,
jyxm: JSON.stringify(this.tableData),
bgjyxm: JSON.stringify(this.tableDataBg),
flag: operation
}
}).then(data => {
//
Utils.$emit('task-list')
Utils.$emit('ysjl-list')
Utils.$emit('ysjl-yb-list')
Utils.$emit('bggl-daiban-list')
if (operation === 'add' && data !== '') {
this.$message({ message: '保存成功', type: 'success' })
this.ysjl.id = data
this.param.ysjlId = data
//
this.common.reloadViewToUpdateYsjl(this.ysjl)
} else if (operation === 'upd') {
this.$message({ message: '更新成功', type: 'success' })
} else {
this.$message({ message: '生成报告成功', type: 'success' })
this.$store.dispatch('delCurrentViews', {
view: this.$route,
$router: this.$router
})
}
this.$route.params.state = 'update'
this.state = 'update'
this.info.ysjlId = this.ysjl.id
})
}
})
}
},
toAddJyfa() {
this.jyfaDialogVisible = true
},
//
getJyfaInfo() {
this.api({
url: '/ysjl/getJyfaInfo',
method: 'get',
params: {
ysjlId: this.ysjl.id
}
}).then(data => {
this.similarTableData = data
this.similarVisible = true
})
},
closeJyfaDialog() {
this.jyfaDialogVisible = false
},
//
delYsjl(jianyanxiangmu, bglx, ysjlId) {
this.$confirm('原始记录删除后将无法恢复,是否确认删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(_ => {
this.api({
url: '/ysjl/delJyfa',
method: 'get',
params: {
ysjlId: ysjlId,
bglx: bglx,
jianyanxiangmu: jianyanxiangmu
}
}).then(_ => {
this.$message({ message: '删除成功', type: 'success' })
this.getJyfaInfo()
this.$refs.jyfa.getJyfaInfo()
})
}).catch(_ => {
this.$message({ message: '删除失败', type: 'error' })
})
},
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fx/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
status: status
}
}).then(_ => {
this.getJyfaInfo()
if (status === '0') {
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
})
},
editChild(id, jianyanxiangmu, modelId) {
this.api({
url: '/template/getById',
method: 'get',
params: {
id: modelId
}
}).then(data => {
const queryParam = { id: id, jyxm: jianyanxiangmu, departmentId: this.departmentId }
this.$router.push({
path: data.tempPath,
query: queryParam
})
})
this.similarVisible = false
},
judgeRepeat(bianhao, id) {
this.ysjlService.judgeRepeat(id, bianhao).then(data => {
this.isRepeat = data
})
},
modifySjcs() {
this.param.shejicanshu = '设计压力:' + this.param.shejiyali + 'Mpa、设计温度:' + this.param.shejiwendu + '℃'
},
modifyKgjgDate() {
this.param.kaigongjungongshijian = this.kaigongshijian ? this.kaigongshijian : '' + '至' + this.jungongshijian ? this.jungongshijian : ''
},
batchUpdDate() {
if (this.$refs.jdjyxmData.selection.length === 0) {
this.$message('请在列表选择要修改日期的数据。')
return false
}
this.jyxmrqShow = true
},
closeJyxmrqDialog() {
this.jyxmrqShow = false
},
onRowClick(row) {
this.$refs.jdjyxmData.toggleRowSelection(row)
},
batchUpd() {
for (let i = 0; i < this.$refs.jdjyxmData.selection.length; i++) {
this.$refs.jdjyxmData.selection[i].querenriqi = this.querenriqi
}
this.jyxmrqShow = false
}
}
}
</script>
<style>
.el-input__inner {
border: 1px solid #00000075;
border-radius: 4px;
}
.el-textarea__inner {
border: 1px solid #91393975;
border-radius: 4px;
}
.el-form-item__error {
padding-top: 0px;
position: absolute;
}
.el-input.is-disabled .el-input__inner {
color: #606266;
}
.el-textarea.is-disabled .el-textarea__inner {
color: #606266;
}
.el-dialog__body {
padding-top: 10px;
}
</style>

211
src/views/ysjl/8000/jj/fenxiang/ajlsy.vue

@ -1,211 +0,0 @@
<!--氨检漏试验记录-->
<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="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="氨浓度" prop="annongdu">
<el-input v-model="param.annongdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力表量程" prop="yalibiaoliangcheng">
<el-input v-model="param.yalibiaoliangcheng" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压力表精度" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</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="shizhi">
<el-input v-model="param.shizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="保压时间" prop="baoyashijian">
<el-input v-model="param.baoyashijian" :disabled="edit">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="jiaohejieguo">
<el-input v-model="param.jiaohejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgAjlsy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
chTableData: [],
delRowIndex: [],
dialogImageUrl: '',
dialogVisible: false,
fileList: [],
upLoadData: {
ysjlId: ''
},
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.upLoadData.ysjlId = data.ysjl.id
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/ajlsy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const d = {
}
this.chTableData.push(d)
setTimeout(() => {
this.$refs.chTableData.setCurrentRow(d)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.chTableData.splice(this.delRowIndex[i], 1)
}
this.$refs.chTableData.clearSelection()
this.delRowIndex = []
}
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

597
src/views/ysjl/8000/jj/fenxiang/aqfj.vue

@ -1,597 +0,0 @@
<!-- 安全附件分项页面 -->
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道编号" prop="guandaobianhao">
<el-input v-model="param.guandaobianhao" :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">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计压力" prop="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="最高工作压力" prop="gongzuoyali">
<el-input v-model="param.gongzuoyali" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="设计温度" prop="shejiwendu">
<el-input v-model="param.shejiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="gongzuowendu">
<el-input v-model="param.gongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="gongzuojiezhi">
<el-input v-model="param.gongzuojiezhi" :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="ylbshejiguidingshu">
<el-input v-model="param.ylbshejiguidingshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实际安装数" prop="ylbshijianzhuangshu">
<el-input v-model="param.ylbshijianzhuangshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="ylbanzhuangweizhi">
<el-input v-model="param.ylbanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="ylbyouxiaoqi">
<el-input v-model="param.ylbyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="量程" prop="ylbliangcheng">
<el-input v-model="param.ylbliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="精度" prop="ylbjingdu">
<el-input v-model="param.ylbjingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="表盘直径" prop="ylbbiaopanzhijing">
<el-input v-model="param.ylbbiaopanzhijing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="外观质量" prop="ylbwaiguanzhiliang">
<el-input v-model="param.ylbwaiguanzhiliang" :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="cwyshejiguidingshu">
<el-input v-model="param.cwyshejiguidingshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实际安装数" prop="cwyshijianzhuangshu">
<el-input v-model="param.cwyshijianzhuangshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="cwyanzhuangweizhi">
<el-input v-model="param.cwyanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="cwybyouxiaoqi">
<el-input v-model="param.cwybyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="量程" prop="cwyliangcheng">
<el-input v-model="param.cwyliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="精度" prop="cwyjingdu">
<el-input v-model="param.cwyjingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="外观质量" prop="cwybwaiguan">
<el-input v-model="param.cwybwaiguan" :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="aqfshuliang">
<el-input v-model="param.aqfshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="aqfxinghao">
<el-input v-model="param.aqfxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfgongchengyali">
<el-input v-model="param.aqfgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfgongchengtongjing">
<el-input v-model="param.aqfgongchengtongjing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>安全阀检查情况</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="数量" prop="aqfsjshuliang">
<el-input v-model="param.aqfsjshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="aqfsjxinghao">
<el-input v-model="param.aqfsjxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称压力" prop="aqfsjgongchengyali">
<el-input v-model="param.aqfsjgongchengyali" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称通径" prop="aqfsjgongchengtongjing">
<el-input v-model="param.aqfsjgongchengtongjing" :disabled="edit">
<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="aqfkaiqiyali">
<el-input v-model="param.aqfkaiqiyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="工作温度" prop="aqfgongzuowendu">
<el-input v-model="param.aqfgongzuowendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="工作介质" prop="aqfgongzuojiezhi">
<el-input v-model="param.aqfgongzuojiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="外观质量" prop="aqfwaiguanzhiliang">
<el-input v-model="param.aqfwaiguanzhiliang" :disabled="edit">
<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="aqfyouxiaoqi">
<el-input v-model="param.aqfyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="铅封" prop="aqfqianfeng">
<el-input v-model="param.aqfqianfeng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="aqfanzhuangweizhi">
<el-input v-model="param.aqfanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="aqfhegezhengbianhao">
<el-input v-model="param.aqfhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="aqfzhizaoxukezheng">
<el-input v-model="param.aqfzhizaoxukezheng" :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="bppshuliang">
<el-input v-model="param.bppshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="bppxinghao">
<el-input v-model="param.bppxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="规格" prop="bppguige">
<el-input v-model="param.bppguige" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="爆破应力" prop="bppbaopoyingli">
<el-input v-model="param.bppbaopoyingli" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="公称直径" prop="bppgongchengzhijing">
<el-input v-model="param.bppgongchengzhijing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料" prop="bppsjcailiao">
<el-input v-model="param.bppsjcailiao" :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="bppsjshuliang">
<el-input v-model="param.bppsjshuliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型号" prop="bppsjxinghao">
<el-input v-model="param.bppsjxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="规格" prop="bppsjguige">
<el-input v-model="param.bppsjguige" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="公称直径" prop="bppsjgongchengzhijing">
<el-input v-model="param.bppsjgongchengzhijing" :disabled="edit">
<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="bppwaiguanzhiliang">
<el-input v-model="param.bppwaiguanzhiliang" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="bppyouxiaoqi">
<el-input v-model="param.bppyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="安装位置" prop="bppanzhuangweizhi">
<el-input v-model="param.bppanzhuangweizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="合格证编号" prop="bpphegezhengbianhao">
<el-input v-model="param.bpphegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="制造许可证" prop="bppzhizaoxukezheng">
<el-input v-model="param.bppzhizaoxukezheng" :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="jjqdzzxukezhenghao">
<el-input v-model="param.jjqdzzxukezhenghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="合格证编号" prop="jjqdzzhegezhengbianhao">
<el-input v-model="param.jjqdzzhegezhengbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="型式及规格" prop="jjqdzzxingshiguige">
<el-input v-model="param.jjqdzzxingshiguige" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="切断时间" prop="jjqdzzqieduanshijian">
<el-input v-model="param.jjqdzzqieduanshijian" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="有效期" prop="jjqdzzyouxiaoqi">
<el-input v-model="param.jjqdzzyouxiaoqi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="耐压试验" prop="jjqdzznaiyashiyanyali">
<el-input v-model="param.jjqdzznaiyashiyanyali" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="密封压力试验" prop="jjqdzzmibishiyanyali">
<el-input v-model="param.jjqdzzmibishiyanyali" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="铅封" prop="jjqdzzqianfeng">
<el-input v-model="param.jjqdzzqianfeng" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset style="display: none;">
<legend>检验信息</legend>
<el-form-item label="" prop="jianyanrenyuan">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgAqfj',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
bppxinghao: '—',
bppshuliang: '—',
bppguige: '—',
bppgenghuanzhouqiyaoqiu: '—',
bppgenghuariqi: '—',
bppanzhuangweizhi: '—',
jjqdzzxingshiguige: '—',
jjqdzzshuliang: '—',
jjqdzznaiyashiyanyali: '—',
jjqdzzmibishiyanyali: '—',
jjqdzzqieduanshijian: '—',
jjqdzzjianxiujilu: '—',
jjqdzzanzhuangweizhi: '—',
jjqdzzwaiguan: '—',
ywjxingshi: '—',
ywjshuliang: '—',
ywjrongqichongzhuangliang: '—',
ywjanzhuangweizhi: '—',
ywjwaiguan: '—',
ywjwucha: '±',
cwybxinghao: '—',
cwybyouxiaoqi: '—',
cwybwaiguan: '—',
qxrgshiyanyali: '—',
qxrgshiyanjiezhi: '—',
qxrgbaoyashijian: '—',
yxrgshiyanyali: '—',
yxrgshiyanjiezhi: '—',
yxrgbaoyashijian: '—',
kuaikaimenjianyanjieguo: '合格'
},
state: '',
edit: false,
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
ysjl: this.ysjl,
param: this.param,
jyxm: this.$route.query.jyxm,
state: this.state
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
})
},
//
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)
}
}
}
}
</script>

296
src/views/ysjl/8000/jj/fenxiang/bhcd.vue

@ -1,296 +0,0 @@
<!--壁厚测定-->
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit">
<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="guanjianceliangbili">
<el-input v-model="param.guanjianceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子测量比例" prop="guanziceliangbili">
<el-input v-model="param.guanziceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="实测点数" prop="shicedianshu">
<el-input v-model="param.shicedianshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实测最小壁厚" prop="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit">
<template slot="append">
(mm)
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>测厚记录</legend>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</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 type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" 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" label="厚度(mm)">
<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" 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" 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" 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="115px" 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="115px" 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="115px" label="厚度(mm)">
<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="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgBhcd',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {
guanjianceliangbili: ' % 个',
guanziceliangbili: ' % 个',
yijingguanceliangbili: ' % 个',
qitaceliangbili: ' % 段',
jiancejieguo: '符合设计规定/ 需强度校核'
},
tableData: [],
delRowIndex: [],
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/bhcd/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const row = {}
this.tableData.push(row)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(row)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
}
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

207
src/views/ysjl/8000/jj/fenxiang/czmxb.vue

@ -1,207 +0,0 @@
<!--化学成分分析-->
<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">
<el-tabs v-model="checkedTab" type="card">
<el-tab-pane label="基本信息" name="first">
<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-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="选择日期" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-tab-pane>
<el-tab-pane label="焊接人员持证项目明细表" name="second">
<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=""
>
<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="tableJs.addRow($refs.tableData, {})">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe @row-click="onRowClick">
<el-table-column type="selection" align="center" width="40" />
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column prop="C1" width="150" align="center" label="焊接人员姓名">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C2" label="代号">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="持证项目">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" type="textarea" autosize :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="300" prop="C4" label="有效期">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" type="textarea" autosize :disabled="edit" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="无损检测人员持证项目明细表" name="third">
<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="uploadTableData2"
style="float: left; margin-right: 10px;"
action=""
>
<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="tableJs.addRow($refs.tableData2, {})">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData2)">
删除
</el-button>
<el-table id="myTable2" ref="tableData2" :data="tableData2" :row-class-name="tableRowClassName" border stripe @row-click="onRowClick2">
<el-table-column type="selection" align="center" width="40" />
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column prop="C1" width="150" align="center" label="无损检测人员姓名">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C2" label="持证项目">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="300" prop="C3" label="有效期">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgCzmxb',
components: { Sticky, btn },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
tableData2: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
if (data.param.fubiao) {
this.tableData = JSON.parse(data.param.fubiao)
}
if (data.param.fubiao2) {
this.tableData2 = JSON.parse(data.param.fubiao2)
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.ysjl.beizhu = ''
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, undefined, undefined, this.tableData2)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
//
onRowClick2(row) {
this.$refs.tableData2.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
//
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
//
uploadTableData2(file) {
this.common.uploadTableData(file, this.tableData2)
},
/**
* 数据构建
*/
beforeSaveBuildData() {
// TODO
}
}
}
</script>
<style>
#myTable {
width: 99%;
}
#myTable2 {
width: 99%;
}
</style>

139
src/views/ysjl/8000/jj/fenxiang/gzaqqrb.vue

@ -1,139 +0,0 @@
<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="使用单位代表">
<el-input v-model="param.shiyongdanweidaibiao" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="日期">
<el-date-picker v-model="param.shiyongdanweiquerenriqi" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>工作安全确认表</legend>
<el-table :data="tableData" border stripe style="width: 100%;">
<el-table-column align="center" prop="C1" width="100" label="项次" />
<el-table-column align="center" prop="C2" width="600" label="内容">
<template slot-scope="scope">
<span v-if="scope.row.C1 !== '其他'">{{ scope.row.C2 }}</span>
<el-input v-else v-model="scope.row.C2" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" width="300" label="检查结果">
<template slot-scope="scope">
<el-checkbox-group v-model="scope.row.C3" @change="change(scope.row.C3)">
<el-checkbox v-for="item in scope.row.C3" :key="item.key" :label="item.label" />
</el-checkbox-group>
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgGzaqqrb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
tableData: [],
edit: false,
state: '',
param: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
this.buildTableData()
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
buildTableData() {
if (this.tableData.length === 0) {
this.tableData = [
{ C1: '1', C2: '检验工作周围是否有易燃、易爆、有害介质', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '2', C2: '扶梯及脚手架是否牢靠', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '3', C2: '缺氧环境含氧量份析报告', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '4', C2: '用电是否有漏电保护器,检验用灯具及工具是否符合要求', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '5', C2: '所用仪器是否安全可靠,是否在校定周期内', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '6', C2: '管道内部介质排除干净,用盲板隔断所有液体、气体或蒸汽的来源,设置明显的隔离标志', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '7', C2: '对输送易燃、助燃、毒性或窒息性介质的管道,应进行置换、中和、消毒,清洗。对于输送易燃介质的管道,严禁用空气置换', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '8', C2: '必须切断与管道或相邻设备有关的电源,拆除保险丝,并设置明显的安全标志', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '9', C2: '现场射线检验时,应隔离出透照区,设置安全标志', C3: '符合要求☑;不符合要求□;无此项□' },
{ C1: '其他', C2: '', C3: '符合要求☑;不符合要求□;无此项□' }
]
}
/**
* 将检验结果字符串转换成适应单选框的所需数据
* 最后一个变量为选中的label
* [{label:'a', key: '0_0'},{label:'b', key: '0_1'},{label:'c', key: '0_2'},'d']
*/
for (let i = 0; i < this.tableData.length; i++) {
const temp = this.tableData[i].C3.split(';')
const C3Array = this.tableData[i].C3.replace(/□/g, '').replace(/☑/g, '').split(';')
let C3Check = ''
for (let j = 0; j < temp.length; j++) {
if (temp[j].indexOf('☑') !== -1) {
C3Check = C3Array[j]
}
C3Array[j] = { label: C3Array[j], key: i + '_' + j }
}
if (C3Check) {
C3Array.push(C3Check)
}
this.tableData[i].C3 = C3Array
}
},
/**
* 因为最后一个变量为被选中的变量那么将删除最后一个变量的前一个变量
* 需要保证被删除的变量必须是上次选中的数据因为每个选项都存在label所以判断label是否存在
*/
change(row) {
if (!row[row.length - 2].label) {
row.splice(row.length - 2, 1)
}
}
}
}
</script>

175
src/views/ysjl/8000/jj/fenxiang/hlsjl.vue

@ -1,175 +0,0 @@
<!--卤素检漏试验记录-->
<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="yiqijingduliangcheng">
<el-input v-model="param.yiqijingduliangcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测方式" prop="jiancefangshi">
<el-input v-model="param.jiancefangshi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="示漏气体" prop="shilouqiti">
<el-input v-model="param.shilouqiti" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="保压时间" prop="naiyashijian">
<el-input v-model="param.naiyashijian" :disabled="edit">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="泄漏率" prop="xieloulv">
<el-input v-model="param.xieloulv" :disabled="edit">
<template slot="append">
Paml/s
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验部位图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgHlsjl',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogImageUrl: '',
dialogVisible: false,
fileList: [],
upLoadData: {
ysjlId: ''
},
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.upLoadData.ysjlId = data.ysjl.id
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/hlsjl/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

193
src/views/ysjl/8000/jj/fenxiang/hxcf.vue

@ -1,193 +0,0 @@
<!--化学成分分析-->
<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="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
</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">
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</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="quyangfangfa">
<el-input v-model="param.quyangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试件编号" prop="shijianbianhao">
<el-input v-model="param.shijianbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="fangfabiaozhun">
<el-input v-model="param.fangfabiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>化验结果记录</legend>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe style="width:100%;margin-top: 5px;">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" />
<el-table-column prop="C1" align="center" label="A">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C2" label="B">
<template slot-scope="scope">
<el-input v-model="scope.row.C2" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C3" label="C">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C4" label="D">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="E">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C6" label="F">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="fenxijieguo">
<el-input v-model="param.fenxijieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgHxcf',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
}
if (this.tableData.length === 0) {
this.tableData = [{ C1: 'C', C2: '', C3: 'Mo', C4: '', C5: 'Ti', C6: '' }, { C1: 'Si', C2: '', C3: 'V', C4: '', C5: 'Nb', C6: '' },
{ C1: 'Mn', C2: '', C3: 'Al', C4: '', C5: 'Cu', C6: '' }, { C1: 'S', C2: '', C3: 'Cr', C4: '', C5: '', C6: '' },
{ C1: 'P', C2: '', C3: 'Ni', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }, { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' }]
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

180
src/views/ysjl/8000/jj/fenxiang/jxfx.vue

@ -1,180 +0,0 @@
<!--金相分析-->
<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="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="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="取样部位" prop="quyangbuwei">
<el-input v-model="param.quyangbuwei" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试样编号" prop="shiyangbianhao">
<el-input v-model="param.shiyangbianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="fenxiyiqixinghao">
<el-input v-model="param.fenxiyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="放大倍数" prop="fangdabeishu">
<el-input v-model="param.fangdabeishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="腐蚀方法" prop="fushifangfa">
<el-input v-model="param.fushifangfa" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="抛光方法" prop="paoguangfangfa">
<el-input v-model="param.paoguangfangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>金相照片或分析部位</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="分析结果" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgJxfx',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
fileList: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/jxfx/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

187
src/views/ysjl/8000/jj/fenxiang/mxb2.vue

@ -1,187 +0,0 @@
<!--性能参数一览表-->
<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">
<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=""
>
<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" @click="tableJs.addRow($refs.tableData, {})">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="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="115px" 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="115px" label="介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" width="115px" label="管道规格">
<el-table-column align="center" prop="C7" width="115px" label="公称直径(mm)">
<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="115px" label="公称壁厚(mm)">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="管道长度(m)">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="130px" label="起止点">
<el-table-column align="center" prop="C10" width="130px" label="起点">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="130px" label="终点">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="90px" label="设计条件">
<el-table-column align="center" prop="C12" width="90px" label="温度(℃)">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="90px" label="压力(MPa)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="90px" label="工作条件">
<el-table-column align="center" prop="C14" width="90px" label="温度(℃)">
<template slot-scope="scope">
<el-input v-model="scope.row.C14" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C15" width="90px" label="压力(MPa)">
<template slot-scope="scope">
<el-input v-model="scope.row.C15" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="C16" width="120px" label="备注(图号)">
<template slot-scope="scope">
<el-input v-model="scope.row.C16" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgMxb2',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
//
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
/**
* 数据构建
*/
beforeSaveBuildData() {
this.tableData.forEach(row => {
row.C1 = row.index + 1
})
}
}
}
</script>
<style>
#myTable {
width: 99%;
}
</style>

272
src/views/ysjl/8000/jj/fenxiang/nyjh.vue

@ -1,272 +0,0 @@
<!--耐压校核-->
<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="guandaobianhao">
<el-input v-model="param.guandaobianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="校核部位" prop="bihoujiaohebuwei">
<el-input v-model="param.bihoujiaohebuwei" :disabled="edit" />
<!--<el-select v-model="param.bihoujiaohebuwei" :disabled="edit" style="width:230px" @change="jhbwChange">
<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="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="允许/监控使用压力" prop="yunxushiyongyali">
<el-input v-model="param.yunxushiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="允许/监控使用温度" prop="yunxushiyongwendu">
<el-input v-model="param.yunxushiyongwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="材料许用应力" prop="cailiaoxuyongyingli">
<el-input v-model="param.cailiaoxuyongyingli" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="焊接接头系数" prop="hanjiejietouxishu">
<el-input v-model="param.hanjiejietouxishu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="温差应力影响系数Y" label-width="150px" prop="wenchayinglixishu">
<el-input v-model="param.wenchayinglixishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="腐蚀裕量C" prop="fushiyuliang">
<el-input v-model="param.fushiyuliang" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子实测外径" prop="shicewaijing">
<el-input v-model="param.shicewaijing" :disabled="edit">
<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="wantouwanqubanjing">
<el-input v-model="param.wantouwanqubanjing" :disabled="edit">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="焊制三通强度削弱系数" label-width="160px" prop="qiangduxueruoxishu">
<el-input v-model="param.qiangduxueruoxishu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="校核标准" prop="jiaohexuanyongbiaozhun">
<el-input v-model="param.jiaohexuanyongbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" style="height: 100px;">
<el-col :span="18">
<el-form-item label="校核参数取值说明" prop="quzhishuoming">
<el-input v-model="param.quzhishuoming" :disabled="edit" type="textarea" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>
壁厚校核计算
</legend>
<div v-show="ttShow">
<span>直管壁厚计算:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shicewaijing" style="width: 70px" disabled /> / 2 * [<el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> + <el-input v-model="param.yunxushiyongyali" style="width: 70px" disabled /> * <el-input v-model="param.wenchayinglixishu" style="width: 70px" disabled @change="jisuan" />]</pre>
<pre> = <el-input v-model="param.jiaohejisuan" disabled style="width: 150px" /> mm</pre>
</div>
<div v-show="qxftShow">
<span>球形封头:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shiceneijing" style="width: 70px" disabled /> / [ 4 * <el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> - <el-input v-model="param.yunxushiyongyali" style="width: 100px" disabled /> ] </pre>
<pre> = <el-input v-model="param.jiaohejisuan" style="width: 150px" disabled /> mm</pre>
</div>
<div v-show="tyqxShow">
<span>椭圆形形封头:</span>
<pre>ts = <el-input v-model="param.jiaohegongshi" style="width: 500px;" disabled /></pre>
<pre> = <el-input v-model="param.fengtouxingzhuangxishu" style="width: 70px;" disabled /> * <el-input v-model="param.yunxushiyongyali" style="width: 70px;" disabled /> * <el-input v-model="param.shiceneijing" style="width: 70px" disabled /> / [ 2 * <el-input v-model="param.cailiaoxuyongyingli" style="width: 70px" disabled /> * <el-input v-model="param.hanjiejietouxishu" style="width: 70px" disabled /> - 0.5 * <el-input v-model="param.yunxushiyongyali" style="width: 70px" disabled /> ] + <el-input v-model="param.jiaoheczhi" :disabled="edit" style="width: 100px" @change="jisuan" /></pre>
<pre> = <el-input v-model="param.jiaohejisuan" disabled style="width: 150px" /> mm</pre>
</div>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="校核结果" prop="jiaohejieguo">
<el-input v-model="param.jiaohejieguo" :disabled="edit" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgNyjh',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
bihoujiaohebuwei: '直管壁厚计算',
jiaohegongshi: 'PD0 / 2([σ]tEj+ PY)',
jiaoheguocheng: '',
jiaohejieguo: '按 ---标准校核通过 。'
},
state: 'create',
edit: false,
ttShow: true,
qxftShow: false,
tyqxShow: false
}
},
computed: {
jiaoheczhi: function() {
this.jisuan()
return this.param.jiaohejisuan
}
},
watch: {
jiaoheczhi: function(val) {
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
})
},
jhbwChange(val) {
if (val === '直管壁厚计算') {
this.ttShow = true
this.qxftShow = false
this.tyqxShow = false
this.param.jiaohegongshi = 'PD0 / 2([σ]tEj+ PY)'
} else if (val === '椭圆形封头') {
this.ttShow = false
this.qxftShow = false
this.tyqxShow = true
this.param.jiaohegongshi = 'Ρ * Di /[4 * (σ)t * φ - P ]'
} else if (val === '球形封头') {
this.ttShow = false
this.qxftShow = true
this.tyqxShow = false
this.param.jiaohegongshi = 'K * Ρ * Di /[2 * (σ)t * φ- 0.5 * P ] + C'
}
this.jisuan()
},
jisuan() {
let result = 0
if (this.param.bihoujiaohebuwei === '直管壁厚计算') {
result = this.param.yunxushiyongyali * this.param.shicewaijing / (2 * (this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu + this.param.yunxushiyongyali * this.param.wenchayinglixishu))
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shicewaijing + ' / 2 * [ ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' + ' + this.param.yunxushiyongyali + ' * ' + this.param.wenchayinglixishu + ']'
} else if (this.param.bihoujiaohebuwei === '椭圆形封头') {
result = this.param.fengtouxingzhuangxishu * this.param.yunxushiyongyali * this.param.shiceneijing / (2 * this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu - (0.5 * this.param.yunxushiyongyali)) * 1000 + parseInt(this.param.jiaoheczhi * 1000)
this.param.jiaoheguocheng = this.param.fengtouxingzhuangxishu + ' * ' + this.param.yunxushiyongyali + ' * ' + this.param.shiceneijing + ' / [ 2 * ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' - 0.5 ' + ' * ' + this.param.yunxushiyongyali + ' ] + ' + this.param.jiaoheczhi
} else if (this.param.bihoujiaohebuwei === '球形封头') {
result = this.param.yunxushiyongyali * this.param.shiceneijing / (4 * this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu - this.param.yunxushiyongyali) * 1000
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shiceneijing + ' / [ 4 * ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' - ' + this.param.yunxushiyongyali + ' ] '
} else {
// 使
result = this.param.yunxushiyongyali * this.param.shicewaijing / (2 * (this.param.cailiaoxuyongyingli * this.param.hanjiejietouxishu + this.param.yunxushiyongyali * this.param.wenchayinglixishu))
this.param.jiaoheguocheng = this.param.yunxushiyongyali + ' * ' + this.param.shicewaijing + ' / 2 * [ ' + this.param.cailiaoxuyongyingli + ' * ' + this.param.hanjiejietouxishu + ' + ' + this.param.yunxushiyongyali + ' * ' + this.param.wenchayinglixishu + ']'
}
this.param.jiaohejisuan = isNaN(result) ? null : result
}
}
}
</script>

262
src/views/ysjl/8000/jj/fenxiang/nysy.vue

@ -1,262 +0,0 @@
<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="shebeimingcheng">
<el-input v-model="ysjl.shebeimingcheng" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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="shiyongyali">
<el-input v-model="param.shiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验压力" prop="shiyanyali">
<el-input v-model="param.shiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<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-row>
<el-row v-if="ysjl.jianyanxiangmu === 'nysy'" :gutter="20">
<el-col :span="9">
<el-form-item label="机泵出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="机泵出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="ysjl.jianyanxiangmu === 'xlsy'" :gutter="20">
<el-col :span="9">
<el-form-item label="压气设备出口压力表规格" label-width="160px" prop="yalibiaoguige">
<el-input v-model="param.yalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压气设备出口压力表精度" label-width="160px" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管线压力表规格" prop="guanxianyalibiaoguige">
<el-input v-model="param.guanxianyalibiaoguige" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管线压力表精度" prop="guanxianyalibiaojingdu">
<el-input v-model="param.guanxianyalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col v-if="ysjl.jianyanxiangmu === 'nysy'" :span="9">
<el-form-item label="机泵型号" prop="jibengxinghao">
<el-input v-model="param.jibengxinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col v-if="ysjl.jianyanxiangmu === 'xlsy'" :span="9">
<el-form-item label="压气设备型号" prop="yaqishebeixinghao">
<el-input v-model="param.yaqishebeixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>实际试验曲线</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item v-if="ysjl.jianyanxiangmu === 'nysy'" label="压力试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item v-if="ysjl.jianyanxiangmu === 'xlsy'" label="泄漏性试验结论" prop="shiyanjielun">
<el-input v-model="param.shiyanjielun" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgNysy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogVisible: false,
edit: false,
fileList: [],
state: '',
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/nysy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>

215
src/views/ysjl/8000/jj/fenxiang/qmxsy.vue

@ -1,215 +0,0 @@
<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="shejiyali">
<el-input v-model="param.shejiyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="允许/监控使用压力" prop="shiyongyali">
<el-input v-model="param.shiyongyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="气密性试验压力" prop="qimishiyanyali">
<el-input v-model="param.qimishiyanyali" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验介质" prop="shiyanjiezhi">
<el-input v-model="param.shiyanjiezhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="介质温度" prop="jiezhiwendu">
<el-input v-model="param.jiezhiwendu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
<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-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力源" prop="yaliyuan">
<el-input v-model="param.yaliyuan" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="试验部位" prop="shiyanbuwei">
<el-input v-model="param.shiyanbuwei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="压力表量程" prop="yalibiaoliangcheng">
<el-input v-model="param.yalibiaoliangcheng" :disabled="edit">
<template slot="append">
MPa
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="压力表精度" prop="yalibiaojingdu">
<el-input v-model="param.yalibiaojingdu" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>试验程序记录</legend>
<el-row :gutter="2" style="font-size: 18px;font-weight: bolder;padding-left: 25px;">
缓慢升至试验压力 <el-input v-model="param.huanshengyali" :disabled="edit" class="underlines" /> MPa
保压 <el-input v-model="param.baoyashijian" :disabled="edit" class="underlines" /> min;
检查容器及连接部位<el-input v-model="param.jyrqxielou" :disabled="edit" class="underlines" /> 泄漏
</el-row>
</fieldset>
<fieldset>
<legend>人员固定图</legend>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="试验结果" prop="shiyanjieguo">
<el-input v-model="param.shiyanjieguo" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
import pictureUpload from '@/components/Upload'
export default {
name: 'GdZbgQmxsy',
components: { Sticky, btn, pictureUpload },
data() {
return {
ysjl: {},
param: {},
dialogVisible: false,
dialogImageUrl: '',
edit: false,
state: '',
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
watch: {
state: function(val) {
this.$refs.picture.stateChange(val)
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/qmxsy/' + this.fileList[i].name
}
}
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, null, this.state, this.$route.query.jyxm)
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
changed(item) {
this.param.imagePath = item
}
}
}
</script>
<style>
.underlines{
width:100px;
height: 40px;
}
.underlines .el-input__inner{
border-top-style: none;
border-left-style: none;
border-right-style: none;
border-radius: 0px;
text-align: center;
}
</style>

251
src/views/ysjl/8000/jj/fenxiang/sxjcfb.vue

@ -1,251 +0,0 @@
<!--射线检测分包-->
<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="shebeimingcheng">
<el-input v-model="param.shebeimingcheng" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格(外径×壁厚)" label-width="150px" prop="shebeiguige">
<el-input v-model="param.shebeiguige" :disabled="edit">
<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="chanpinbianhao">
<el-input v-model="param.chanpinbianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="param.zhuticaizhi" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测技术等级" prop="jishudengji">
<el-input v-model="param.jishudengji" :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="jiancebili">
<el-input v-model="param.jiancebili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测数量(焊口/底片)" label-width="160px" prop="jianceshuliang">
<el-input v-model="param.jianceshuliang" :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" :rowspan="2" type="textarea" />
</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 width="120px" prop="C1" label="序号" align="center">
<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="120px" 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="right" 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="序号">
<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="焊口编号">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="2" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgSxjcfb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {
jiancebili: '抽查 100%',
jianceshuliang: '个 / 张',
jiancebiaozhun: 'NB/T47013.2-2015、《压力管道安全技术监察规程—工业管道》(TSG D0001)\n' +
'《压力管道定期检验规则—工业管道》(TSG D7005)质检特函[2013]61号',
beizhu: '(分包单位: 分包记录编号: )'
},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addRow: function() {
const d = {
C1: (this.tableData.length * 2) + 1,
C5: (this.tableData.length * 2) + 2
}
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
}
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

351
src/views/ysjl/8000/jj/fenxiang/sxzlcc.vue

@ -1,351 +0,0 @@
<!--化学成分分析-->
<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-col :span="9">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<!--<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="项目名称" prop="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道级别" prop="guandaojibie">
<el-input v-model="param.guandaojibie" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="主体材质" prop="zhuticaizhi">
<el-input v-model="ysjl.zhuticaizhi" disabled />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="执行标准" prop="zhixingbiaozhun">
<el-input v-model="param.zhixingbiaozhun" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>-->
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="探伤比例" prop="tanshangbili">
<el-input v-model="param.tanshangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="检测人员" prop="jiancerenyuan">
<el-input v-model="param.jiancerenyuan" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="拍片总数" prop="paipianzongshu">
<el-input v-model="param.paipianzongshu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="抽查片数" prop="chouchapianshu">
<el-input v-model="param.chouchapianshu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="GC类" prop="wsCcblGc">
<!--<el-input v-model="param.wsCcblGc" :disabled="edit" />-->
<el-checkbox v-model="param.wsCcblGc" label="≥5%" :disabled="edit" true-label="5%" false-label="5%" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="GB类" prop="wsCcblGb">
<!--<el-input v-model="param.wsCcblGb" :disabled="edit" />-->
<el-checkbox v-model="param.wsCcblGb" label="≥20%" :disabled="edit" true-label="20%" false-label="20%" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="替代性试验" prop="wsCcblTdxsy">
<!--<el-input v-model="param.wsCcblTdxsy" :disabled="edit" />-->
<el-checkbox v-model="param.wsCcblTdxsy" label="≥50%" :disabled="edit" true-label="50%" false-label="50%" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="穿越段及返修部位" prop="wsCcblCydjfxbw">
<!--<el-input v-model="param.wsCcblCydjfxbw" :disabled="edit" />-->
<el-checkbox v-model="param.wsCcblCydjfxbw" label="≥50%" :disabled="edit" true-label="50%" false-label="50%" />
</el-form-item>
</el-col>
</el-row>
</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=""
>
<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="tableJs.addRow($refs.tableData, { C2: '☑', C4: '☑', C6: '☑' })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData)">
删除
</el-button>
<el-table id="myTable" ref="tableData" :data="tableData" :row-class-name="tableRowClassName" border stripe @row-click="onRowClick">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" />
<el-table-column prop="C1" width="150" align="center" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C2" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C2" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C3" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C4" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C4" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C5" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C6" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C6" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>射线检测现场抽查</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="总焊口数" prop="zonghankoushu">
<el-input v-model="param.zonghankoushu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="抽查比例" prop="sxCcbl">
<el-radio v-model="param.sxCcbl" :disabled="edit" label="1‰">
1
</el-radio>
<el-radio v-model="param.sxCcbl" :disabled="edit" label="2‰,且不少于2个">
2且不少于2个
</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="抽查数量" prop="chouchashu">
<el-input v-model="param.chouchashu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实际比例" prop="shijibili">
<el-input v-model="param.shijibili" :disabled="edit">
<template slot="append">
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<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="uploadTableData2"
style="float: left; margin-right: 10px;"
action=""
>
<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="tableJs.addRow($refs.tableData2, { C2: '☑', C4: '☑', C6: '☑' })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="tableJs.delRow($refs.tableData2)">
删除
</el-button>
<el-table id="myTable2" ref="tableData2" :data="tableData2" :row-class-name="tableRowClassName" border stripe @row-click="onRowClick2">
<el-table-column type="selection" width="40" />
<el-table-column type="index" width="50" label="序号" />
<el-table-column prop="C1" width="150" align="center" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C1" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C2" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C2" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C3" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C4" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C4" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C5" label="抽查底片编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" width="150" prop="C6" label="抽查结果">
<template slot-scope="scope">
<el-checkbox v-model="scope.row.C6" true-label="" false-label="" :disabled="edit" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="备注" prop="beizhu">
<el-input v-model="ysjl.beizhu" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgSxzlcc',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
tableData2: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
//
this.state = 'update'
this.param = data.param
if (data.param.fubiao) {
this.tableData = JSON.parse(data.param.fubiao)
}
if (data.param.fubiao2) {
this.tableData2 = JSON.parse(data.param.fubiao2)
}
} else {
this.$set(this.param, 'jiancerenyuan', '符合')
this.$set(this.param, 'zhixingbiaozhun', 'NB/T47013.2')
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.ysjl.beizhu = ''
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, undefined, undefined, this.tableData2)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
//
onRowClick2(row) {
this.$refs.tableData2.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
//
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
},
//
uploadTableData2(file) {
this.common.uploadTableData(file, this.tableData2)
},
/**
* 数据构建
*/
beforeSaveBuildData() {
// TODO
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

208
src/views/ysjl/8000/jj/fenxiang/ydjc.vue

@ -1,208 +0,0 @@
<!--硬度检测-->
<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="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">
<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="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="rechulizhuangtai">
<el-input v-model="param.rechulizhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="仪器型号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :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="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="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</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 type="index" prop="C1" width="80px" label="序号" align="center">
<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" label="硬 度 值(HB)">
<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" label="硬度测定部位">
<template slot-scope="scope">
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="评定意见" prop="pingdingyijian">
<el-input v-model="param.pingdingyijian" :disabled="edit" type="textarea" rows="4" style="width: 800px;" />
</el-form-item>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgYdjc',
components: { Sticky, btn },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
addChRow: function() {
const d = { C1: this.tableData.length + 1 }
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
}, 10) //
},
delChRow: 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)
}
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>

161
src/views/ysjl/8000/jj/fenxiang/zlsspj.vue

@ -1,161 +0,0 @@
<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="编号">
<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="gongchengmingcheng">
<el-input v-model="param.gongchengmingcheng" disabled />
</el-form-item>
</el-col>-->
<el-col :span="9">
<el-form-item label="检验结论">
<el-input v-model="ysjl.jianyanjielun" />
</el-form-item>
</el-col>
<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="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="存在问题">
<el-input v-model="ysjl.beizhu" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>评价表</legend>
<el-table :data="jyxm" border stripe>
<el-table-column align="center" type="index" />
<el-table-column align="center" prop="jianyanxiang" width="200" label="评价项目" />
<el-table-column align="center" prop="jianyanmu" width="250" label="要求" />
<el-table-column align="center" prop="D2" label="工作见证">
<template slot-scope="scope">
<el-input v-model="scope.row.D2" />
</template>
</el-table-column>
<el-table-column align="center" prop="D1" width="120" label="检查结果">
<template slot-scope="scope">
<el-select v-model="scope.row.D1">
<el-option v-for="item in jyjgs" :key="item" :label="item" :value="item" />
</el-select>
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgZlsspj',
components: { Sticky, btn },
data() {
return {
ysjl: {},
jyxm: [],
tableData: [],
edit: false,
state: '',
param: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
},
jyjgs: ['符合', '不符合', '无此项'],
cols: [
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
return row.jianyanxiang
}
}
]
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param) {
this.state = 'update'
this.param = data.param
this.jyxm = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
if (this.state === 'create') {
this.ysjl.beizhu = ''
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.getJyxm(1)
})
},
/**
* 查询检验项目
*/
getJyxm(sort) {
this.api({
url: '/jyxm/getCyJyxm',
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: sort
}
}).then(data => {
for (let i = 0; i < data.length; i++) {
if (this.state === 'create') {
data[i].D2 = data[i].gongzuojianzheng
data[i].D1 = data[i].jianyanjieguo
} else {
data[i].D2 = this.jyxm[i].D2
data[i].D1 = this.jyxm[i].D1
}
}
this.jyxm = data
this.tableJs.getData(this.cols, null, data)
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false)
})
},
beforeSaveBuildData() {
this.jyxm.forEach(row => {
this.tableData.push({
'D1': row.D1,
'D2': row.D2
})
})
}
}
}
</script>

362
src/views/ysjl/8000/jj/wusun/cfjc.vue

@ -1,362 +0,0 @@
<template>
<div class="app-container">
<sticky 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="shiyongyiqi">
<el-input v-model="param.shiyongyiqi" :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="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-col :span="9">
<el-form-item label="标准试块" prop="biaozhunshikuai">
<el-input v-model="param.biaozhunshikuai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉类型" prop="cifenleixing">
<el-input v-model="param.cifenleixing" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="安匝数" prop="anzashu">
<el-input v-model="param.anzashu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉时间" prop="cihuashijian">
<el-input v-model="param.cihuashijian" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="磁粉方法" prop="cihuafangfa">
<el-input v-model="param.cihuafangfa" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="磁粉电流" prop="cihuadianliu">
<el-input v-model="param.cihuadianliu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="喷洒方式" prop="pensafangfa">
<el-input v-model="param.pensafangfa" :disabled="edit" />
</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-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="150px" 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="缺陷长度(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="80px" 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="150px" label="缺陷位置">
<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="缺陷长度(mm)">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<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" @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: 'GdZbgCfjc',
components: { SignName, Sticky },
data() {
return {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}
},
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 = data.param.fubiao ? JSON.parse(data.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>

373
src/views/ysjl/8000/jj/wusun/csjc.vue

@ -1,373 +0,0 @@
<!--超声检测-->
<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="biaomianzhuangtai">
<el-input v-model="param.biaomianzhuangtai" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="坡口型式" prop="pokouxingshi">
<el-input v-model="param.pokouxingshi" :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="jianceyiqixinghao">
<el-input v-model="param.jianceyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="探头类型" prop="tantouxinghao">
<el-input v-model="param.tantouxinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="标准试块" prop="shikuaixinghao">
<el-input v-model="param.shikuaixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="灵敏度" prop="pingdinglingmindu">
<el-input v-model="param.pingdinglingmindu" :disabled="edit" />
</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="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-col :span="9">
<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 type="index" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="120px" 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="170px" 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="缺陷长度(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="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="缺陷波反射区域">
<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>
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-form-item label="说明" prop="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
</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" @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 Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgCsjc',
components: { SignName, Sticky },
data() {
return {
checkedTab: 'first',
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
edit: false,
dialogImageUrl: '',
fileList: [],
dialogVisible: false,
departmentId: this.$route.query.departmentId,
jianyanrenyuan: '',
ysjlId: this.$route.query.id,
state: '',
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 = data.param.fubiao === null || data.param.fubiao === undefined ? [] : JSON.parse(data.param.fubiao)
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/csjc/' + this.fileList[i].name
}
}
}
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 {
// delRowIndexindex
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
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
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>

362
src/views/ysjl/8000/jj/wusun/stjc.vue

@ -1,362 +0,0 @@
<!--渗透检测-->
<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>

453
src/views/ysjl/8000/jj/wusun/sxjc.vue

@ -1,453 +0,0 @@
<!--射线检测-->
<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="10">
<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="shebeiguige">
<el-input v-model="param.shebeiguige" :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="yuanzhonglei">
<el-input v-model="param.yuanzhonglei" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检测部位" prop="jiancebuwei">
<el-input v-model="param.jiancebuwei" :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">
<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="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-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器型号" prop="yiqixinghao">
<el-input v-model="param.yiqixinghao" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="增感法" prop="zengganfangshi">
<el-input v-model="param.zengganfangshi" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透度计类型" prop="toudujileixing">
<el-input v-model="param.toudujileixing" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="仪器规格" prop="yiqiguige">
<el-input v-model="param.yiqiguige" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电压" prop="guandianya">
<el-input v-model="param.guandianya" :disabled="edit" class="jiancetiaojian">
<template slot="append">
KV
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="管电流" prop="guandianliu">
<el-input v-model="param.guandianliu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mA
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="象质计指数" prop="xiangzhijizhishu">
<el-input v-model="param.xiangzhijizhishu" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="透照方式" prop="touzhaofangshi">
<el-input v-model="param.touzhaofangshi" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="曝光时间" prop="baoguangshijian">
<el-input v-model="param.baoguangshijian" :disabled="edit" class="jiancetiaojian">
<template slot="append">
min
</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片类型" prop="dipianleixing">
<el-input v-model="param.dipianleixing" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="焦距" prop="jiaoju">
<el-input v-model="param.jiaoju" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="黑度" prop="dipianheidu">
<el-input v-model="param.dipianheidu" :disabled="edit" class="jiancetiaojian" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="底片长度" prop="dipianchangdu">
<el-input v-model="param.dipianchangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="有效长度" prop="youxiaochangdu">
<el-input v-model="param.youxiaochangdu" :disabled="edit" class="jiancetiaojian">
<template slot="append">
mm
</template>
</el-input>
</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 type="index" align="center" width="70px" label="序号" />
<el-table-column align="center" prop="C2" width="100px" 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="140px" 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="140px" 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="缺陷高度(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="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="150px" 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="beizhu">
<el-input v-model="param.beizhu" :disabled="edit" type="textarea" rows="3" />
</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 :span="9">
<sign-name :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" @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>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="初评人" prop="chupingren">
<el-input v-model="param.chupingren" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="初评日期" prop="chupingriqi">
<el-date-picker v-model="param.chupingriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="复评人" prop="fupingren">
<el-input v-model="param.fupingren" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="复评日期" prop="fupingriqi">
<el-date-picker v-model="param.fupingriqi" :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 Utils from '../../../../../utils/contact.js'
export default {
name: 'GdZbgSxjc',
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 = data.param.fubiao ? JSON.parse(data.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 {
// delRowIndexindex
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
for (let i = 0; i < this.tableData.length; i++) {
this.tableData[i].C1 = this.tableData[i].index + 1
}
this.param.fubiao = this.tableData
if (valid) {
this.api({
url: url,
method: 'post',
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;
}
.jiancetiaojian {
width: 150px;
}
</style>

366
src/views/ysjl/8000/nd/edit.vue

@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<div class="sub-navbar">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')">
@ -30,10 +30,11 @@
<el-row :gutter="20">
<el-col v-if="state === 'create' || ysjl.jilubianhao === null || ysjl.jilubianhao === ''" :span="13">
<el-form-item label="记录编号">
<el-input v-model="jlbh1" style="width:80px" disabled />
<el-input v-model="jlbh2" style="width:80px" disabled />
<el-input v-model="jlbh3" style="width:80px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4, ysjl.id)" />-
<el-input v-model="jlbh4" style="width:80px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4, ysjl.id)" />
<el-input v-model="jlbh1" style="width:70px" disabled />
<el-input v-model="jlbh2" style="width:70px" disabled />
<el-input v-model="jlbh3" style="width:70px" disabled />-
<el-input v-model="jlbh4" style="width:70px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 + jlbh5, ysjl.id)" />
<el-input v-model="jlbh5" style="width:70px" disabled />
</el-form-item>
</el-col>
<el-col v-else :span="9">
@ -225,9 +226,9 @@
</el-form>
</el-tab-pane>
<el-tab-pane label="工业管道年度检查报告附页" name="second">
<el-table :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:80%">
<el-table :data="bgfyData" :span-method="mergeCols" border stripe style="width:80%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" label="检验项目">
<el-table-column align="center" label="项目">
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanneirong" label="检验内容" />
</el-table-column>
@ -248,12 +249,28 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="工业管道安全管理情况检查表" name="third">
<el-table :data="glqkData" :span-method="tableJs.mergeColRows" border stripe style="width:80%">
<el-form ref="param" class="el-form" label-position="right">
<el-row :gutter="20" style="height:100px">
<el-col :span="18">
<el-form-item label="备注" prop="aqglqkjcjg">
<el-input v-model="param.aqglqkjcjg" :disabled="edit" type="textarea" rows="3" style="width: 700px;" placeholder="(对管道安全管理情况检查结果汇总)" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="glqkData" :span-method="mergeCols" border stripe style="width:80%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="left" prop="jianyanxiang" label="检验内容" />
<el-table-column align="center" prop="jianyanjieguo" label="检查结果">
<el-table-column align="center" label="项目">
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanneirong" label="检验内容" />
</el-table-column>
<el-table-column align="center" prop="beizhu" label="检查结果">
<template slot-scope="scope">
<el-input v-model="scope.row.jianyanjieguo" :disabled="edit" placeholder="请输入内容" />
<el-checkbox-group v-model="glqkjyjg">
<el-checkbox v-for="(item, index) in scope.row.jianyanjieguo" :key="scope.$index+'_'+index" :label="scope.$index+'_'+index" @change="changeGlqkValue(scope.$index,index)">
{{ item }}
</el-checkbox>
</el-checkbox-group>
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="备注">
@ -264,12 +281,30 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="工业管道运行状况检查表" name="forth">
<el-table :data="yxzkData" :span-method="tableJs.mergeColRows" border stripe style="width:90%">
<el-form ref="param" class="el-form" label-position="right">
<el-row :gutter="20" style="height:100px">
<el-col :span="18">
<el-form-item label="备注" prop="yxzkjcjg">
<el-input v-model="param.yxzkjcjg" :disabled="edit" type="textarea" rows="3" style="width: 700px;" placeholder="(对管道运行状况检查结果汇总)" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="yxzkData" :span-method="mergeCols" border stripe style="width:90%">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="left" prop="jianyanxiang" label="检验内容" />
<el-table-column align="center" prop="jianyanjieguo" label="检查结果" width="350">
<el-table-column align="center" label="检验项目">
<el-table-column align="center" prop="xiangmuleibie" label="项目类别" />
<el-table-column align="center" prop="jianyanxiang" label="检验项" />
<el-table-column align="center" prop="jianyanneirong" label="检验内容" />
</el-table-column>
<el-table-column align="left" prop="jianyanjieguo" label="检查结果" width="350">
<template slot-scope="scope">
<el-input v-model="scope.row.jianyanjieguo" :disabled="edit" placeholder="请输入内容" />
<el-checkbox-group v-if="scope.$index !== 18" v-model="yxzkjyjg">
<el-checkbox v-for="(item, index) in scope.row.jianyanjieguo" :key="scope.$index+'_'+index" :label="scope.$index+'_'+index" @change="changeYxzkValue(scope.$index,index)">
{{ item }}
</el-checkbox>
</el-checkbox-group>
<el-input v-else v-model="scope.row.jianyanjieguo" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="beizhu" label="备注">
@ -322,7 +357,7 @@ import jyfa from '../../addJyfa'
import SignName from '@/views/common/SignName'
import Utils from '../../../../utils/contact.js'
export default {
name: 'GdNdYsjl',
name: 'GdNjYsjl',
components: { SignName, Sticky, jyfa },
data() {
return {
@ -332,16 +367,17 @@ export default {
glqkData: [],
yxzkData: [],
aqfjData: [],
jlbh1: 'GD',
jlbh2: '(' + (new Date().getFullYear()) + ')',
jlbh3: '',
jlbh4: 'GC',
jlbh1: 'WT',
jlbh2: 'GYD',
jlbh3: new Date().getFullYear(),
jlbh4: '',
jlbh5: '',
//
jianyanrenyuan: '',
defaultParam: {},
//
// {create=> update=> }
state: this.$route.query.state,
state: this.$route.params.state,
ysjl: this.$route.query.ysjl,
departmentId: this.$route.query.ysjl.departmentId,
param: (this.$route.query.param === null || this.$route.query.param === undefined) ? Object.assign({}, this.defaultParam) : this.$route.query.param,
@ -349,6 +385,12 @@ export default {
//
//
cols: [
{
name: 'xiangmuleibie',
getValue(row) {
return row.xiangmuleibie
}
},
{
name: 'jianyanxiang', // el-table-column prop=''
getValue(row) { //
@ -389,6 +431,8 @@ export default {
similarVisible: false,
similarTableData: [],
isRepeat: false,
glqkjyjg: ['0_0', '1_0', '2_0', '3_0', '4_0', '5_0', '6_0', '7_0', '8_0', '9_0', '10_0', '11_0', '12_0'],
yxzkjyjg: ['0_0', '1_0', '2_0', '3_0', '4_0', '5_0', '6_0', '7_0', '8_0', '9_0', '10_0', '11_0', '12_0', '13_0', '14_0', '15_0', '16_0', '17_0'],
tableData: [],
yxzkHtml1: ''
}
@ -398,25 +442,33 @@ export default {
if (this.state !== 'create') {
return this.ysjl.jilubianhao
}
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 + this.jlbh5
}
},
watch: {
jilubianhao: function(newValue) {
this.judgeRepeat(newValue, this.ysjl.id)
}
},
created() {
if (this.state === 'create') {
//
const tempTime = new Date()
this.ysjl.jianyankaishiriqi = tempTime.getFullYear() + '-' + (tempTime.getMonth() + 1) + '-' + tempTime.getDate()
this.ysjl.jianyanjieshuriqi = tempTime.getFullYear() + '-' + (tempTime.getMonth() + 1) + '-' + tempTime.getDate()
this.ysjl.createTime = tempTime
this.ysjl.createBy = this.$store.getters.nickname
this.dateFormat()
let xcjyrq = (tempTime.getFullYear() + 1) + '-' + (tempTime.getMonth() + 1) + '-' + tempTime.getDate()
xcjyrq = new Date(xcjyrq)
this.ysjl.xiacijianyanriqi = xcjyrq
this.ysjl.jianyanyiju = '《压力管道安全技术监察规程—工业管道》(TSG D0001)《压力管道定期检验规则》(TSG D7005)质检特函[2013]61号'
this.ysjl.jianyanjielun = '符合要求'
this.ysjl.shejiriqi = ' 年 月'
this.param.yanshouriqi = ' 年 月'
this.param.touyongriqi = ' 年 月'
this.getMaxBh()
this.getDepartmentCode()
} else {
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id)
this.getFbJyxm()
}
const jyxmtable = [1, 2, 3]
for (let i = 0; i < jyxmtable.length; i++) {
@ -448,18 +500,68 @@ export default {
Utils.$emit('ysjl-list')
}
},
dateFormat() {
const year = new Date().getFullYear()
const month = new Date().getMonth() + 1 > 9 ? (new Date().getMonth() + 1).toString() : '0' + (new Date().getMonth() + 1)
const day = new Date().getDate() > 9 ? new Date().getDate().toString() : '0' + new Date().getDate()
this.$set(this.ysjl, 'jianyankaishiriqi', year + '-' + month + '-' + day)
this.$set(this.ysjl, 'jianyanjieshuriqi', year + '-' + month + '-' + day)
},
changeGlqkValue(row, col) {
const temp = new RegExp(row + '_')
let glqkFlag = true
for (let i = 0; i < this.glqkjyjg.length; i++) {
if (temp.test(this.glqkjyjg[i])) {
this.glqkjyjg[i] = row + '_' + col
this.glqkjyjg.splice(this.glqkjyjg.length - 1, 1)
glqkFlag = false
break
}
}
if (glqkFlag) {
this.glqkjyjg.splice(this.glqkjyjg.length, 0, row + '_' + col)
}
},
changeYxzkValue(row, col) {
const temp = new RegExp(row + '_')
let yxzkFlag = true
for (let i = 0; i < this.yxzkjyjg.length; i++) {
if (temp.test(this.yxzkjyjg[i])) {
this.yxzkjyjg[i] = row + '_' + col
this.yxzkjyjg.splice(this.yxzkjyjg.length - 1, 1)
yxzkFlag = false
break
}
}
if (yxzkFlag) {
this.yxzkjyjg.splice(this.yxzkjyjg.length, 0, row + '_' + col)
}
},
//
getDepartmentCode() {
this.api({
url: '/department/gainCurrentDepartmentCode',
method: 'get',
params: {
depId: this.$route.query.ysjl.departmentId
}
}).then(data => {
this.jlbh5 = data
this.getMaxBh()
})
},
//
getMaxBh() {
const aheadPart = this.jlbh1 + this.jlbh2 + '-'
const aheadPart = this.jlbh1 + this.jlbh2 + this.jlbh3
this.api({
url: '/ysjl/gainCurrentBh',
method: 'get',
params: {
aheadPart: aheadPart,
hinderPart: this.jlbh4
aheadPart: aheadPart + '-',
hinderPart: this.jlbh5
}
}).then(data => {
this.jlbh3 = data
this.jlbh4 = data
})
},
//
@ -477,7 +579,7 @@ export default {
data = {
ysjlId: this.ysjl.id,
isReport: false,
order: sort
order: sort - 1
}
}
this.api({
@ -487,29 +589,130 @@ export default {
}).then(data => {
switch (sort) {
case 1:
this.bgfyData = data
if (this.state === 'create') {
this.bgfyData = data
}
break
case 2:
this.glqkData = data
if (this.state === 'create') {
for (let i = 0; i < this.glqkData.length; i++) {
this.glqkData[i].jianyanjieguo = this.glqkData[i].jianyanjieguo === null ? '' : this.glqkData[i].jianyanjieguo.split(' □')
this.glqkData[i].jianyanjieguo[0] = this.glqkData[i].jianyanjieguo[0].replace('□', '')
}
} else {
for (let i = 0; i < this.glqkData.length; i++) {
const tempJg = this.glqkData[i].jianyanjieguo.split(';')
this.glqkData[i].jianyanjieguo = this.glqkData[i].jianyanjieguo === null ? '' : this.glqkData[i].jianyanjieguo.replace(/□/g, '').replace(/☑/g, '').split(';')
for (let j = 0; j < tempJg.length; j++) {
if (/☑/.test(tempJg[j])) {
this.glqkjyjg[i] = i + '_' + j
}
}
}
}
break
case 3:
this.yxzkData = data
if (this.state === 'create') {
for (let i = 0; i < this.yxzkData.length - 1; i++) {
this.yxzkData[i].jianyanjieguo = this.yxzkData[i].jianyanjieguo === null ? '' : this.yxzkData[i].jianyanjieguo.split(' □')
this.yxzkData[i].jianyanjieguo[0] = this.yxzkData[i].jianyanjieguo[0].replace('□', '')
}
} else {
for (let i = 0; i < this.yxzkData.length; i++) {
if (i === (this.yxzkData.length - 1)) {
this.yxzkData[i].jianyanjieguo = (this.yxzkData[i].jianyanjieguo === null || this.yxzkData[i].jianyanjieguo === '') ? '' : this.yxzkData[i].jianyanjieguo
} else {
const tempJg = this.yxzkData[i].jianyanjieguo.split(';')
this.yxzkData[i].jianyanjieguo = this.yxzkData[i].jianyanjieguo === null ? '' : this.yxzkData[i].jianyanjieguo.replace(/□/g, '').replace(/☑/g, '').split(';')
for (let j = 0; j < tempJg.length; j++) {
if (/☑/.test(tempJg[j])) {
this.yxzkjyjg[i] = i + '_' + j
}
}
}
}
}
break
}
this.tableJs.getData(this.cols, this.rows, data)
})
},
//
getFbJyxm() {
let url = ''
let data = {}
url = '/jyxm/getCyJyxmByYsjl'
data = {
ysjlId: this.ysjl.id,
isReport: false,
order: 1
}
this.api({
url: url,
method: 'get',
params: data
}).then(data => {
this.bgfyData = data
this.tableJs.getData(this.cols, this.rows, this.bgfyData)
})
},
// id,
getProp: function(data) {
data.forEach((row) => {
if (!row.jianyanjieguo) {
row.jianyanjieguo = ''
const retData = []
for (let i = 0; i < data.length; i++) {
const retRow = {}
retRow.id = data[i].id
if (data[i].jianyanjieguo !== '' && data[i].jianyanjieguo !== null && data[i].jianyanjieguo !== undefined) {
retRow.jianyanjieguo = data[i].jianyanjieguo
}
if (!row.beizhu) {
row.beizhu = ''
if (data[i].beizhu !== '' && data[i].beizhu !== null && data[i].beizhu !== undefined) {
retRow.beizhu = data[i].beizhu
}
})
return data
retData.push(retRow)
}
return retData
},
mergeCols({ row, column, rowIndex }) {
//
for (var j in row.cellRowSpans) {
var _c = row.cellRowSpans[j]
//
if (_c.colProperty === column.property) {
//
if (_c.rowIndex === rowIndex) {
return {
rowspan: _c.rowSpan,
colspan: _c.colSpan
}
} else {
return {
rowspan: 1,
colspan: 1
}
}
}
}
//
for (var i in row.cellSpans) {
var _r = row.cellSpans[i]
//
if (_r.colProperty === column.property) {
//
if (_r.rowIndex === rowIndex) {
return {
rowspan: _r.rowSpan,
colspan: _r.colSpan
}
} else { //
return {
rowspan: 0,
colspan: 0
}
}
}
}
},
toAddJyfa() {
this.jyfaDialogVisible = true
@ -558,7 +761,7 @@ export default {
// status01
bjYsjl(ysjlId, status) {
this.api({
url: '/fx/endFx',
url: '/fenxiang/endFx',
method: 'get',
params: {
ysjlId: ysjlId,
@ -571,7 +774,6 @@ export default {
} else if (status === '1') {
this.$message({ message: '办结成功', type: 'success' })
}
this.$refs.jyfa.getJyfaInfo()
})
},
editChild(id, jianyanxiangmu, departmentId) {
@ -581,18 +783,61 @@ export default {
saveYsjl: function(operation) {
this.tableData = []
this.tableData.push(this.getProp(this.bgfyData))
this.tableData.push(this.glqkData)
const retData = []
for (let i = 0; i < this.glqkData.length; i++) {
//
const retRow = {}
retRow.id = this.glqkData[i].id
retRow.jianyanjieguo = ''
for (let j = 0; j < this.glqkData[i].jianyanjieguo.length; j++) {
if (this.glqkjyjg[i] === i + '_' + j) {
retRow.jianyanjieguo += '☑' + this.glqkData[i].jianyanjieguo[j] + ';'
} else {
retRow.jianyanjieguo += '□' + this.glqkData[i].jianyanjieguo[j] + ';'
}
}
retRow.jianyanjieguo = retRow.jianyanjieguo.substr(0, retRow.jianyanjieguo.length - 1)
if (this.glqkData[i].beizhu !== '' && this.glqkData[i].beizhu !== null && this.glqkData[i].beizhu !== undefined) {
retRow.beizhu = this.glqkData[i].beizhu
}
retData.push(retRow)
}
this.tableData.push(retData)
//
this.tableData.push(this.yxzkData)
let type = ''
const retData2 = []
for (let i = 0; i < this.yxzkData.length; i++) {
//
const retRow = {}
retRow.id = this.yxzkData[i].id
if (i !== (this.yxzkData.length - 1)) {
retRow.jianyanjieguo = ''
for (let j = 0; j < this.yxzkData[i].jianyanjieguo.length; j++) {
if (this.yxzkjyjg[i] === i + '_' + j) {
retRow.jianyanjieguo += '☑' + this.yxzkData[i].jianyanjieguo[j] + ';'
} else {
retRow.jianyanjieguo += '□' + this.yxzkData[i].jianyanjieguo[j] + ';'
}
}
retRow.jianyanjieguo = retRow.jianyanjieguo.substr(0, retRow.jianyanjieguo.length - 1)
} else {
retRow.jianyanjieguo = this.yxzkData[i].jianyanjieguo
}
if (this.yxzkData[i].beizhu !== '' && this.yxzkData[i].beizhu !== null && this.yxzkData[i].beizhu !== undefined) {
retRow.beizhu = this.yxzkData[i].beizhu
}
retData2.push(retRow)
}
this.tableData.push(retData2)
let url = ''
if (operation === 'add') {
type = 'post'
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4
url = '/ysjl/saveYsjl'
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 + this.jlbh5
this.ysjl.bglx = 1
this.ysjl.cjState = 'ysjl'
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH
this.ysjl.jigouhezhunzhenghao = 'TS7110433-2024'
this.ysjl.jlprintState = 0
this.save(operation, type)
this.save(operation, url)
} else if (operation === 'build') {
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') {
this.$message({
@ -614,35 +859,36 @@ export default {
this.$message.error('请先办结无损分项原始记录再生成报告!')
return false
} else {
type = 'put'
this.save(operation, type)
url = '/ysjl/updateYsjl'
this.save(operation, url)
}
})
} else if (operation === 'upd') {
type = 'put'
this.save(operation, type)
url = '/ysjl/updateYsjl'
this.save(operation, url)
}
},
save(operation, type) {
save(operation, url) {
//
if (this.isRepeat) {
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' })
return false
} else if (this.common.judgeBianhao(this.ysjl.jilubianhao) === 0) {
this.$message({ message: '记录编号中包含中文,不符合编号规则', type: 'error' })
return false
} else {
if (!this.ysjl.jilubianhao) {
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') {
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 + this.jlbh5
}
this.$refs['ysjl'].validate(valid => {
if (valid) {
const jyxm = JSON.stringify(this.tableData)
this.api({
url: '/ysjl',
method: type,
url: url,
method: 'post',
data: {
ysjl: this.ysjl,
param: this.param,
jyxm: jyxm,
bgjyxm: jyxm,
jyxm: JSON.stringify(this.tableData),
flag: operation
}
}).then(data => {
@ -673,7 +919,7 @@ export default {
})
}
},
judgeRepeat(bianhao, id) {
judgeRepeat: function(bianhao, id) {
this.api({
url: '/ysjl/judgeRepeat',
method: 'get',

395
src/views/ysjl/8000/nd/fenxiang/aqfj.vue

@ -1,10 +1,23 @@
<!-- 年度检验安全附件 -->
<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">
<div class="app-container" style="margin-top: -15px;">
<div class="sub-navbar">
<sticky style="margin-bottom: 10px;">
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl">
保存
</el-button>
<el-button v-if="state === 'update'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl">
更新
</el-button>
<el-button v-if="state === 'update'" type="warning" icon="el-icon-circle-check-outline" size="medium" @click="bjYsjl('1')">
办结
</el-button>
<el-button v-if="state === 'finish'" type="warning" icon="el-icon-circle-close-outline" size="medium" @click="bjYsjl('0')">
取消办结
</el-button>
</sticky>
</div>
<el-form ref="ysjl" class="el-form" label-position="right">
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
@ -14,31 +27,124 @@
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>检验项目</legend>
<el-table id="myTable" ref="tableData" :span-method="tableJs.mergeColRows" :data="tableData" border stripe style="width:100%;margin-top: 5px;">
<el-table-column type="index" prop="C1" align="center" width="50" label="序号" />
<el-table-column align="left" label="检验项目">
<el-table-column align="center" prop="C2" label="检验项" />
<el-table-column align="left" prop="C3" label="检验内容" />
</el-table-column>
<el-table-column align="center" prop="C4" label="检查结果">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
</el-table>
<el-row :gutter="20" style="height:100px">
<el-col :span="18">
<el-form-item label="备注" prop="jiancejieguo">
<el-input v-model="param.jiancejieguo" :disabled="edit" type="textarea" rows="3" style="width: 700px;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
</el-form>
<el-table id="myTable" ref="aqfjData" :span-method="mergeCols" :data="aqfjData" border stripe style="width:100%;margin-top: 5px;">
<el-table-column type="index" align="center" width="50" label="序号" />
<el-table-column align="center" label="检验项目">
<el-table-column align="center" prop="C1" label="项目类别" />
<el-table-column align="center" width="120" label="有/无">
<template slot-scope="scope">
<el-switch
v-if="scope.$index >= 0 && scope.$index < 9"
v-model="param.aqfanzhuangweizhi"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<el-switch
v-else-if="scope.$index >= 9 && scope.$index < 22"
v-model="param.bppshuliang"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<el-switch
v-else-if="scope.$index >= 22 && scope.$index < 25"
v-model="param.bppguige"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<el-switch
v-else-if="scope.$index >= 25 && scope.$index < 28"
v-model="param.jjqdzzshuliang"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<el-switch
v-else-if="scope.$index >= 28 && scope.$index < 33"
v-model="param.ylbshuliang"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<el-switch
v-else-if="scope.$index >= 33 && scope.$index < 36"
v-model="param.cwybxinghao"
style="display: block"
active-color="#13ce66"
inactive-color="#ff4949"
active-text="有"
inactive-text="无"
active-value="☑有 □无"
inactive-value="□有 ☑无"
/>
<span v-else>其他</span>
</template>
</el-table-column>
<el-table-column align="center" prop="C2" label="检验项" />
<el-table-column align="center" prop="C3" label="检验内容">
<template slot-scope="scope">
<el-input v-if="scope.$index >= 19 && scope.$index <= 22" v-model="scope.row.C3" :rows="4" disabled type="textarea" />
<el-input v-else-if="scope.$index < 36" v-model="scope.row.C3" disabled />
<el-input v-else-if="scope.$index === 36" v-model="scope.row.C3" :disabled="edit" />
<el-input v-else-if="scope.$index === 37" v-model="scope.row.C3" :disabled="edit" />
<el-input v-else v-model="scope.row.C3" :disabled="edit" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="C4" label="检查结果">
<template slot-scope="scope">
<el-checkbox-group v-if="scope.$index < 36" v-model="aqfjjyjg">
<el-checkbox v-for="(item, index) in scope.row.C4" :key="scope.$index+'_'+index" :label="scope.$index+'_'+index" @change="changeAqfjValue(scope.$index,index)">
{{ item }}
</el-checkbox>
</el-checkbox-group>
<el-input v-else v-model="scope.row.C4" :disabled="edit" />
</template>
</el-table-column>
<el-table-column align="center" prop="C5" label="备注">
<template slot-scope="scope">
<el-input v-model="scope.row.C5" :disabled="edit" placeholder="请输入内容" />
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdAqfj',
components: { Sticky, btn },
components: { Sticky },
data() {
return {
ysjl: {},
@ -56,6 +162,12 @@ export default {
//
//
cols: [
{
name: 'C1',
getValue(row) {
return row.C1
}
},
{
name: 'C2', // el-table-column prop=''
getValue(row) { //
@ -63,7 +175,23 @@ export default {
}
}
],
tableData: []
//
rows: [
{
name: 'C2',
getValue(row) {
return row.C2
}
},
{
name: 'C3',
getValue(row) {
return row.C3
}
}
],
aqfjData: [],
aqfjjyjg: []
}
},
created() {
@ -72,7 +200,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -85,18 +213,46 @@ export default {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
this.tableJs.getData(this.cols, null, this.tableData)
this.aqfjData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
for (let i = 0; i < this.aqfjData.length; i++) {
if (i < (this.aqfjData.length - 3)) {
const tempJg = this.aqfjData[i].C4.substring(0, this.aqfjData[i].C4.length - 1).split(';')
this.aqfjData[i].C4 = this.aqfjData[i].C4 === null ? '' : this.aqfjData[i].C4.substring(0, this.aqfjData[i].C4.length - 1).replace(/□/g, '').replace(/☑/g, '').split(';')
for (let j = 0; j < tempJg.length; j++) {
if (/☑/.test(tempJg[j])) {
this.aqfjjyjg.push(i + '_' + j)
}
}
} else {
this.aqfjData[i].C4 = (this.aqfjData[i].C4 === null || this.aqfjData[i].C4 === '') ? '' : this.aqfjData[i].C4
}
}
this.tableJs.getData(this.cols, this.rows, this.aqfjData)
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
this.getJyxm()
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, 'ndAqfj')
})
},
changeAqfjValue(row, col) {
const temp = new RegExp(row + '_')
const last = row + '_' + col
for (let i = 0; i < this.aqfjjyjg.length - 1; i++) {
if (temp.test(this.aqfjjyjg[i])) {
if (this.aqfjjyjg[i] === last) { //
this.aqfjjyjg.splice(this.aqfjjyjg[i])
this.aqfjjyjg.splice(this.aqfjjyjg.length - 1, 1)
} else { //
this.aqfjjyjg[i] = row + '_' + col
this.aqfjjyjg.splice(this.aqfjjyjg.length - 1, 1)
}
}
}
},
getJyxm() {
//
this.api({
@ -104,18 +260,183 @@ export default {
method: 'get',
params: {
templateId: this.ysjl.modelId,
order: 1
order: 4
}
}).then(data => {
data.forEach((v, i) => {
this.tableData.push({
C1: i,
C2: v.jianyanxiang,
C3: v.jianyanneirong,
C4: v.jianyanjieguo
})
})
this.tableJs.getData(this.cols, null, this.tableData)
this.aqfjData = data
if (this.state === 'create') {
for (let i = 0; i < data.length; i++) {
this.aqfjData[i].C1 = data[i].xiangmuleibie
this.aqfjData[i].C2 = data[i].jianyanxiang
this.aqfjData[i].C3 = data[i].jianyanneirong
if (i < data.length - 3) {
this.aqfjData[i].C4 = data[i].jianyanjieguo === null ? '' : data[i].jianyanjieguo.split(' □')
this.aqfjData[i].C4[0] = data[i].C4[0].replace('□', '')
} else {
this.aqfjData[i].C4 = data[i].jianyanjieguo
}
}
}
this.tableJs.getData(this.cols, this.rows, data)
})
},
mergeCols({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 2) {
if (rowIndex === 0) {
return {
rowspan: 9,
colspan: 1
}
} else if (rowIndex === 9) {
return {
rowspan: 13,
colspan: 1
}
} else if (rowIndex === 22 || rowIndex === 25 || rowIndex === 33) {
return {
rowspan: 3,
colspan: 1
}
} else if (rowIndex === 28) {
return {
rowspan: 5,
colspan: 1
}
} else {
return {
rowspan: 0,
colspan: 0
}
}
}
if (rowIndex === 36) {
if (columnIndex === 1) {
return {
rowspan: 3,
colspan: 3
}
} else if (columnIndex === 2 || columnIndex === 3) {
return {
rowspan: 0,
colspan: 0
}
}
}
for (const j in row.cellRowSpans) {
const _c = row.cellRowSpans[j]
//
if (_c.colProperty === column.property) {
//
if (_c.rowIndex === rowIndex) {
return {
rowspan: _c.rowSpan,
colspan: _c.colSpan
}
} else {
return {
rowspan: 1,
colspan: 1
}
}
}
}
//
for (var i in row.cellSpans) {
var _r = row.cellSpans[i]
//
if (_r.colProperty === column.property) {
//
if (_r.rowIndex === rowIndex) {
return {
rowspan: _r.rowSpan,
colspan: _r.colSpan
}
} else { //
return {
rowspan: 0,
colspan: 0
}
}
}
}
},
saveYsjl() {
this.ysjl.bglx = 3
this.param.ysjlId = this.ysjl.id
//
const tableData = []
const jyjgRows = [] //
for (let j = 0; j < this.aqfjjyjg.length; j++) {
jyjgRows.push(this.aqfjjyjg[j].substr(0, this.aqfjjyjg[j].indexOf('_')))
}
for (let i = 0; i < this.aqfjData.length; i++) {
const retObj = {}
this.$set(retObj, 'C1', this.aqfjData[i].C1)
this.$set(retObj, 'C2', this.aqfjData[i].C2)
this.$set(retObj, 'C3', this.aqfjData[i].C3)
this.$set(retObj, 'C4', '')
//
if (i < (this.aqfjData.length - 3)) {
const rowIndex = jyjgRows.indexOf(i + '')
if (rowIndex >= 0) { //
for (let k = 0; k < this.aqfjData[i].C4.length; k++) {
if (this.aqfjjyjg[rowIndex] === i + '_' + k) {
retObj.C4 += '☑' + this.aqfjData[i].C4[k] + ';'
} else {
retObj.C4 += '□' + this.aqfjData[i].C4[k] + ';'
}
}
} else {
for (let k = 0; k < this.aqfjData[i].C4.length; k++) {
retObj.C4 += '□' + this.aqfjData[i].C4[k] + ';'
}
}
} else {
retObj.C4 = this.aqfjData[i].C4
if (i === 36) {
this.param.aqfxinghao = this.aqfjData[i].C3
} else if (i === 37) {
this.param.aqfshuliang = this.aqfjData[i].C3
} else if (i === 38) {
this.param.aqfjianyanriqi = this.aqfjData[i].C3
}
}
this.$set(retObj, 'C5', this.aqfjData[i].C5)
tableData.push(retObj)
}
this.param.fubiao = tableData
this.api({
url: '/fenxiang/saveFx',
method: 'post',
data: {
ysjl: this.ysjl,
jyxm: 'ndAqfj',
fxObj: this.param
}
}).then(data => {
this.$message({ message: '操作成功', type: 'success' })
this.state = 'update'
})
},
// status01
bjYsjl(status) {
this.api({
url: '/fenxiang/endFx',
method: 'get',
params: {
ysjlId: this.ysjl.id,
status: status
}
}).then(data => {
if (status === '0') {
this.state = 'update'
this.edit = false
this.$message({ message: '取消办结成功', type: 'success' })
} else if (status === '1') {
this.state = 'finish'
this.edit = true
this.$message({ message: '办结成功', type: 'success' })
}
})
}
}

200
src/views/ysjl/8000/nd/fenxiang/bhcd.vue

@ -1,6 +1,6 @@
<!-- 年度测厚记录 -->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -14,97 +14,65 @@
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管道规格" label-width="150px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="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 label="单位内编号" prop="danweineibubianhao">
<el-input v-model="ysjl.danweineibubianhao" disabled />
</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="测量仪器型号" label-width="160px" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" label-width="160px" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit">
<el-form-item label="管道规格(外径×壁厚)" label-width="150px" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit">
<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="guanjianceliangbili" label-width="200px">
<el-input v-model="param.guanjianceliangbili" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="管子测量比例" prop="guanziceliangbili">
<el-input v-model="param.guanziceliangbili" :disabled="edit" />
<el-col :span="14">
<el-form-item label="测量仪器型号/精度" label-width="160px" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" style="width: 120px;" />/
<el-input v-model="param.celiangyiqijingdu" :disabled="edit" style="width: 200px;">
<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="shicedianshu">
<el-input v-model="param.shicedianshu" :disabled="edit" />
<el-form-item label="管道材质" prop="guandaocaizhi">
<el-input v-model="param.guandaocaizhi" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="实测最小壁厚" prop="shicezuixiaobihou">
<el-input v-model="param.shicezuixiaobihou" :disabled="edit" />
<el-form-item label="表面状况" prop="biaomianzhuangkuang">
<el-input v-model="param.biaomianzhuangkuang" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>测厚点部位图</legend>
<el-form-item label="图片描述" prop="tupianmiaoshu">
<el-input v-model="param.tupianmiaoshu" :disabled="edit" :rows="3" type="textarea" />
</el-form-item>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传部位图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>测厚记录</legend>
<el-row :gutter="10">
<el-col :span="2" style="width: 150px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="common.downloadTemplate('压力管道壁厚检测记录表.xlsx')">
下载导入模板
<el-button type="success" icon="el-icon-download" title="下载测厚导入模板" size="mini" @click="downloadTemplate">
下载测厚导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="uploadTableData"
:before-upload="beforeBhcdUpload"
style="float: left; margin-right: 10px;"
action="123"
>
@ -112,57 +80,77 @@
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData)">
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addChRow()">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delChRow()">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="tableData" :data="tableData" :row-class-name="tableRowClassName" class="myTable" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table ref="tableData" :data="tableData" :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" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="120px" label="测点编号">
<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="120px" label="测点厚度">
<el-table-column align="center" prop="C2" width="80px" 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="测点编号">
<el-table-column align="center" prop="C3" width="80px" 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="120px" label="测点厚度">
<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="120px" label="测点编号">
<el-table-column align="center" prop="C5" width="80px" 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="120px" label="测点厚度">
<el-table-column align="center" prop="C6" width="80px" label="测点厚度">
<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="测点编号">
<el-table-column align="center" prop="C7" width="80px" 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="测点厚度">
<el-table-column align="center" prop="C8" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="80px" label="测点编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="80px" label="测点编号">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="80px" label="测点厚度">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
<fieldset>
@ -193,6 +181,7 @@ export default {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
fileList: [],
state: '',
edit: false,
@ -218,7 +207,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -239,7 +228,7 @@ export default {
}
}
} else {
// TODO
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -249,6 +238,39 @@ export default {
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1)
})
},
addChRow: function() {
const count = this.tableData.length
const d = { C1: 6 * count + 1, C2: '', C3: 6 * count + 2, C4: '', C5: 6 * count + 3, C6: '', C7: 6 * count + 4, C8: '', C9: 6 * count + 5, C10: '', C11: 6 * count + 6, C12: '' }
this.tableData.push(d)
setTimeout(() => {
this.$refs.tableData.setCurrentRow(d)
}, 10) //
},
delChRow: function() {
if (this.delRowIndex.length === 0) {
this.$message({
type: 'error',
message: '请选中需要删除的数据!'
})
return false
} else {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
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)
@ -256,11 +278,47 @@ export default {
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
changed(item) {
this.param.imagePath = item
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道壁厚测定记录表上传模板.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
beforeBhcdUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadScheduleBhcd',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$message({ message: '上传成功!', type: 'success' })
})
}
}
}

30
src/views/ysjl/8000/jj/fenxiang/wzt.vue → src/views/ysjl/8000/nd/fenxiang/dxt.vue

@ -1,13 +1,23 @@
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<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>
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传检测位置图</span>
<pictureUpload v-else ref="picture" :info="info" @changed="changed" />
<legend>单线图</legend>
<span style="color: red;font-size: 26px;">请在原始记录保存后上传试验单线图</span>
<pictureUpload ref="picture" :info="info" @changed="changed" />
</fieldset>
<fieldset>
<legend>检验信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="检验日期" label-width="135px" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" :disabled="edit" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="" prop="jianyanrenyuan" style="display: none;">
<el-input v-model="ysjl.jianyanrenyuan" type="text" />
</el-form-item>
@ -20,7 +30,7 @@ import Sticky from '@/components/Sticky'
import pictureUpload from '@/components/Upload'
import btn from '@/views/common/FxButton'
export default {
name: 'GdZbgWzt',
name: 'GdZbgNDDxt',
components: { Sticky, btn, pictureUpload },
data() {
return {
@ -31,9 +41,7 @@ export default {
edit: false,
info: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm,
limit: 1,
multiple: false
jyxm: this.$route.query.jyxm
}
}
},
@ -48,7 +56,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -64,9 +72,11 @@ export default {
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath)
if (this.fileList.length > 0) {
for (let i = 0; i < this.fileList.length; i++) {
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/wzt/' + this.fileList[i].name
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '8000/dxt/' + this.fileList[i].name
}
}
} else {
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'

203
src/views/ysjl/8000/nd/fenxiang/dz.vue

@ -1,6 +1,6 @@
<!--年度电阻记录-->
<template>
<div class="app-container">
<div class="app-container" style="margin-top: -15px;">
<sticky style="margin-bottom: 10px;">
<btn ref="btn" />
</sticky>
@ -9,37 +9,37 @@
<legend>基本信息</legend>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="管道规格" prop="guandaoguige">
<el-input v-model="param.guandaoguige" :disabled="edit" />
<el-form-item label="测量仪器型号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :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 label="测量仪器型号" prop="shijiceliangyiqixinghao">
<el-input v-model="param.shijiceliangyiqixinghao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="测量仪器号" prop="celiangyiqixinghao">
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" />
<el-form-item label="测量仪器号" prop="celiangyiqibianhao">
<el-input v-model="param.celiangyiqibianhao" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量仪器精度" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit" />
<el-form-item label="测量仪器编号" prop="shijiceliangyiqibianhao">
<el-input v-model="param.shijiceliangyiqibianhao" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="9">
<el-form-item label="测量数量" prop="celiangshuliang">
<el-input v-model="param.celiangshuliang" :disabled="edit" />
<el-form-item label="精度" prop="celiangyiqijingdu">
<el-input v-model="param.celiangyiqijingdu" :disabled="edit" />
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item label="测量比例" prop="celiangbili">
<el-input v-model="param.celiangbili" :disabled="edit" />
<el-form-item label="精度" prop="shijiceliangyiqijingdu">
<el-input v-model="param.shijiceliangyiqijingdu" :disabled="edit" />
</el-form-item>
</el-col>
</el-row>
@ -48,14 +48,14 @@
<legend>电阻值测量记录</legend>
<el-row :gutter="10">
<el-col :span="2" style="width: 135px;">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="common.downloadTemplate('压力管道电阻值测量情况记录表.xlsx')">
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @click="downloadTemplate">
下载导入模板
</el-button>
</el-col>
<el-col :span="10" style="width: 300px;">
<el-upload
:show-file-list="false"
:before-upload="uploadTableData"
:before-upload="beforeUpload"
style="float: left; margin-right: 10px;"
action="123"
>
@ -63,83 +63,63 @@
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData)">
<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="tableJs.delRow($refs.tableData)">
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="delRow()">
删除
</el-button>
</el-col>
</el-row>
<el-table ref="tableData" :data="tableData" :row-class-name="tableRowClassName" class="myTable" border stripe style="width:100%;margin-top: 5px;" @row-click="onRowClick">
<el-table ref="tableData" :data="tableData" :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" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C1" width="100px" label="管线号">
<el-table-column align="center" prop="C1" 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" label="法兰或螺纹接头">
<el-table-column align="center" prop="C2" width="100px" label="接头形式">
<el-table-column align="center" label="连接方式">
<el-table-column align="center" prop="C2" width="100px" 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" width="100px" label="跨接导线">
<el-table-column align="center" prop="C3" width="100px" 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="100px" label="材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="100px" label="电阻值(Ω)">
<el-table-column align="center" prop="C5" width="100px" 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="100px" label="实测值">
<template slot-scope="scope">
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column align="center" label="系统接地">
<el-table-column align="center" prop="C7" width="100px" label="接地线">
<el-table-column align="center" prop="C3" width="100px" label="螺纹连接数量(对)">
<template slot-scope="scope">
<el-input v-model="scope.row.C7" :disabled="edit" size="mini" />
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" width="100px" label="接地线">
<el-table-column align="center" prop="C8" width="100px" label="规格mm">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="100px" label="材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
<el-table-column align="center" width="100px" label="对地电阻(Ω)">
<el-table-column align="center" prop="C10" width="100px" label="允许值">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="100px" label="实测值">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table-column>
</el-table-column>
<el-table-column align="center" prop="C4" width="100px" 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="100px" 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="100px" label="管道对地电阻值(Ω)">
<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-column align="center" prop="C9" width="100px" label="备 注">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
@ -170,6 +150,7 @@ export default {
ysjl: {},
param: {},
tableData: [],
delRowIndex: [],
state: '',
edit: false,
info: {
@ -184,7 +165,7 @@ export default {
methods: {
getInfo() {
this.api({
url: '/fx',
url: '/fenxiang/getFxByYsjlId',
method: 'get',
params: {
ysjlId: this.$route.query.id,
@ -199,7 +180,7 @@ export default {
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
} else {
// TODO
this.ysjl.jianyanjieshuriqi = this.ysjl.jianyankaishiriqi
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
@ -208,9 +189,71 @@ export default {
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
downloadTemplate() {
this.api({
url: '/upload/downloadTemplate',
method: 'post',
params: {
templateName: '压力管道电阻值测量记录表.xlsx'
}
}).then(data => {
window.open(data)
})
},
//
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
beforeUpload(file) {
//
var index = file.name.lastIndexOf('.')
var ext = file.name.substr(index + 1).toLocaleLowerCase()
if (ext !== 'xls' && ext !== 'xlsx') {
this.$message.error('只能上传xls/xlsx格式的文件')
return false
}
const fd = new FormData()
fd.append('file', file)
fd.append('paramData', JSON.stringify(this.tableData))
this.api({
url: '/upload/uploadSchedule',
method: 'post',
data: fd
}).then(data => {
this.tableData = data
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
this.$message({ message: '上传成功!', type: 'success' })
})
},
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 {
// delRowIndexindex
this.delRowIndex.sort(function(x, y) {
if (x < y) {
return 1
}
if (x > y) {
return -1
}
return 0
})
for (let i = 0; i < this.delRowIndex.length; i++) {
this.tableData.splice(this.delRowIndex[i], 1)
}
this.$refs.tableData.clearSelection()
this.delRowIndex = []
}
},
//
onRowClick(row) {
@ -219,6 +262,12 @@ export default {
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
handleSelectionChange(val) {
this.delRowIndex = []
for (let i = 0; i < val.length; i++) {
this.delRowIndex.push(val[i].index)
}
},
changed(item) {
this.param.imagePath = item
}

168
src/views/ysjl/8000/nd/fenxiang/mxb.vue

@ -1,168 +0,0 @@
<!--性能参数一览表-->
<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>
<el-col :span="9">
<el-form-item label="检验日期" prop="jianyanjieshuriqi">
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" />
</el-form-item>
</el-col>
</el-row>
</fieldset>
<fieldset>
<legend>参数记录</legend>
<el-button type="success" icon="el-icon-download" title="下载导入模板" size="mini" @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">
导入数据
</el-button>
</el-upload>
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" @click="tableJs.addRow($refs.tableData, { C1: true })">
添加
</el-button>
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" @click="tableJs.delRow($refs.tableData)">
删除
</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">
<el-table-column type="selection" width="40" />
<el-table-column type="index" prop="C1" width="50" label="序号" align="center" />
<el-table-column align="center" prop="C2" width="115px" 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="115px" 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="130px" 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="115px" label="规格/(外径mm×壁厚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="80px" label="管道级别">
<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="90px" label="设计/工作压力MPa">
<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="90px" label="设计/工作温度℃">
<template slot-scope="scope">
<el-input v-model="scope.row.C8" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C9" width="115px" label="工作介质">
<template slot-scope="scope">
<el-input v-model="scope.row.C9" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C10" width="115px" label="管道材质">
<template slot-scope="scope">
<el-input v-model="scope.row.C10" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C11" width="70px" label="长度m">
<template slot-scope="scope">
<el-input v-model="scope.row.C11" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C12" width="105px" label="安全状况等级">
<template slot-scope="scope">
<el-input v-model="scope.row.C12" :disabled="edit" size="mini" />
</template>
</el-table-column>
<el-table-column align="center" prop="C13" width="130px" label="注册登记证书编号(或注册代码)">
<template slot-scope="scope">
<el-input v-model="scope.row.C13" :disabled="edit" size="mini" />
</template>
</el-table-column>
</el-table>
</fieldset>
</el-form>
</div>
</template>
<script>
import Sticky from '@/components/Sticky'
import btn from '@/views/common/FxButton'
export default {
name: 'GdNdMxb',
components: { Sticky, btn },
data() {
return {
ysjl: {},
param: {},
tableData: [],
state: '',
edit: false
}
},
created() {
this.getInfo()
},
methods: {
getInfo() {
this.api({
url: '/fx',
method: 'get',
params: {
ysjlId: this.$route.query.id,
jyxm: this.$route.query.jyxm
}
}).then(data => {
this.ysjl = data.ysjl
this.state = 'create'
if (data.param !== null && data.param !== undefined) {
//
this.state = 'update'
this.param = data.param
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao)
}
if (this.ysjl.flowstatus === 4) {
this.state = 'finish'
this.edit = true
}
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm)
})
},
//
onRowClick(row) {
this.$refs.tableData.toggleRowSelection(row)
},
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex
},
uploadTableData(file) {
this.common.uploadTableData(file, this.tableData)
}
}
}
</script>
<style>
#myTable .el-input__inner{
padding: 0px 5px;
text-align: center;
}
</style>
Loading…
Cancel
Save