Merge remote-tracking branch 'origin/新动火作业1128' into 重点工程定位需求

# Conflicts:
#	src/views/map/dialog/index.vue
main
zhaoyu 2023-12-11 18:12:58 +08:00
commit 32376c8a07
9 changed files with 2167 additions and 1 deletions

View File

@ -0,0 +1,125 @@
<template>
<div class="app-container">
<div class="filter-container">
<div class="filter-group ">
<div class="filter-lable" style="width: 60px">
公司名称
</div>
<div class="filter-width">
<el-input v-model="KEYWORDS" placeholder="公司名称" class="filter-item" style="width: 150px;"/>
</div>
</div>
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves class="filter-item" type="success" icon="el-icon-refresh" @click="goKeyReset">
重置
</el-button>
</div>
<el-table
v-loading="listLoading"
ref="multipleTable"
:data="varList"
:header-cell-style="{
'font-weight': 'bold',
'color': '#000'
}"
tooltip-effect="dark"
border
fit
highlight-current-row
>
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CORP_NAME" label="公司名称" />
<el-table-column prop="checkedCount" label="申请总数" align="center" >
<template slot-scope="{row}">
<span :style="row.applications_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hotwork_list',row.CORPINFO_ID,'1')">{{ row.applications_num }}</span>
</template>
</el-table-column>
<el-table-column prop="checkedItemCount" label="完成数" align="center" >
<template slot-scope="{row}">
<span :style="row.completions_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hotwork_list',row.CORPINFO_ID,'2')">{{ row.completions_num }}</span>
</template>
</el-table-column>
<el-table-column prop="ybCount" label="废除数" align="center" >
<template slot-scope="{row}">
<span :style="row.abolishments_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hotwork_list',row.CORPINFO_ID, '3')">{{ row.abolishments_num }}</span>
</template>
</el-table-column>
<el-table-column prop="zdCount" label="进行数" align="center" >
<template slot-scope="{row}">
<span :style="row.operations_num > 0 ? {color:'#0c60e1',cursor: 'pointer'} : {color: '#606266'}" @click="goList('hotwork_list',row.CORPINFO_ID, '4')">{{ row.operations_num }}</span>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div/>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import SelectTree from '@/components/SelectTree'
export default {
components: { Pagination, SelectTree },
directives: { waves },
data() {
return {
USER_LEVEL: sessionStorage.getItem('user').LEVEL || -1,
config: config,
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 10
},
total: 0,
KEYWORDS: '',
varList: [],
pd: []
}
},
async created() {
await this.getList()
},
methods: {
getQuery() {
this.getList()
},
goKeyReset() {
this.KEYWORDS = ''
this.getList()
},
goList(page, CORPINFO_ID, ticketType) {
this.$parent.activeName = page
this.$parent.CORPINFO_ID = CORPINFO_ID
this.$parent.ticketType = ticketType
},
getList() {
return new Promise((resolve) => {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/list?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
resolve()
}).catch((e) => {
this.listLoading = false
})
})
}
}
}
</script>

View File

@ -0,0 +1,568 @@
<template>
<div>
<div id="printContent" class="app-container print-work">
<div>
<table class="table-ui">
<thead>
<tr>
<td colspan="6" style="border: none">
<div class="no-print">
<div class="level-title">
<h1>动火申请审批许可证</h1>
</div>
</div>
<h3 class="no-show" style="text-align: center">动火申请审批许可证</h3>
</td>
</tr>
</thead>
<tbody>
<tr>
<td class="tbg" rowspan="2">动火申请人</td>
<td rowspan="2">{{ pd.APPLY_USER_NAME }}</td>
<td class="tbg" rowspan="2">动火申请单位/部门</td>
<td rowspan="2">{{ pd.APPLY_DEPARTMENT_NAME }}</td>
<td class="tbg" colspan="2" style="text-align: center;">动火许可证编号</td>
</tr>
<tr>
<td colspan="2" style="text-align: center;">{{ pd.JOB_NUMBER }}</td>
</tr>
<tr>
<td class="tbg">动火部位</td>
<td>{{ pd.HOT_WORK_POSITION }}</td>
<td class="tbg">动火方法</td>
<td>{{ pd.HOT_WORK_METHOD_NAME }}</td>
<td class="tbg">动火等级</td>
<td>
<template v-if="pd.HOT_WORK_LEVEL_INDEX == '0'"></template>
<template v-else-if="pd.HOT_WORK_LEVEL_INDEX == '1'">一级</template>
<template v-else-if="pd.HOT_WORK_LEVEL_INDEX == '2'">二级</template>
<template v-else-if="pd.HOT_WORK_LEVEL_INDEX == '3'">三级</template>
</td>
</tr>
<tr>
<td class="tbg">作业内容</td>
<td colspan="5">{{ pd.JOB_CONTENT }}</td>
</tr>
<tr>
<td class="tbg" rowspan="2">现场负责人</td>
<td>姓名{{ pd.SITE_LEADER_NAME }}</td>
<td class="tbg" rowspan="2">动火操作人</td>
<td rowspan="2">{{ pd.HOT_WORK_OPERATOR_NAME }}</td>
<td class="tbg" rowspan="2">动火监火人</td>
<td rowspan="2">{{ pd.SUPERVISOR_OF_HOT_WORK_UNIT }}</td>
</tr>
<tr>
<td>电话:{{ pd.SITE_LEADER_PHONE }}</td>
</tr>
<tr>
<td class="tbg">动火时间</td>
<td colspan="5">{{ pd.HOT_WORK_TIME_START }} {{ pd.HOT_WORK_TIME_END }}</td>
</tr>
<tr>
<td class="tbg">
动火要求<br>
安全措施<br>
安全提示
</td>
<td colspan="5">
<table class="table-vi">
<tr v-for="item in measuresList" :key="item.BUS_HOTWORK_MEASURES_ID">
<td>
{{ item.PROTECTIVE_MEASURES }}
<template v-if="item.ANSWER1">({{ item.ANSWER1 }}){{ item.QUESTION1 }}</template>
<template v-if="item.QUESTION2">
{{ item.QUESTION2 }}({{ item.ANSWER2 }}) {{ item.QUESTION3 }}({{ item.ANSWER3 }}) {{ item.QUESTION4 }}({{ item.ANSWER4 }})
</template>
</td>
</tr>
<tr v-for="item in safetymethodrecordList" :key="item.HOTWORKSAFETYMETHODRECORD_ID">
<td>{{ item.CONTENT }}</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="tbg">动火单位(部门)负责人意见</td>
<td colspan="2">
<img v-viewer v-if="pd.HOT_WORK_USER_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_USER_PRINCIPAL" width="50px" height="50px">
</td>
<td class="tbg">项目发包单位(部门)人员意见</td>
<td colspan="2">
<img v-viewer v-if="pd.PROJECT_UNIT_LEADER_PRINCIPAL" :src="config.fileUrl+pd.PROJECT_UNIT_LEADER_PRINCIPAL" width="50px" height="50px">
</td>
</tr>
<tr>
<td class="tbg">现场管辖单位(部门)负责人意见</td>
<td colspan="2">
<img v-viewer v-if="pd.UNIT_LEADER_PRINCIPAL" :src="config.fileUrl+pd.UNIT_LEADER_PRINCIPAL" width="50px" height="50px">
</td>
<td class="tbg">动火许可证签发单位意见</td>
<td colspan="2">
<img v-viewer v-if="pd.ISSUING_PRINCIPAL" :src="config.fileUrl+pd.ISSUING_PRINCIPAL" width="50px" height="50px">
</td>
</tr>
<tr>
<td class="tbg" rowspan="2">动火前管辖单位现场人员许可</td>
<td colspan="2">
姓名
<img v-viewer v-if="pd.HOT_WORK_PERSON_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_PERSON_PRINCIPAL" width="50px" height="50px">
</td>
<td class="tbg" rowspan="2">动火后管辖单位现场人员验收</td>
<td colspan="2">
姓名
<img v-viewer v-if="pd.HOT_WORK_AFTER_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_AFTER_PRINCIPAL" width="50px" height="50px">
</td>
</tr>
<tr>
<td colspan="2">时间{{ pd.HOT_WORK_PERSON_PRINCIPAL_TIME }}</td>
<td colspan="2">时间{{ pd.HOT_WORK_AFTER_PRINCIPAL_TIME }}</td>
</tr>
<tr>
<td class="tbg">延时监火记录</td>
<td colspan="5">
<table class="table-vi">
<tr>
<td>监火人</td>
<td>时间</td>
<td>照片</td>
</tr>
<tr v-for="item in delayedList" :key="item.HOTWORKAPPLICATIONDELAYED_ID">
<td>{{ item.userName }}</td>
<td>{{ item.TIME }}</td>
<td>
<img v-viewer v-if="item.FILEPATH" :src="config.fileUrl+item.FILEPATH" width="50px" height="50px">
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<!--<div v-if="pd.HOT_WORK_LEVEL_INDEX =='0'">
<table class="table-ui">
<thead>
<tr>
<td colspan="6" style="border: none">
<div class="no-print">
<div class="level-title">
<h1>动火申请审批许可证</h1>
</div>
</div>
<h3 class="no-show" style="text-align: center">动火申请审批许可证</h3>
</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="4" style="padding: 0;">
<table class="table-vi">
<tr>
<td class="bbg">申请单位</td>
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
<td class="bbg">申请人</td>
<td>{{ pd.APPLY_USER_NAME }}</td>
</tr>
<tr>
<td class="bbg">作业证编号</td>
<td>{{ pd.JOB_NUMBER }}</td>
</tr>
<tr>
<td class="bbg">申请日期</td>
<td>{{ formatTime(pd.APPLICATION_DATE) }}</td>
<td class="bbg">作业类型</td>
<td>{{ pd.JOB_TYPE_NAME }}</td>
</tr>
<tr>
<td class="bbg">动火部位</td>
<td>{{ pd.HOT_WORK_POSITION }}</td>
<td class="bbg">动火方法</td>
<td>{{ pd.HOT_WORK_METHOD_NAME }}</td>
</tr>
<tr>
<td class="bbg">动火作业级别</td>
<td>{{ pd.HOT_WORK_LEVEL_NAME }}</td>
<td class="bbg">动火时间</td>
<td>{{ pd.HOT_WORK_TIME }}</td>
</tr>
<tr>
<td class="bbg">作业内容</td>
<td>{{ pd.JOB_CONTENT }}</td>
</tr>
<tr>
<td class="bbg">动火操作人</td>
<td>{{ pd.HOT_WORK_OPERATOR_NAME }}</td>
</tr>
<tr v-if="pd.IS_GAS_TESTING =='1'">
<td class="bbg">气体检测人</td>
<td>{{ pd.GAS_TESTING_USER_NAME }}</td>
</tr>
<tr>
<td class="bbg">延时监火</td>
<td>{{ pd.HOT_WORK_OPERATOR_NAME }}</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="4" style="padding: 0;">
<table class="table-vi">
<tr>
<th>主要安全措施</th>
&lt;!&ndash; <th class="tcenter select">选项</th>&ndash;&gt;
</tr>
<tr v-for="item in measuresList" :key="item.BUS_HOTWORK_MEASURES_ID">
<td>
{{ item.PROTECTIVE_MEASURES }}
<template v-if="item.QUESTION1">
{{ item.QUESTION1 }}({{ item.ANSWER1 }})
</template>
<template v-if="item.QUESTION2">
{{ item.QUESTION2 }}({{ item.ANSWER2 }}) {{ item.QUESTION3 }}({{ item.ANSWER3 }}) {{ item.QUESTION4 }}({{ item.ANSWER4 }})
</template>
</td>
</tr>
</table>
</td>
</tr>
<template v-if="HOTWORKAPPLICATION_TYPE=='see'">
<tr>
<td colspan="4">
<div><span>动火单位负责人{{ pd.HOT_WORK_USER_NAME }}</span>
</div>
<span class="print-approval-img">
<img v-if="pd.HOT_WORK_USER_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_USER_PRINCIPAL">
</span>
<span v-if="pd.HOT_WORK_USER_PRINCIPAL_TIME">{{ formatTime(pd.HOT_WORK_USER_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr v-if="pd.JOB_TYPE_INDEX == '1'">
<td colspan="4">
<div><span>项目发包单位负责人</span>
<span>
{{ pd.PROJECT_UNIT_LEADER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.PROJECT_UNIT_LEADER_PRINCIPAL" :src="config.fileUrl+pd.PROJECT_UNIT_LEADER_PRINCIPAL">
</span>
<span v-if="pd.PROJECT_UNIT_LEADER_PRINCIPAL_TIME">{{ formatTime(pd.PROJECT_UNIT_LEADER_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>现场管辖单位负责人</span>
<span>
{{ pd.UNIT_LEADER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.UNIT_LEADER_PRINCIPAL" :src="config.fileUrl+pd.UNIT_LEADER_PRINCIPAL">
</span>
<span v-if="pd.UNIT_LEADER_PRINCIPAL_TIME">{{ formatTime(pd.UNIT_LEADER_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>动火许可签发单位负责人</span>
<span>
{{ pd.ISSUING_USER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.ISSUING_PRINCIPAL" :src="config.fileUrl+pd.ISSUING_PRINCIPAL">
</span>
<span v-if="pd.ISSUING_PRINCIPAL_TIME">{{ formatTime(pd.ISSUING_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td v-if="pd.IS_SAFETY_DIRECTOR =='1'" colspan="4">
<div><span>安全总监负责人</span>
<span>
{{ pd.SAFETY_DIRECTOR_USER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.SAFETY_DIRECTOR_PRINCIPAL" :src="config.fileUrl+pd.SAFETY_DIRECTOR_PRINCIPAL">
</span>
<span v-if="pd.SAFETY_DIRECTOR_PRINCIPAL_TIME">{{ formatTime(pd.SAFETY_DIRECTOR_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>现场负责人接收负责人</span>
<span>
{{ pd.SITE_LEADER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.SITE_DIRECTOR_PRINCIPAL" :src="config.fileUrl+pd.SITE_DIRECTOR_PRINCIPAL">
</span>
<span v-if="pd.SITE_DIRECTOR_PRINCIPAL_TIME">{{ formatTime(pd.SITE_DIRECTOR_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>动火前现场管辖单位确认</span>
<span>
{{ pd.HOT_WORK_PERSON_USER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.HOT_WORK_PERSON_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_PERSON_PRINCIPAL">
</span>
<span v-if="pd.HOT_WORK_PERSON_PRINCIPAL_TIME">{{ formatTime(pd.HOT_WORK_PERSON_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>现场负责人确认</span>
<span>
{{ pd.PERSON_CONFIRM_USER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.PERSON_CONFIRM_PRINCIPAL" :src="config.fileUrl+pd.PERSON_CONFIRM_PRINCIPAL">
</span>
<span v-if="pd.PERSON_CONFIRM_PRINCIPAL_TIME">{{ formatTime(pd.PERSON_CONFIRM_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td colspan="4">
<div><span>动火后现场管辖人</span>
<span>
{{ pd.HOT_WORK_AFTER_USER_NAME }}
</span>
</div>
<span class="print-approval-img">
<img v-if="pd.HOT_WORK_AFTER_PRINCIPAL" :src="config.fileUrl+pd.HOT_WORK_AFTER_PRINCIPAL">
</span>
<span v-if="pd.HOT_WORK_AFTER_PRINCIPAL_TIME">{{ formatTime(pd.HOT_WORK_AFTER_PRINCIPAL_TIME) }}</span>
</td>
</tr>
<tr>
<td class="tbg">延时监火</td>
<td class="img-select">
&lt;!&ndash; <viewer :images="hImgs">&ndash;&gt;
&lt;!&ndash; <img v-for="item in hImgs" :src="config.fileUrl + item.FILEPATH" :key="item.HOTWORKAPPLICATIONDELAYED_ID" width="100" height="100">&ndash;&gt;
&lt;!&ndash; </viewer>&ndash;&gt;
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(pd.HOTWORKAPPLICATION_ID)"></el-button>
</td>
</tr>
</template>
<tr>
<td colspan="4">
<div class="level-title">
<h1>分公司动火审批</h1>
</div>
<div class="mb-20">
<table class="table-ui">
<tr>
<td class="abg">动火负责确认人部门</td>
<td >{{ pd.projectCompetent_DEPT_NAME }}</td>
<td class="abg">动火负责确认人</td>
<td >{{ pd.projectCompetent_USER_NAME }}</td>
<td class="abg">审批结果</td>
<td >{{ pd.projectCompetent_TYPE=='2'?'通过':'未通过' }}</td>
<td class="abg">审批时间</td>
<td colspan="2">{{ pd.projectCompetent_OPERATTIME }}</td>
</tr>
<tr>
<td class="abg">项目主管初审人员部门</td>
<td v-if="pd.projectCompetent_DEPT_NAME">{{ pd.projectCompetent_DEPT_NAME }}</td>
<td class="abg">项目主管初审人员</td>
<td >{{ pd.projectSupervisor_USER_NAME }}</td>
<td class="abg">审批结果</td>
<td >{{ pd.projectSupervisor_TYPE=='2'?'通过':'未通过' }}</td>
<td class="abg">审批时间</td>
<td colspan="2">{{ pd.projectCompetent_OPERATTIME }}</td>
</tr>
<tr>
<td class="abg">项目主管负责人部门</td>
<td >{{ pd.projectPreliminarily_DEPT_NAME }}</td>
<td class="abg">项目主管负责人</td>
<td >{{ pd.projectPreliminarily_USER_NAME }}</td>
<td class="abg">审批结果</td>
<td >{{ pd.projectPreliminarily_TYPE=='2'?'通过':'未通过' }}</td>
<td class="abg">审批时间</td>
<td >{{ pd.projectPreliminarily_OPERATTIME }}</td>
<td v-if="pd.projectPreliminarily_PRINCIPAL">
<span class="print-approval-img">
<img v-if="pd.projectPreliminarily_PRINCIPAL" :src="config.fileUrl+pd.projectPreliminarily_PRINCIPAL">
</span>
</td>
</tr>
<tr>
<td class="abg">分公司安全总监部门</td>
<td >{{ pd.inspectorGeneral_DEPT_NAME }}</td>
<td class="abg">分公司安全总监人员</td>
<td >{{ pd.inspectorGeneral_USER_NAME }}</td>
<td class="abg">审批结果</td>
<td >{{ pd.inspectorGeneral_TYPE=='2'?'通过':'未通过' }}</td>
<td class="abg">审批时间</td>
<td >{{ pd.inspectorGeneral_OPERATTIME }}</td>
<td v-if="pd.inspectorGeneral_PRINCIPAL">
<span class="print-approval-img">
<img :src="config.fileUrl+pd.inspectorGeneral_PRINCIPAL">
</span>
</td>
</tr>
<tr>
<td class="abg">分公司主要负责人</td>
<td >{{ pd.OFFICE_RESPOMSIBLE_DEPT_NAME }}</td>
<td class="abg">分公司主要负责人</td>
<td >{{ pd.OFFICE_RESPOMSIBLE_USER_NAME }}</td>
<td class="abg">审批结果</td>
<td >{{ pd.OFFICE_RESPOMSIBLE_TYPE=='2'?'通过':'未通过' }}</td>
<td class="abg">审批时间</td>
<td >{{ pd.OFFICE_RESPOMSIBLE_OPERATTIME }}</td>
<td v-if="pd.OFFICE_RESPOMSIBLE_PRINCIPAL">
<span class="print-approval-img">
<img :src="config.fileUrl+pd.OFFICE_RESPOMSIBLE_PRINCIPAL">
</span>
</td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>-->
</div>
<div class="ui-height" />
<div class="ui-foot">
<el-button @click="goBack"> </el-button>
<!-- <el-button v-print="'#printContent'" type="primary"></el-button>-->
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import dateformat from '@/utils/dateformat'
import SelectTree from '@/components/SelectTree'
export default {
components: { SelectTree },
data() {
return {
config: config,
HOTWORKAPPLICATION_ID: this.$parent.HOTWORKAPPLICATION_ID, // ID
HOTWORKAPPLICATION_TYPE: this.$parent.HOTWORKAPPLICATION_TYPE,
pd: [], //
measuresList: [],
form: {},
rules: {},
myUserInfo: {},
defaultProps: {
value: 'id',
children: 'nodes',
label: 'name',
checkStrictly: true
},
rectificationDeptList: [],
rectificationUserList: [],
hImgs: [],
hotUserList: [],
safetymethodrecordList: [],
delayedList: []
}
},
created() {
this.getData()
this.getListAllMeasures()
this.getDelayed()
},
methods: {
formatTime(date, column) {
if (date) {
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
} else {
return ''
}
},
formatDate(date, column) {
if (date) {
return dateformat(date, 'YYYY-MM-DD')
} else {
return ''
}
},
getRowKey(row) {
return row.HOTWORKAPPLICATION_ID
},
getData() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/goEdit',
{
HOTWORKAPPLICATION_ID: this.HOTWORKAPPLICATION_ID
}
).then((data) => {
this.listLoading = false
if (data.pd && data.pd.HOT_WORK_OPERATOR_NAME && data.pd.HOT_WORK_OPERATOR_NAME.length > 0) {
data.pd.HOT_WORK_OPERATOR_NAME = data.pd.HOT_WORK_OPERATOR_NAME.substring(0, data.pd.HOT_WORK_OPERATOR_NAME.length - 1)
}
this.pd = data.pd // map
this.safetymethodrecordList = data.safetymethodrecordList
this.delayedList = data.delayedList
}).catch((e) => {
this.listLoading = false
})
},
getDelayed() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/delayedList',
{
HOTWORKAPPLICATION_ID: this.HOTWORKAPPLICATION_ID
}
).then((data) => {
this.listLoading = false
this.hImgs = data.varList // map
}).catch((e) => {
this.listLoading = false
})
},
getListAllMeasures() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/listAllMeasures',
{
HOTWORKAPPLICATION_ID: this.HOTWORKAPPLICATION_ID
}
).then((data) => {
this.listLoading = false
this.measuresList = data.varList // map
}).catch((e) => {
this.listLoading = false
})
},
goDetail(id) {
console.log(id)
this.$parent.HOTWORKAPPLICATION_ID = id
this.$parent.activeName = 'Delayed'
},
goBack() {
this.$parent.activeName = 'List'
}
}
}
</script>
<style lang="sass" scoped>
.print-approval-p10
padding: 20px 0
span
vertical-align: middle
.print-approval-img
width: 200px
height: 97px
display: inline-block
img
width: 100%
height: 100%
</style>

View File

@ -0,0 +1,339 @@
<template>
<div>
<div id="printTest" class="app-container print-work">
<el-page-header content="审批表详情" class="no-print" @back="goBack"/>
<table class="table-ui">
<thead>
<tr>
<td colspan="4" style="border: none">
<div class="level-title mt-20">
<h1>动火安全作业票</h1>
<div class="level-code">编号:{{ pd.CHECK_NO }}</div>
</div>
</td>
</tr>
</thead>
<tr>
<td class="bbg">作业申请单位</td>
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
<td class="bbg">作业申请时间</td>
<td>{{ pd.CREATTIME }}</td>
</tr>
<tr>
<td class="bbg">作业内容</td>
<td>{{ pd.WORK_CONTENT }}</td>
<td class="bbg">动火地点及动火部位</td>
<td>{{ pd.WORK_PLACE }}</td>
</tr>
<tr>
<td class="bbg">动火作业级别</td>
<td>{{ pd.WORK_LEVEL }}</td>
<td class="bbg">动火方式</td>
<td>{{ pd.WORK_FUNCTION }}</td>
</tr>
<tr>
<td class="bbg">动火人及证书编号</td>
<td colspan="3">{{ pd.WORK_USER }}</td>
</tr>
<tr>
<td class="bbg">作业单位</td>
<td>{{ pd.CONFIRM_DEPARTMENT_NAME }}</td>
<td class="bbg">作业负责人</td>
<td>{{ pd.CONFIRM_USER_NAME }}</td>
</tr>
<template v-for="(item,index) in gasList">
<tr :key="index">
<td class="bbg">气体取样分析时间</td>
<td>{{ item.ANALYZE_TIME }}</td>
<td class="bbg">代表性气体</td>
<td>{{ item.ANALYZE_PLACE }}</td>
</tr>
<tr :key="index">
<td class="bbg">分析结果/%</td>
<td>{{ item.ANALYZE_RESULT }}</td>
<td class="bbg">分析人</td>
<td>{{ item.ANALYZE_USER }}</td>
</tr>
</template>
<tr>
<td class="bbg">关联的其他特殊作业及安全作业票编号</td>
<td colspan="3">{{ pd.SPECIAL_WORK }}</td>
</tr>
<tr>
<td class="bbg">风险辨识结果</td>
<td colspan="3">{{ pd.RISK_IDENTIFICATION }}</td>
</tr>
<tr>
<td class="bbg">动火作业实施时间</td>
<td colspan="3">{{ pd.WORK_START_DATE }}{{ pd.WORK_END_DATE }}</td>
</tr>
<tr>
<td colspan="4">
<table class="table-ui">
<tr>
<td>序号</td>
<td>安全措施</td>
<td>是否涉及</td>
<td>确认人</td>
</tr>
<tr v-for="(item,index) in measuresList" :key="index">
<td>{{ index + 1 }}</td>
<td>
{{ item.PROTECTIVE_MEASURES }}
<!-- <template v-if="item.QUESTION1">-->
<!-- {{ item.QUESTION1 }}({{ item.ANSWER1 }})-->
<!-- </template>-->
<!-- <template v-if="item.QUESTION2">-->
<!-- {{ item.QUESTION2 }}({{ item.ANSWER2 }}) {{ item.QUESTION3 }}({{ item.ANSWER3 }})-->
<!-- </template>-->
</td>
<td>
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
</td>
<td>
{{ item.CONFIRM_NAME }}
</td>
</tr>
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES">
<td>{{ measuresList.length + 1 }}</td>
<td colspan="3">
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
<span>其他安全措施{{ pd.CONFIRM_USER_MEASURES }}</span>
<span>编制人{{ pd.CONFIRM_USER_NAME }}</span>
</div>
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.LEADER_USER_MEASURES }}</span>
<span>编制人{{ pd.LEADER_USER_NAME }}</span>
</div>
<div v-if="pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.AUDIT_USER_MEASURES }}</span>
<span>编制人{{ pd.AUDIT_USER_NAME }}</span>
</div>
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.APPROVE_USER_MEASURES }}</span>
<span>编制人{{ pd.APPROVE_USER_NAME }}</span>
</div>
<div v-if="pd.MONITOR_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.MONITOR_USER_MEASURES }}</span>
<span>编制人{{ pd.MONITOR_USER_NAME }}</span>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="bbg">安全交底人</td>
<td colspan="10">
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="bbg">接受交底人</td>
<td colspan="10">
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="bbg">监护人</td>
<td colspan="3">
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
<td colspan="6">
<div>作业负责人意见{{ pd.CONFIRM_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
<td colspan="6">
<div>所在单位意见{{ pd.LEADER_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
<td colspan="6">
<div>安全管理部门意见{{ pd.AUDIT_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
<td colspan="6">
<div>动火审批人意见{{ pd.APPROVE_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
<td colspan="6">
<div>动火前岗位当班班长验票情况{{ pd.MONITOR_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.MONITOR_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="imgList1.length>0">
<td colspan="10">
<div>完工验收{{ pd.ACCEPT_CONTENT }}</div>
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
</table>
</div>
<div class="ui-height" />
<div class="ui-foot">
<!-- <el-button v-print="'#printTest'" v-if="pd.APPLY_STATUS==8"> </el-button>-->
<el-button icon="el-icon-arrow-left" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import dateformat from '@/utils/dateformat'
export default {
data() {
return {
config: config,
HOTWORK_ID: this.$parent.HOTWORK_ID, // ID
pd: [], //
measuresList: [],
gasList: [],
imgList: [],
imgList1: [],
otherProtectiveMeasures: []
}
},
created() {
this.getData()
},
methods: {
validStr(str) {
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
return false
},
formatTime(date, column) {
if (date) {
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
} else {
return ''
}
},
formatDate(date, column) {
if (date) {
return dateformat(date, 'YYYY-MM-DD')
} else {
return ''
}
},
getRowKey(row) {
return row.HOTWORK_ID
},
getData() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/goEditFirst',
{
HOTWORK_ID: this.HOTWORK_ID
}
).then((data) => {
this.listLoading = false
this.pd = data.pd // map
this.imgList = data.imgList
this.imgList1 = data.imgList1
for (let i = 0; i < data.measuresList.length; i++) {
//
const PROTECTIVE_MEASURES = data.measuresList[i].PROTECTIVE_MEASURES.split('')
for (let j = 1; j <= 3; j++) {
//
if (this.findCharIndex(PROTECTIVE_MEASURES, '', j) !== -1) {
//
PROTECTIVE_MEASURES.splice(
this.findCharIndex(PROTECTIVE_MEASURES, '', j) + 1,
0,
data.measuresList[i]['ANSWER' + j]
)
}
}
//
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
}
this.measuresList = data.measuresList // map
this.gasList = data.gasList // map
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
}).catch((e) => {
this.listLoading = false
})
},
//
findCharIndex(str, char, num) {
let index = str.indexOf(char)
for (let i = 0; i < num - 1; i++) {
index = str.indexOf(char, index + 1)
}
return index
},
goBack() {
this.$parent.activeName = 'ListCfd'
}
}
}
</script>
<style lang="sass" scoped>
.print-approval-p10
padding: 20px 0
span
vertical-align: middle
.bbg
width: 300px
.print-approval-img
width: 200px
height: 97px
display: inline-block
img
width: 100%
height: 100%
</style>

View File

@ -0,0 +1,366 @@
<template>
<div class="app-container">
<el-form label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="作业编号">
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="动火时间">
<el-date-picker
v-model="WORK_TIME"
type="datetime"
unlink-panels
value-format="yyyy-MM-dd HH:mm:SS"
format="yyyy-MM-dd HH:mm:SS"
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="动火等级">
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="item in levelList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="作业类型">
<el-select v-model="JOBTYPE" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="item in jobTypeList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves icon="el-icon-refresh" type="success" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="JOB_NUMBER" label="作业编号" align="center"/>
<el-table-column prop="JOB_TYPE_INDEX" label="作业类型" align="center">
<template slot-scope="{row}">
{{ translate(row.JOB_TYPE_INDEX, jobTypeList) }}
</template>
</el-table-column>
<el-table-column prop="WORK_LEVEL" label="申请单位" align="center">
<template slot-scope="{row}">
{{ getUserName('deptName', row.HOT_WORK_APPLICATION_List) }}
</template>
</el-table-column>
<el-table-column prop="APPLY_USER_NAME" label="申请人" align="center"/>
<el-table-column prop="HOT_WORK_TIME" label="动火时间" align="center">
<template slot-scope="{row}">
{{ row.HOT_WORK_TIME_START }} {{ row.HOT_WORK_TIME_END }}
</template>
</el-table-column>
<el-table-column prop="STATE" label="审核状态" align="center">
<template slot-scope="{row}">
{{ translate(row.STATE.toString(), statusList) }}
</template>
</el-table-column>
<el-table-column prop="examineUserName" label="审核人" align="center"/>
<el-table-column prop="HOT_WORK_LEVEL_NAME" label="动火等级" align="center"/>
<el-table-column label="操作" align="center" width="230" >
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORKAPPLICATION_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>-->
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel"></el-button>-->
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 10
},
total: 0,
KEYWORDS: '',
WORK_TIME: '',
JOBTYPE: '',
varList: [],
pd: [],
multipleSelectionAll: [], //
multipleSelection: [], //
dialogFormShow: false,
dialogFormEdit: false,
dialogType: 'add',
replyVarList: [], // REPLY
replyListQuery: {
page: 1,
limit: 10
},
searchForm: {
keyJobNumber: '',
keyState: '',
keyApplyUserName: '',
keyApproveUserName: '',
keyApproveTime: ''
},
replyTotal: 0,
dialogFormHuifuShow: false,
jobTypeList: [
{ id: '0', name: '内部作业' },
{ id: '1', name: '相关方作业' }
],
levelList: [
{ id: '0', name: '特级' },
{ id: '1', name: '一级' },
{ id: '2', name: '二级' },
{ id: '3', name: '三级' }
],
statusList: [
{ id: '0', name: '申请人' },
{ id: '1', name: '动火单位待确认' },
{ id: '2', name: '项目发包单位待确认' },
{ id: '3', name: '现场管辖单位待签发' },
{ id: '4', name: '动火许可签发单位待审核' },
{ id: '5', name: '安全总监待确认' },
{ id: '6', name: '现场管辖人待接收' },
{ id: '7', name: '动火前现场管辖人待确认' },
{ id: '8', name: '现场管辖人待确认' },
{ id: '9', name: '动火后现场管辖人待确认' },
{ id: '30', name: '动火负责人待确认' },
{ id: '31', name: '项目主管人员待待初审' },
{ id: '32', name: '项目主管部门负责人待审核' },
{ id: '33', name: '分公司安全总监待审批' },
{ id: '34', name: '分公司主要负责人待签批' },
{ id: '35', name: '(港股)安全监督部门待初审' },
{ id: '36', name: '安委会办公室待审批' },
{ id: '37', name: '安全总监待审批' },
{ id: '10', name: '延时动火' },
{ id: '11', name: '归档' },
{ id: '-1', name: '审核不通过' },
{ id: '-2', name: '特级不通过' },
{ id: '-3', name: '关闭归档' },
{ id: '-4', name: '延期' },
{ id: '-5', name: '已打回' },
{ id: '-6', name: '超期未动火' }
],
STATUS: '',
DEPTIDS: ''
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.HOTWORK_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
goKeyReset() {
this.KEYWORDS = ''
this.STATUS = ''
this.WORK_TIME = ''
this.JOBTYPE = ''
this.getQuery()
},
//
getList() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/hotworkList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
STATE: 0,
KEYWORDS: this.KEYWORDS,
WORK_TIME: this.WORK_TIME,
STATUS: this.STATUS,
JOBTYPE: this.JOBTYPE,
CORPINFO_ID: this.$parent.CORPINFO_ID,
ticketType: this.$parent.ticketType,
tm: new Date().getTime()
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
//
hasButton() {
var keys = 'hotwork:add,hotwork:del,hotwork:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.hotworkfhadminadd //
this.del = data.hotworkfhadmindel //
this.edit = data.hotworkfhadminedit //
}).catch((e) => {
this.listLoading = false
})
},
goChart(row) {
this.pd = row
this.dialogFormShow = true
},
getStatus() {
if (this.pd.APPLY_STATUS <= '0') {
return 0
}
if (this.pd.APPLY_STATUS == '1') {
return 1
}
if (this.pd.APPLY_STATUS == '2') {
return 2
}
if (this.pd.APPLY_STATUS == '4') {
return 3
}
if (this.pd.APPLY_STATUS == '5') {
return 4
}
if (this.pd.APPLY_STATUS == '6') {
return 5
}
if (this.pd.APPLY_STATUS == '7') {
return 6
}
if (this.pd.APPLY_STATUS == '8') {
return 8
}
},
getProcessStatus() {
if (this.pd.APPLY_STATUS < '0') {
return 'error'
} else {
return 'process'
}
},
getProcessMessage() {
let obj = {}
if (this.pd.APPLY_STATUS >= '0') {
obj = {
title: '',
USER_NAME: this.pd.APPLY_USER_NAME,
OPERATTIME: this.pd.CREATTIME
}
}
if (this.pd.APPLY_STATUS == '-2') {
obj = {
title: '作业负责人审核打回',
USER_NAME: this.pd.CONFIRM_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-4') {
obj = {
title: '所在单位审核打回',
USER_NAME: this.pd.LEADER_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-5') {
obj = {
title: '安全管理部门审核打回',
USER_NAME: this.pd.AUDIT_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-6') {
obj = {
title: '动火审批人审核打回',
USER_NAME: this.pd.APPROVE_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-7') {
obj = {
title: '班长验票打回',
USER_NAME: this.pd.MONITOR_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-8') {
obj = {
title: '验收打回',
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-99') {
obj = {
title: '已作废(班长未验票)',
AUSER_NAME: '',
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-98') {
obj = {
title: '已作废(未进行气体检测)',
AUSER_NAME: '',
OPERATTIME: this.pd.OPERATTIME
}
}
return obj
},
getIsPase(col) {
if (!this.pd[col]) {
return '已跳过'
}
},
goDetail(id) {
this.$parent.activeName = 'Detail'
this.$parent.HOTWORKAPPLICATION_ID = id
},
translate(id, list) {
for (let i = 0; i < list.length; i++) {
if (list[i].BIANMA === id || list[i].value === id || list[i].id === id) return list[i].NAME || list[i].label || list[i].name
}
},
getUserName(keyName, list) {
if (list) {
var keyVal = ''
for (let i = 0; i < list.length; i++) {
if (list[i][keyName]) {
keyVal += list[i][keyName] + ','
}
}
return keyVal.substring(0, (keyVal.length - 1))
}
}
}
}
</script>

View File

@ -0,0 +1,326 @@
<template>
<div class="app-container">
<el-form label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="作业编号">
<el-input v-model="KEYWORDS" placeholder="请输入编号"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="动火时间">
<el-date-picker
v-model="WORK_TIME"
type="datetime"
unlink-panels
value-format="yyyy-MM-dd HH:mm:SS"
format="yyyy-MM-dd HH:mm:SS"
style="width: 100%;" />
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="动火等级">
<el-select v-model="STATUS" clearable placeholder="请选择" style="width: 100%;">
<el-option v-for="item in statusList" :key="item.ID" :label="item.NAME" :value="item.NAME" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="10px">
<el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="getQuery">
搜索
</el-button>
<el-button v-waves icon="el-icon-refresh" type="success" @click="goKeyReset">
重置
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="listLoading" ref="multipleTable" :data="varList" :row-key="getRowKey" :header-cell-style="{'font-weight': 'bold','color': '#000'}" tooltip-effect="dark" border fit highlight-current-row>
<el-table-column :reserve-selection="true" type="selection" width="55" align="center" />
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column prop="CHECK_NO" label="作业编号" align="center"/>
<el-table-column prop="APPLY_DEPARTMENT_NAME" label="申请单位" align="center"/>
<el-table-column prop="APPLY_USER_NAME" label="申请人" align="center"/>
<el-table-column prop="HOT_WORK_TIME" label="动火时间" align="center">
<template slot-scope="{row}">
{{ row.WORK_START_DATE }} {{ row.WORK_END_DATE }}
</template>
</el-table-column>
<el-table-column prop="STATUS" label="审核状态" align="center">
<template slot-scope="{row}">
<span v-if="row.APPLY_STATUS==0"></span>
<span v-else-if="row.APPLY_STATUS==1">作业负责人待审核</span>
<span v-else-if="row.APPLY_STATUS==2">所在单位待审核</span>
<span v-else-if="row.APPLY_STATUS==4">安全管理部门待审核</span>
<span v-else-if="row.APPLY_STATUS==5">动火审批人待审核</span>
<span v-else-if="row.APPLY_STATUS==6">班长待验票</span>
<span v-else-if="row.APPLY_STATUS==7">待验收</span>
<span v-else-if="row.APPLY_STATUS==8">验收归档</span>
<span v-else-if="row.APPLY_STATUS==-2">作业负责人审核打回</span>
<span v-else-if="row.APPLY_STATUS==-4">所在单位审核打回</span>
<span v-else-if="row.APPLY_STATUS==-5">安全管理部门审核打回</span>
<span v-else-if="row.APPLY_STATUS==-6">动火审批人审核打回</span>
<span v-else-if="row.APPLY_STATUS==-7">班长验票打回</span>
<span v-else-if="row.APPLY_STATUS==-8">验收打回</span>
<span v-else-if="row.APPLY_STATUS==-99">已作废班长未验票</span>
<span v-else-if="row.APPLY_STATUS==-98">已作废未进行气体检测</span>
</template>
</el-table-column>
<el-table-column prop="CHECK_NO" label="审核人" align="center">
<template slot-scope="{row}">
<span v-if="row.APPLY_STATUS==0">{{ row.CONFIRM_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==1">{{ row.CONFIRM_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==2">{{ row.LEADER_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==4">{{ row.AUDIT_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==5">{{ row.APPROVE_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==6">{{ row.MONITOR_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==7">{{ row.ACCEPT_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==8">{{ row.ACCEPT_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-2">{{ row.CONFIRM_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-4">{{ row.LEADER_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-5">{{ row.AUDIT_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-6">{{ row.APPROVE_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-7">{{ row.MONITOR_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-8">{{ row.ACCEPT_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-99">{{ row.MONITOR_USER_NAME }}</span>
<span v-else-if="row.APPLY_STATUS==-98">{{ row.APPLY_USER_NAME }}</span>
</template>
</el-table-column>
<el-table-column prop="WORK_LEVEL" label="动火等级" align="center"/>
<el-table-column label="操作" align="center" width="230">
<template slot-scope="{row}">
<el-button type="primary" icon="el-icon-document" size="mini" @click="goDetail(row.HOTWORK_ID)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="page-btn-group">
<div>
<!-- <el-button v-show="add" type="primary" icon="el-icon-plus" @click="handleAdd"></el-button>-->
<!-- <el-button v-show="del" type="danger" icon="el-icon-delete" plain @click="batchDel"></el-button>-->
</div>
<pagination :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
export default {
components: { Pagination },
directives: { waves },
data() {
return {
listLoading: true,
add: false,
del: false,
edit: false,
listQuery: {
page: 1,
limit: 10
},
total: 0,
KEYWORDS: '',
WORK_TIME: '',
varList: [],
pd: [],
multipleSelectionAll: [], //
multipleSelection: [], //
dialogFormShow: false,
dialogFormEdit: false,
dialogType: 'add',
replyVarList: [], // REPLY
replyListQuery: {
page: 1,
limit: 10
},
replyTotal: 0,
dialogFormHuifuShow: false,
statusList: [
{ ID: '0', NAME: '特级' },
{ ID: '1', NAME: '一级' },
{ ID: '2', NAME: '二级' },
{ ID: '4', NAME: '三级' }
],
STATUS: '',
DEPTIDS: ''
}
},
created() {
this.getList()
},
methods: {
getRowKey(row) {
return row.HOTWORK_ID
},
//
getQuery() {
this.$refs.multipleTable.clearSelection()
this.getList()
},
goKeyReset() {
this.KEYWORDS = ''
this.STATUS = ''
this.WORK_TIME = ''
this.getQuery()
},
//
getList() {
this.listLoading = true
requestFN(
'/dangerousWork/hotwork/listFirstCompany?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
KEYWORDS: this.KEYWORDS,
APPLY_STATUS: this.STATUS,
ticketType: this.$parent.ticketType,
DEPTIDS: this.DEPTIDS,
WORK_TIME: this.WORK_TIME,
STATUS: this.STATUS,
tm: new Date().getTime(),
CORPINFO_ID: this.$parent.CORPINFO_ID
}
).then((data) => {
this.listLoading = false
this.varList = data.varList
this.total = data.page.totalResult
this.hasButton()
}).catch((e) => {
this.listLoading = false
})
},
//
hasButton() {
var keys = 'hotwork:add,hotwork:del,hotwork:edit,toExcel'
requestFN(
'/head/hasButton',
{
keys: keys
}
).then((data) => {
this.add = data.hotworkfhadminadd //
this.del = data.hotworkfhadmindel //
this.edit = data.hotworkfhadminedit //
}).catch((e) => {
this.listLoading = false
})
},
goChart(row) {
this.pd = row
this.dialogFormShow = true
},
getStatus() {
if (this.pd.APPLY_STATUS <= '0') {
return 0
}
if (this.pd.APPLY_STATUS == '1') {
return 1
}
if (this.pd.APPLY_STATUS == '2') {
return 2
}
if (this.pd.APPLY_STATUS == '4') {
return 3
}
if (this.pd.APPLY_STATUS == '5') {
return 4
}
if (this.pd.APPLY_STATUS == '6') {
return 5
}
if (this.pd.APPLY_STATUS == '7') {
return 6
}
if (this.pd.APPLY_STATUS == '8') {
return 8
}
},
getProcessStatus() {
if (this.pd.APPLY_STATUS < '0') {
return 'error'
} else {
return 'process'
}
},
getProcessMessage() {
let obj = {}
if (this.pd.APPLY_STATUS >= '0') {
obj = {
title: '',
USER_NAME: this.pd.APPLY_USER_NAME,
OPERATTIME: this.pd.CREATTIME
}
}
if (this.pd.APPLY_STATUS == '-2') {
obj = {
title: '作业负责人审核打回',
USER_NAME: this.pd.CONFIRM_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-4') {
obj = {
title: '所在单位审核打回',
USER_NAME: this.pd.LEADER_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-5') {
obj = {
title: '安全管理部门审核打回',
USER_NAME: this.pd.AUDIT_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-6') {
obj = {
title: '动火审批人审核打回',
USER_NAME: this.pd.APPROVE_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-7') {
obj = {
title: '班长验票打回',
USER_NAME: this.pd.MONITOR_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-8') {
obj = {
title: '验收打回',
AUSER_NAME: this.pd.ACCEPT_USER_NAME,
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-99') {
obj = {
title: '已作废(班长未验票)',
AUSER_NAME: '',
OPERATTIME: this.pd.OPERATTIME
}
}
if (this.pd.APPLY_STATUS == '-98') {
obj = {
title: '已作废(未进行气体检测)',
AUSER_NAME: '',
OPERATTIME: this.pd.OPERATTIME
}
}
return obj
},
getIsPase(col) {
if (!this.pd[col]) {
return '已跳过'
}
},
goDetail(id) {
this.$parent.activeName = 'DetailCfd'
this.$parent.HOTWORK_ID = id
}
}
}
</script>

View File

@ -0,0 +1,70 @@
<template>
<div style="position: relative">
<List v-show="activeName=='List'" ref="list" />
<ListCfd v-show="activeName=='ListCfd'" ref="list"/>
<Detail v-if="activeName=='Detail'"/>
<DetailCfd v-if="activeName=='DetailCfd'"/>
<div v-if="activeName=='List' || activeName=='ListCfd'" class="ui-foot">
<el-button type="primary" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import List from './components/list'
import Detail from './components/detail'
import ListCfd from "./components/list_cfd"
import DetailCfd from "./components/detail_cfd"
export default {
components: {
List: List,
Detail: Detail,
ListCfd: ListCfd,
DetailCfd: DetailCfd
},
created() {
if (this.CORPINFO_ID == '035958e685cf4850bc40151c5e0617a6') {
this.activeName = 'ListCfd'
} else {
this.activeName = 'List'
}
},
data() {
return {
activeName: 'List',
CORPINFO_ID: this.$parent.CORPINFO_ID,
HOTWORK_ID: '',
ticketType: this.$parent.ticketType,
HOTWORKAPPLICATION_ID: ''
}
},
watch: {
activeName(val) {
if (val == 'List') {
this.$refs.list.getQuery()
}
if (val == 'ListCfd') {
this.$refs.list.getQuery()
}
}
},
methods: {
goBack() {
this.$parent.activeName = 'CorpInfo'
}
}
}
</script>
<style scoped>
.ui-foot {
position: fixed;
width: calc(100% - 210px);
bottom: 0;
height: 45px;
line-height: 45px;
background-color: #f1f1f1;
text-align: center;
}
</style>

View File

@ -0,0 +1,20 @@
<template>
<div>
<CorpInfo v-show="activeName=='CorpInfo'" ref="list" />
<hotwork v-if="activeName=='hotwork_list'"/>
</div>
</template>
<script>
import CorpInfo from './components/corpInfo'
import hotwork from './components/hotwork/hotwork_list'
export default {
components: { CorpInfo, hotwork },
data() {
return {
activeName: 'CorpInfo',
CORPINFO_ID: '',
ticketType: ''
}
}
}
</script>

View File

@ -0,0 +1,348 @@
<template>
<div class="app-container print-work">
<div class="level-title">
<h1>动火安全作业票</h1>
<div class="level-btns">编号:{{ pd.CHECK_NO }}</div>
</div>
<table class="table-ui">
<tr>
<td class="bbg-transparent">作业申请单位</td>
<td>{{ pd.APPLY_DEPARTMENT_NAME }}</td>
<td class="bbg-transparent">作业申请时间</td>
<td>{{ pd.CREATTIME }}</td>
</tr>
<tr>
<td class="bbg-transparent">作业内容</td>
<td>{{ pd.WORK_CONTENT }}</td>
<td class="bbg-transparent">动火地点及动火部位</td>
<td>{{ pd.WORK_PLACE }}</td>
</tr>
<tr>
<td class="bbg-transparent">动火作业级别</td>
<td>{{ pd.WORK_LEVEL }}</td>
<td class="bbg-transparent">动火方式</td>
<td>{{ pd.WORK_FUNCTION }}</td>
</tr>
<tr>
<td class="bbg-transparent">动火人及证书编号</td>
<td colspan="3">{{ pd.WORK_USER }}</td>
</tr>
<tr>
<td class="bbg-transparent">作业单位</td>
<td>{{ pd.CONFIRM_DEPARTMENT_NAME }}</td>
<td class="bbg-transparent">作业负责人</td>
<td>{{ pd.CONFIRM_USER_NAME }}</td>
</tr>
<template v-for="(item,index) in gasList">
<tr :key="index">
<td class="bbg-transparent">气体取样分析时间</td>
<td>{{ item.ANALYZE_TIME }}</td>
<td class="bbg-transparent">代表性气体</td>
<td>{{ item.ANALYZE_PLACE }}</td>
</tr>
<tr :key="index">
<td class="bbg-transparent">分析结果/%</td>
<td>{{ item.ANALYZE_RESULT }}</td>
<td class="bbg-transparent">分析人</td>
<td>{{ item.ANALYZE_USER }}</td>
</tr>
</template>
<tr>
<td class="bbg-transparent">关联的其他特殊作业及安全作业票编号</td>
<td colspan="3">{{ pd.SPECIAL_WORK }}</td>
</tr>
<tr>
<td class="bbg-transparent">风险辨识结果</td>
<td colspan="3">{{ pd.RISK_IDENTIFICATION }}</td>
</tr>
<tr>
<td class="bbg-transparent">动火作业实施时间</td>
<td colspan="3">{{ pd.WORK_START_DATE }}{{ pd.WORK_END_DATE }}</td>
</tr>
<tr>
<td colspan="4">
<table class="table-ui">
<tr>
<td>序号</td>
<td>安全措施</td>
<td>是否涉及</td>
<td>确认人</td>
</tr>
<tr v-for="(item,index) in measuresList" :key="index">
<td>{{ index + 1 }}</td>
<td>
{{ item.PROTECTIVE_MEASURES }}
<!-- <template v-if="item.QUESTION1">-->
<!-- {{ item.QUESTION1 }}({{ item.ANSWER1 }})-->
<!-- </template>-->
<!-- <template v-if="item.QUESTION2">-->
<!-- {{ item.QUESTION2 }}({{ item.ANSWER2 }}) {{ item.QUESTION3 }}({{ item.ANSWER3 }})-->
<!-- </template>-->
</td>
<td>
<span v-if="item.STATUS=='1'"><input type="radio" disabled checked>&nbsp;&nbsp;&nbsp;</span>
<span v-if="item.STATUS=='-1'"><input type="radio" disabled checked>不涉及</span>
</td>
<td>
{{ item.CONFIRM_NAME }}
</td>
</tr>
<tr v-if="pd.CONFIRM_USER_MEASURES || pd.LEADER_USER_MEASURES || pd.AUDIT_USER_MEASURES || pd.APPROVE_USER_MEASURES || pd.MONITOR_USER_MEASURES">
<td>{{ measuresList.length + 1 }}</td>
<td colspan="3">
<div v-if="pd.CONFIRM_USER_MEASURES" style="display: flex;justify-content: space-between;">
<span>其他安全措施{{ pd.CONFIRM_USER_MEASURES }}</span>
<span>编制人{{ pd.CONFIRM_USER_NAME }}</span>
</div>
<div v-if="pd.LEADER_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.LEADER_USER_MEASURES }}</span>
<span>编制人{{ pd.LEADER_USER_NAME }}</span>
</div>
<div v-if="pd.AUDIT_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.AUDIT_USER_MEASURES }}</span>
<span>编制人{{ pd.AUDIT_USER_NAME }}</span>
</div>
<div v-if="pd.APPROVE_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.APPROVE_USER_MEASURES }}</span>
<span>编制人{{ pd.APPROVE_USER_NAME }}</span>
</div>
<div v-if="pd.MONITOR_USER_MEASURES" style="display: flex;justify-content: space-between;margin-top: 10px;">
<span>其他安全措施{{ pd.MONITOR_USER_MEASURES }}</span>
<span>编制人{{ pd.MONITOR_USER_NAME }}</span>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="bbg-transparent">安全交底人</td>
<td colspan="10">
<div v-if="pd.CONFESS_USER_SIGNER_PATH" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="bbg-transparent">接受交底人</td>
<td colspan="10">
<div v-for="item in imgList" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + item.ACCEPT_CONFESS_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ item.ACCEPT_CONFESS_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr>
<td class="bbg-transparent">监护人</td>
<td colspan="3">
<div v-if="pd.GUARDIAN_USER_SIGNER_PATH" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.GUARDIAN_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.GUARDIAN_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.CONFIRM_USER_SIGNER_PATH">
<td colspan="6">
<div>作业负责人意见{{ pd.CONFIRM_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.CONFIRM_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.CONFIRM_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.LEADER_USER_SIGNER_PATH">
<td colspan="6">
<div>所在单位意见{{ pd.LEADER_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.LEADER_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.LEADER_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.AUDIT_USER_SIGNER_PATH">
<td colspan="6">
<div>安全管理部门意见{{ pd.AUDIT_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.AUDIT_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.AUDIT_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.APPROVE_USER_SIGNER_PATH">
<td colspan="6">
<div>动火审批人意见{{ pd.APPROVE_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.APPROVE_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.APPROVE_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="pd.MONITOR_USER_SIGNER_PATH">
<td colspan="6">
<div>动火前岗位当班班长验票情况{{ pd.MONITOR_CONTENT }}</div>
<div style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + pd.MONITOR_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ pd.MONITOR_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
<tr v-if="imgList1.length>0">
<td colspan="10">
<div>完工验收{{ pd.ACCEPT_CONTENT }}</div>
<div v-for="item in imgList1" :key="item.ACCEPT_CONFESS_ID" style="text-align: right">
<span>签字</span>
<img v-viewer :src="config.fileUrl + item.ACCEPT_USER_SIGNER_PATH" alt="" width="100" height="100">
<span>{{ item.ACCEPT_USER_SIGNER_TIME }}</span>
</div>
</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
}
},
data() {
return {
config: config,
info: {},
pd: [], //
measuresList: [],
hImgs: [],
safetymethodrecordList: [],
delayedList: [],
gasList: [],
imgList: [],
imgList1: [],
otherProtectiveMeasures: []
}
},
created() {
this.getData()
},
methods: {
validStr(str) {
if (str != null && str != '' && typeof (str) != 'undefined' && str != 0) { return true }
return false
},
formatTime(date, column) {
if (date) {
return dateformat(date, 'YYYY年MM月DD日HH时mm分')
} else {
return ''
}
},
formatDate(date, column) {
if (date) {
return dateformat(date, 'YYYY-MM-DD')
} else {
return ''
}
},
getRowKey(row) {
return row.HOTWORK_ID
},
getData() {
this.listLoading = true
requestFN(
'/map/Eight/cfd/getByIdOrder',
{
HOTWORK_ID: this.id,
id: this.id,
TYPE: this.type
}
).then((data) => {
this.listLoading = false
this.pd = data.pd // map
this.imgList = data.imgList
this.imgList1 = data.imgList1
for (let i = 0; i < data.measuresList.length; i++) {
//
const PROTECTIVE_MEASURES = data.measuresList[i].PROTECTIVE_MEASURES.split('')
for (let j = 1; j <= 3; j++) {
//
if (this.findCharIndex(PROTECTIVE_MEASURES, '', j) !== -1) {
//
PROTECTIVE_MEASURES.splice(
this.findCharIndex(PROTECTIVE_MEASURES, '', j) + 1,
0,
data.measuresList[i]['ANSWER' + j]
)
}
}
//
data.measuresList[i].PROTECTIVE_MEASURES = PROTECTIVE_MEASURES.join('')
}
this.measuresList = data.measuresList // map
this.gasList = data.gasList // map
this.pd.CONFIRM_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[0]
this.pd.LEADER_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[1]
this.pd.AUDIT_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[2]
this.pd.APPROVE_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[3]
this.pd.MONITOR_USER_MEASURES = this.pd.OTHER_PROTECTIVE_MEASURES.split(';_;')[4]
}).catch((e) => {
this.listLoading = false
})
},
getListAllMeasures() {
requestFN(
'/map/Eight/cfd/listAllMeasures',
{
HOTWORKAPPLICATION_ID: this.id
}
).then((data) => {
this.measuresList = data.varList
}).catch((e) => {
})
},
//
findCharIndex(str, char, num) {
let index = str.indexOf(char)
for (let i = 0; i < num - 1; i++) {
index = str.indexOf(char, index + 1)
}
return index
},
getDelayed() {
requestFN(
'/map/Eight/cfd/list',
{
HOTWORKAPPLICATION_ID: this.id
}
).then((data) => {
this.hImgs = data.varList
}).catch((e) => {
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -19,7 +19,8 @@
<video-play-bianjieruqin v-if="type === 'bianjieruqin'" :id="id" :type="type" :gangkou="gangkou"/> <video-play-bianjieruqin v-if="type === 'bianjieruqin'" :id="id" :type="type" :gangkou="gangkou"/>
<!--秦港一公司 边界入侵 详细页面 end--> <!--秦港一公司 边界入侵 详细页面 end-->
<!--秦港一公司 八项作业 详细页面 start--> <!--秦港一公司 八项作业 详细页面 start-->
<hotwork v-if="type === 'HOTWORK'&& corpInfoId !== '635917e77af8461691d5da5507b56347'" :id="id" :type="type" :gangkou="gangkou"/> <hotworkFirst v-if="type === 'HOTWORK' && corpInfoId === '035958e685cf4850bc40151c5e0617a6' " :id="id" :type="type" :gangkou="gangkou"/>
<hotwork v-if="type === 'HOTWORK'&& corpInfoId !== '635917e77af8461691d5da5507b56347' && corpInfoId !== '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :gangkou="gangkou"/>
<confinedspace v-if="type === 'CONFINEDSPACE' && corpInfoId !== '635917e77af8461691d5da5507b56347'" :id="id" :type="type" :gangkou="gangkou"/> <confinedspace v-if="type === 'CONFINEDSPACE' && corpInfoId !== '635917e77af8461691d5da5507b56347'" :id="id" :type="type" :gangkou="gangkou"/>
<electricity v-if="type === 'ELECTRICITY' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :gangkou="gangkou"/> <electricity v-if="type === 'ELECTRICITY' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :gangkou="gangkou"/>
<highwork v-if="type === 'HIGHWORK' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :gangkou="gangkou"/> <highwork v-if="type === 'HIGHWORK' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" :gangkou="gangkou"/>
@ -94,6 +95,7 @@ import hoistingCfdD from './hoistingCfdD.vue'
import peoplePositionCfdD from './peoplePositionCfdD.vue' import peoplePositionCfdD from './peoplePositionCfdD.vue'
import carPositionCfdD from './carPositionCfdD.vue' import carPositionCfdD from './carPositionCfdD.vue'
import peoplePositionOne from './peoplePositionOne.vue' import peoplePositionOne from './peoplePositionOne.vue'
import hotworkFirst from "./hotworkFirst";
import peoplePositionYGS from './peoplePositionYGS.vue' import peoplePositionYGS from './peoplePositionYGS.vue'
import outSourceInfo from './outSourceInfo.vue' import outSourceInfo from './outSourceInfo.vue'
import outSourceVideoInfo from './outSourceVideoInfo.vue' import outSourceVideoInfo from './outSourceVideoInfo.vue'
@ -136,6 +138,8 @@ export default {
carPositionCfdD, carPositionCfdD,
videoPlayBianjieruqin, videoPlayBianjieruqin,
peoplePositionOne, peoplePositionOne,
hotworkFirst
peoplePositionOne,
peoplePositionYGS, peoplePositionYGS,
outSourceInfo, outSourceInfo,
outSourceVideoInfo outSourceVideoInfo