hbt-prevention-ui/src/views/risk/assessment/work/workAnal.component.html

211 lines
14 KiB
HTML

<div class="common-box dis-flex ">
<div class="common-tree-box">
<UnitTreeComponent @callback="handleNodeClick"></UnitTreeComponent>
</div>
<div class="common-content-box dis-flex flex-col flex-1">
<div class="search-box">
<FormComponent :options="formOptions" :data.sync="params" @actionCallback="callback" :actions="formActions"
:full-btn="false" @change="changes" btn-position="end"></FormComponent>
</div>
<div class="table-box flex-1">
<TableComponent :tableData="tableData" :tableColumn="tableColumn" @tabCallback="callback($event)"
@actionCallback="callback($event)" @pageNumberChange="callback($event)"
@pageSizeChange="callback($event)" :footerActions="footerActions" :actions="tableActions">
<el-table ref="multipleTable" :data="tableData.datas" height="100%" border row-key="checked"
@selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" label="全选" width="40">
</el-table-column>
<template v-for="item in tableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key">
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key">
</el-table-column>
</template>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button type="text" @click="showUpdateModel(scope.row,true)">查看</el-button>
<el-button type="text" @click="showUpdateModel(scope.row,false,true)">修改</el-button>
<el-button type="text" @click="deleteData([scope.row.id])">删除</el-button>
</template>
</el-table-column>
</el-table>
</TableComponent>
</div>
</div>
<el-dialog :close-on-click-modal="false" :title="!updateParams.id?'新增':isReadonly?'详情':'编辑'"
:visible.sync="showUpdate" width="952px" :before-close="handleClose">
<FormComponent :options="updateOptions" labelWidth="110px" labelAlign="right" :data.sync="updateParams"
:isReadonly="isReadonly" @actionCallback="callback" @change="changes">
<div class="sub-title">工作危害分析法</div>
<TableComponent :tableData="currentStepTableData" :tableColumn="subTableColumn"
@actionCallback="callback($event)" :actions="isReadonly? []:subTableActions" actionPosition="flex-start"
:showFooter="false" style="margin-bottom: 20px;">
<el-table ref="multipleTable" :data="updateParams.steps" tooltip-effect="dark" height="250" border
row-key="checked" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" label="全选" width="40">
</el-table-column>
<template v-for="item in subTableColumn">
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name"
:width="item.width" :key="item.key">
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column>
<el-table-column v-else :prop="item.key" :show-overflow-tooltip="item.showTip"
:label="item.name" :width="item.width" :key="item.key">
</el-table-column>
</template>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button v-if="isReadonly" type="text"
@click="showSubModel(scope.row,isReadonly)">查看</el-button>
<el-button v-if="isModifyonly" type="text" @click="showSubModel(scope.row)">修改</el-button>
<el-button v-if="!isReadonly && !isModifyonly" type="text"
@click="showSubModel(scope.row)">评价</el-button>
</template>
</el-table-column>
</el-table>
</TableComponent>
</FormComponent>
<FormComponent :options="subBasicRiskOptions" labelWidth="110px" labelAlign="right" :data.sync="updateParams"
:isReadonly="isReadonly" @actionCallback="callback" @change="changes"
:actions="isReadonly? []:updateActions" :full-btn="true" btnPosition="center">
</FormComponent>
</el-dialog>
<!-- 评估矩阵 -->
<el-dialog :close-on-click-modal="false" :visible.sync="showMatrixModal" :title="'区域风险等级判定准则'">
<img style="width:100%" src="../../../../assets/images/5.png" alt="">
</el-dialog>
<!-- 危害分析评价 -->
<el-dialog :close-on-click-modal="false" :visible.sync="showSubUpdate" width="880px"
:before-close="handleAnalyClose">
<div class="sub-title">基本信息</div>
<FormComponent :options="subBasicOptions" labelWidth="110px" labelAlign="right"
:data.sync="analysisUpdateParams" @actionCallback="callback" :isReadonly="analyIsReadonly">
</FormComponent>
<div class="sub-title">风险评估</div>
<FormComponent :options="subRiskOptions" labelWidth="110px" labelAlign="right" :data.sync="analysisUpdateParams"
@actionCallback="callback" @change="handleRiskChange" :isReadonly="analyIsReadonly">
</FormComponent>
<div class="sub-title">管控措施</div>
<FormComponent labelWidth="110px" labelAlign="right" :data.sync="analysisUpdateParams"
@actionCallback="measureCallback" :isReadonly="analyIsReadonly">
<TableComponent :tableData="currentMeasureData.datas" :tableColumn="triTableColumn"
@actionCallback="measureCallback($event)" :actions="analyIsReadonly ? []:triTableActions"
actionPosition="flex-start" :showFooter="false" style="margin-bottom: 20px;">
<el-table ref="multipleTable" :data="currentMeasureData.datas" tooltip-effect="dark" height="250" border
row-key="checked" @selection-change="handleSelectionChange" style="width: 100%">
<el-table-column type="selection" label="全选" width="40">
</el-table-column>
<template v-for="item in triTableColumn">
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name"
:width="item.width" :key="item.key">
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column>
<el-table-column v-else :prop="item.key" :show-overflow-tooltip="item.showTip"
:label="item.name" :width="item.width" :key="item.key">
</el-table-column>
</template>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button type="text" @click="showMeasureModel(scope.row,true)">查看</el-button>
<el-button type="text" @click="showMeasureModel(scope.row)">编辑</el-button>
<el-button type="text" @click="deleteMeasure(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</TableComponent>
</FormComponent>
<div class="sub-title">残余风险评估</div>
<FormComponent :options="subRemnantsOptions" labelWidth="110px" labelAlign="right"
:data.sync="analysisUpdateParams" @actionCallback="analyCallback" :actions="analyIsReadonly ? []:triActions"
:full-btn="true" btnPosition="center" @change="handleSubRiskChange" :isReadonly="analyIsReadonly">
</FormComponent>
</el-dialog>
<!-- 风险评估方法 -->
<el-dialog :close-on-click-modal="false" :visible.sync="showRiskUpdate" width="800px" :before-close="handleClose">
<FormComponent :options="riskType === 'ls'? riskLSUpdateOptions:riskLECUpdateOptions " labelWidth="110px"
labelAlign="right" :data.sync="methodUpdateParams" @actionCallback="methodCallback" :actions="triActions"
:full-btn="true" btnPosition="center">
</FormComponent>
<div v-if="riskType === 'ls'">
<img style="width:90%" src="../../../../assets/images/3.png" alt="">
<img style="width:80%" src="../../../../assets/images/2.png" alt="">
</div>
<div v-if="riskType === 'lec'">
<img style="width:100%" src="../../../../assets/images/6.png" alt="">
</div>
</el-dialog>
<!-- 风险评估取值 -->
<div v-if="showRiskValueUpdate">
<el-dialog :close-on-click-modal="false" :title="riskTitle" :visible.sync="showRiskValueUpdate" width="750px"
:before-close="handleClose" :show-close="false">
<TableComponent :tableData="riskTableData" :tableColumn="riskTableColumn" @tabCallback="popCallback($event)"
actionPosition="flex-start" :showFooter="false" style="margin-bottom: 20px;"
:data.sync="methodUpdateParams">
<el-table ref="singleTable" :data="riskTableData" tooltip-effect="dark" border row-key="checked"
highlight-current-row @current-change="handleCurrentChange" style="width: 100%">
<template v-for="item in riskTableColumn">
<el-table-column v-if="item.render" :label="item.name" :width="item.width" :key="item.key">
<div slot-scope="scope" style="pointer-events: none;" @click="addVal($event,scope.row)"
v-html="item.render(scope.row)"></div>
</el-table-column>
<el-table-column v-else :prop="item.key" :label="item.name" :width="item.width" :key="item.key">
</el-table-column>
</template>
</el-table>
</TableComponent>
<ButtonListComponent :actions="triActions" @callback="popCallback" btn-position="center" :full-btn="true">
</ButtonListComponent>
</el-dialog>
</div>
<!--管控措施-->
<el-dialog :close-on-click-modal="false" :title="'管控措施制定'" :visible.sync="showTriUpdate" width="750px"
:before-close="handleMeasureClose">
<FormComponent :options="triUpdateOptions" labelWidth="110px" labelAlign="right"
:data.sync="measureUpdataParams" :isReadonly="measureIsReadonly" :actions="subActions"
@actionCallback="measureCallback($event)" :full-btn="true" btnPosition="center" @change="measureChange">
<div class="sub-title">排查任务制定</div>
<TableComponent :tableData="currentTaskData.datas" :tableColumn="taskTableColumn"
@actionCallback="measureCallback($event)" :actions="!measureIsReadonly?fourTableActions:[]"
actionPosition="flex-start" :showFooter="false" style="margin-bottom: 20px;">
<el-table ref="multipleTable" :data="currentTaskData.datas" tooltip-effect="dark" height="250" border
row-key="checked" @selection-change="handleSelectionChange" style="width: 100%">
<template v-for="item in taskTableColumn">
<el-table-column v-if="item.render" :show-overflow-tooltip="item.showTip" :label="item.name"
:width="item.width" :key="item.key">
<div slot-scope="scope" v-html="item.render(scope.row)"></div>
</el-table-column>
<el-table-column v-else :prop="item.key" :show-overflow-tooltip="item.showTip"
:label="item.name" :width="item.width" :key="item.key">
</el-table-column>
</template>
<el-table-column label="操作" width="150">
<template slot-scope="scope">
<el-button type="text" @click="showTaskModel(scope.row,true)">查看</el-button>
<el-button :v-if="!measureIsReadonly" type="text"
@click="showTaskModel(scope.row)">编辑</el-button>
<el-button :v-if="!measureIsReadonly" type="text"
@click="deleteTask(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</TableComponent>
</FormComponent>
</el-dialog>
<!-- 排查任务 -->
<el-dialog :close-on-click-modal="false" :title="taskCurrentId === -1 ? '新增':taskIsReadonly?'详情':'编辑'"
:visible.sync="showFourUpdate" width="700px" :before-close="handleCloseTask">
<FormComponent :options="taskUpdateOptions" :isReadonly="taskIsReadonly" labelWidth="110px" labelAlign="right"
:data.sync="taskUpdataParams" :actions="subActions" :full-btn="true" btnPosition="center"
@actionCallback="taskCallback" @change="taskSelectChange">
</FormComponent>
</el-dialog>
</div>