forked from xxhjsb/hbt-prevention-ui
211 lines
14 KiB
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> |