check4.vue
10.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
<template>
<div class="content">
<div style="width: 100%;text-align: center;font-weight: 600;">每月起重机械安全检查记录</div>
<table>
<tr>
<th>序号:</th>
<th style="width: 19%;">检查因素:</th>
<th style="width: 19%;">检查项目:</th>
<th>检查内容:</th>
<th>检查结果</th>
</tr>
<tr v-for="(item, index) in people" :key="index">
<td class="font">{{ index + 1 }}</td>
<td class="font">{{ item.checkFactors }}</td>
<td class="font">{{ item.inspectionItems }}</td>
<td class="font">{{ item.inspectionContent }}</td>
<td :class="'text-center'">
<select v-model="item.ischeck">
<option value="1">✓</option>
<option value="0" selected>✕</option>
</select>
</td>
</tr>
<tr>
<td colspan="5">
检查情况记录:
<button @click="ww">清空</button>
<br/>
<textarea style="width: 98%;" name="" id="" cols="30" rows="10" v-model="record"> </textarea>
</td>
</tr>
<tr>
<td colspan="3">设备编号:
<a-select
show-search
placeholder="请选择设备编号"
option-filter-prop="children"
:filter-option="filterOption"
v-model="cloum20" style="width: 150px"
>
<a-select-option v-for="item in dictModel" :key="item.title" :value="item.value">{{
item.text
}}
</a-select-option>
</a-select>
</td>
<td colspan="3">特种设备安全总监:
<a-input v-model="recorder" style="width: 40%"></a-input>
</td>
</tr>
<tr>
<td colspan="3">检查日期:
<j-date v-model="recordDate"></j-date>
</td>
</tr>
<tr style="height: 5px;">
<td colspan="5" style="text-align: center;">
<button style="width: 20rem;height: 3rem;" @click="submit">提交</button>
</td>
</tr>
</table>
</div>
</template>
<script>
import {addCheck, getDeviceDict} from '@/api/api'
export default {
data() {
return {
recordDate: '',
recorder: '',
record: '',
cloum20: '',
dictModel: [],
people: [
{
checkFactors: '人的因素',
inspectionItems: '人员配置',
inspectionContent: `1) 应按规定配置起重机安全总监、起重机械安全员、安全责任人和专(兼)安全管理人员;
2) 特种设备总量50台以上(含50台,不含气瓶)的使用单位应逐台落实安全责任人;
3) 特种设备总量20台以上(含20台,不含气瓶)的使用单位应配备专职安全管理员;
4) 使用单位应根据本单位特种设备数量、特性配备相应持证的特种作业人员,并且在使用特种设备时应当每班至少有一名持证的作业人员在岗。
5) 设置安全管理机构的使用单位特种设备安全管理负责人应当取得特种设备安全管理人员资格证书且证书在有效期内。
`,
ischeck: 1,
},
{
checkFactors: '人的因素',
inspectionItems: '持证上岗',
inspectionContent: `特种设备安全管理人员、作业人员应持证上岗,且证书在有效期内。
`,
ischeck: 1,
},
{
checkFactors: '人的因素',
inspectionItems: '人员培训',
inspectionContent: `应按规定定期开展安全培训`,
ischeck: 1,
},
{
checkFactors: '设备因素',
inspectionItems: '设备来源',
inspectionContent: `起重机械应由具有资质的生产单位生产,应具有产品质量证明;安装、改造、重大修理应具有监督或首次检验证书。`,
ischeck: 1,
},
{
checkFactors: '设备因素',
inspectionItems: '抗风防滑装置',
inspectionContent: `1) 按照规定设置抗风防滑装置,并且符合GB/T6067.1-2010《起重机械安全规程:总则》中9.4.1的要求。
2) 进行动作试验,检测钳口夹紧情况、锚定的可靠性以及电气保护装置的工作状况,其顶轨器、自锁式防滑动装置功能是否动作。
3) 其零件无缺损
`,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '设备登记',
inspectionContent: `在投入使用前或投入使用后30日内,向特种设备所在地的直辖市或者设区的市的特种设备安全监督管理部门申请办理使用登记。
将“特种设备使用标志”或者使用单位盖章或者签名确认的复印件悬挂或者固定在特种设备显著位置(当无法悬挂或者固定时,可以放在使用单位的安全技术档案中,同时将使用登记证编号标准在特种设备产品铭牌上或者其他可见部位)。 `,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '特种设备标志',
inspectionContent: `1)\t特种设备标志应至于或者附着于特种设备的显著位置。
2)\t应设置特种设备维修、停用、报废等使用标志。
3)\t在特种设备使用、维修等场所应设置安全标志,安全标志按GB2894《安全标志及其使用导则》。
。 `,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '安全管理机构',
inspectionContent: `使用特种设备总量大于50台(含50台,不含气瓶)的使用单位应设置安全管理机构。`,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '安全管理制度',
inspectionContent: `应建立健全特种设备使用安全管理制度。`,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '安全技术档案',
inspectionContent: `1)\t按台(套)建立安全技术档案;
2)\t档案文件内容和保存期限应满足相关规定;
3)\t按规定在设备使用地保存相关安全技术档案原件或复印件。
。`,
ischeck: 1,
},
{
checkFactors: '管理因素',
inspectionItems: '应急预案与演练',
inspectionContent: ` 1)\t建立特种设备事故应急专项预案。
2)\t按规定定期开展应急救援预案演练并保存应急救援预案演练记录(含文字、图片、视频等)。
`,
ischeck: 1,
},
{
checkFactors: '环境因素',
inspectionItems: '安全距离及相关尺寸',
inspectionContent: `起重机械运动部分与建筑物、设施、输电线的安全距离符合GB/T 6067.1-2010 《起重机械安全规程:总则》中10.2和15.3的要求。`,
ischeck: 1,
},
{
checkFactors: '环境因素',
inspectionItems: '起重量或者起重力矩标识',
inspectionContent: `起重机械明显部位标注的额定起重量标志清晰、符合规定。`,
ischeck: 1,
},
{
checkFactors: '环境因素',
inspectionItems: '使用条件',
inspectionContent: `起重机械使用场所的条件应符合相关设计规范及特种设备使用说明书限定的使用条件。`,
ischeck: 1,
},
],
}
},
created() {
this.loadFrom()
},
methods: {
ww() {
this.record = ''
},
loadFrom() {
let params = {
"type": 4
}
getDeviceDict(params).then((res) => {
this.dictModel = res.result
})
},
submit() {
let params = {
'cloum1': this.people.length > 0 ? this.people[0].ischeck : null,
'cloum2': this.people.length > 0 ? this.people[1].ischeck : null,
'cloum3': this.people.length > 0 ? this.people[2].ischeck : null,
'cloum4': this.people.length > 0 ? this.people[3].ischeck : null,
'cloum5': this.people.length > 0 ? this.people[4].ischeck : null,
'cloum6': this.people.length > 0 ? this.people[5].ischeck : null,
'cloum7': this.people.length > 0 ? this.people[6].ischeck : null,
'cloum8': this.people.length > 0 ? this.people[7].ischeck : null,
'cloum9': this.people.length > 0 ? this.people[8].ischeck : null,
'cloum10': this.people.length > 0 ? this.people[9].ischeck : null,
'cloum11': this.people.length > 0 ? this.people[10].ischeck : null,
'cloum12': this.people.length > 0 ? this.people[11].ischeck : null,
'cloum13': this.people.length > 0 ? this.people[12].ischeck : null,
'cloum14': this.people.length > 0 ? this.people[13].ischeck : null,
'type': 4,
'record': this.record,
'recordDate': this.recordDate,
'recorder': this.recorder,
'cloum20': this.cloum20,
}
addCheck(params).then((res) => {
if (res.success) {
this.$message.success("提交成功!")
}
})
},
},
mounted() {
},
}
</script>
<style scoped>
.app-body {
width: 100%;
height: 100%;
}
.content {
width: 99.1%;
height: 100%;
border: 1px solid yellowgreen;
margin: 0 auto;
overflow: auto;
}
body {
font-size: 1rem;
}
table,
td,
th {
border-collapse: collapse;
border-spacing: 0;
}
table {
width: 100%;
margin-top: 10px;
}
td,
th {
border: 2px solid #000000;
padding: 5px 10px;
}
th {
background: #42b983;
/* font-size: 3vw; */
font-weight: 400;
color: #fff;
cursor: pointer;
}
@media screen and (max-width: 400px) {
.font {
font-size: 2.8vw;
}
td,
th {
border: 2px solid #000000;
padding: 5px 10px;
}
th {
background: #42b983;
font-size: 3vw;
font-weight: 400;
color: #fff;
cursor: pointer;
}
}
tr:nth-of-type(odd) {
background: #fff;
}
tr:nth-of-type(even) {
background: #eee;
}
button {
outline: none;
padding: 5px 8px;
color: #fff;
border: 1px solid #bcbcbc;
border-radius: 3px;
background-color: #009a61;
cursor: pointer;
}
button:hover {
opacity: 0.8;
}
.text-center {
text-align: center;
}
</style>
<style lang="less">
.app_container {
width: 100%;
height: 100%;
background: #ffff !important;
}
</style>