<template>
|
<div class="system-menu-dialog-container">
|
<el-dialog :title="identifyDialogState.title" v-model="identifyDialogState.identifyDialogVisible" width="600px">
|
<el-form ref="identifyFormRef" :rules="identifyDialogState.identifyFormRules" :model="identifyDialogState.identifyForm" size="default" label-width="160px">
|
<el-row :gutter="35">
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="辨识方法" prop="identificationMethod">-->
|
<!-- <el-select class="input-length" :disabled="true" v-model="identifyDialogState.identifyForm.identificationMethod" style="width:100%" placeholder="辨识方法" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.identificationMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
|
<div style="width: 100%" v-if="identifyDialogState.method === 1">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="PHA_检查项目" prop="phaCheckItem">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaCheckItem" placeholder="检查项目" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="PHA_存在风险因素" prop="phaRiskFactor">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaRiskFactor" placeholder="存在风险因素" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="PHA_可能产生的后果" prop="phaResult">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.phaResult" placeholder="可能产生的后果" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="分配评价方法">
|
<el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
|
<el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="评价专家" prop="phaEvaluateUser">-->
|
<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.phaEvaluateUser" style="width:100%" placeholder="" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="评价专家">
|
<el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识结果" prop="result">
|
<el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
|
<el-radio :label="1">有风险</el-radio>
|
<el-radio :label="2">无风险</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识专家建议" prop="identificationDesc">
|
<el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
</div>
|
|
<div style="width: 100%" v-if="identifyDialogState.method === 2">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="JHA_作业步骤" prop="jhaCheckItem">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaCheckItem" placeholder="作业步骤" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="JHA_危险源或潜在事件" prop="jhaRiskFactor">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaRiskFactor" placeholder="危险源或潜在事件" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="JHA_可能产生的后果" prop="jhaResult">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.jhaResult" placeholder="可能产生的后果" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="分配评价方法">
|
<el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
|
<el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="评价专家" prop="jhaEvaluateUser">-->
|
<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.jhaEvaluateUser" style="width:100%" placeholder="" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="评价专家">
|
<el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识结果" prop="result">
|
<el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
|
<el-radio :label="1">有风险</el-radio>
|
<el-radio :label="2">无风险</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识专家建议" prop="identificationDesc">
|
<el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
</div>
|
|
<div style="width: 100%" v-if="identifyDialogState.method === 3">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="SCL_检查项目" prop="sclCheckItem">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckItem" placeholder="检查项目" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="SCL_检查标准" prop="sclCheckStandard">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckStandard" placeholder="检查标准" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="SCL_不符合标准情况" prop="sclCheckUnstandard">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckUnstandard" placeholder="不符合标准情况" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="SCL_主要后果" prop="sclCheckResult">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.sclCheckResult" placeholder="主要后果" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="分配评价方法">
|
<el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
|
<el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="评价专家" prop="sclEvaluateUser">-->
|
<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.sclEvaluateUser" style="width:100%" placeholder="" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="评价专家">
|
<el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识结果" prop="result">
|
<el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
|
<el-radio :label="1">有风险</el-radio>
|
<el-radio :label="2">无风险</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识专家建议" prop="identificationDesc">
|
<el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
</div>
|
|
<div style="width: 100%" v-if="identifyDialogState.method === 4">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_节点" prop="hazopNode">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopNode" placeholder="HAZOP_节点" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_参数" prop="hazopParam">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopParam" placeholder="HAZOP_参数" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_参数描述" prop="hazopParamDesc">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopParamDesc" placeholder="HAZOP_参数描述" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_引导词" prop="hazopGuide">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopGuide" placeholder="HAZOP_引导词" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_偏差" prop="hazopDeviation">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopDeviation" placeholder="HAZOP_偏差" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_可能原因" prop="hazopPossibleCauses">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopPossibleCauses" placeholder="HAZOP_可能原因" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="HAZOP_主要后果" prop="hazopResult">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.hazopResult" placeholder="HAZOP_主要后果" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="分配评价方法">
|
<el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
|
<el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="评价专家" prop="hazopEvaluateUser">-->
|
<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.hazopEvaluateUser" style="width:100%" placeholder="" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="评价专家">
|
<el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识结果" prop="result">
|
<el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
|
<el-radio :label="1">有风险</el-radio>
|
<el-radio :label="2">无风险</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识专家建议" prop="identificationDesc">
|
<el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
</div>
|
|
<div style="width: 100%" v-if="identifyDialogState.method === 5">
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="类比法_检查项目" prop="analogyCheckItem">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyCheckItem" placeholder="检查项目" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="类比法_类比参照" prop="analogyReference">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyReference" placeholder="类比参照" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="类比法_存在风险因素" prop="analogyRiskFactor">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyRiskFactor" placeholder="存在风险因素" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="类比法_可能产生的后果" prop="analogyResult">
|
<el-input class="input-length" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.analogyResult" placeholder="可能产生的后果" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="分配评价方法">
|
<el-select disabled class="input-length" v-model="identifyDialogState.evaluateMethod" style="width:100%" placeholder="" clearable>
|
<el-option v-for="item in identifyDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
|
<!-- <el-form-item label="评价专家" prop="analogyEvaluateUser">-->
|
<!-- <el-select class="input-length" v-model="identifyDialogState.identifyForm.analogyEvaluateUser" style="width:100%" placeholder="" clearable>-->
|
<!-- <el-option v-for="item in identifyDialogState.personList" :key="item.id" :label="item.name" :value="item.id"></el-option>-->
|
<!-- </el-select>-->
|
<!-- </el-form-item>-->
|
<!-- </el-col>-->
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="评价专家">
|
<el-input class="input-length" disabled v-model="identifyDialogState.evaluateUser" placeholder="暂无评价专家" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识结果" prop="result">
|
<el-radio-group v-model="identifyDialogState.identifyForm.result" :disabled="identifyDialogState.disabled">
|
<el-radio :label="1">有风险</el-radio>
|
<el-radio :label="2">无风险</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
</el-col>
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
<el-form-item label="辨识专家建议" prop="identificationDesc">
|
<el-input class="input-length" type="textarea" :autosize="{ minRows: 3}" :disabled="identifyDialogState.disabled" v-model="identifyDialogState.identifyForm.identificationDesc" placeholder="辨识专家建议" clearable></el-input>
|
</el-form-item>
|
</el-col>
|
</div>
|
</el-row>
|
</el-form>
|
<template #footer>
|
<span class="dialog-footer">
|
<el-button @click="identifyDialogState.identifyDialogVisible = !identifyDialogState.identifyDialogVisible" size="default">取 消</el-button>
|
<el-button v-if="!identifyDialogState.disabled" type="primary" @click="onSubmitIdentify" size="default">确定</el-button>
|
</span>
|
</template>
|
</el-dialog>
|
</div>
|
</template>
|
|
<script setup lang="ts">
|
import { reactive, ref } from "vue";
|
import {ElMessage} from "element-plus";
|
import {identifyApi} from "/@/api/analyse/identify";
|
import {isValidKey} from "/@/utils/methods";
|
|
const identifyFormRef = ref()
|
|
const identifyDialogState = reactive<IdentifyDialogType>({
|
title: '',
|
method: null,
|
time:[],
|
disabled: false,
|
evaluateMethod: null,
|
evaluateUser: '',
|
identifyDialogVisible: false,
|
identifyForm: {
|
id: null,
|
identificationMethod: null,
|
result: null,
|
identificationDesc: '',
|
analogyCheckItem: '',
|
analogyRiskFactor: '',
|
analogyResult: '',
|
analogyReference: '',
|
hazopNode: '',
|
hazopParam: '',
|
hazopParamDesc: '',
|
hazopGuide: '',
|
hazopDeviation: '',
|
hazopPossibleCauses: '',
|
hazopResult: '',
|
jhaCheckItem: '',
|
jhaRiskFactor: '',
|
jhaResult: '',
|
phaCheckItem: '',
|
phaRiskFactor: '',
|
phaResult: '',
|
sclCheckItem: '',
|
sclCheckStandard: '',
|
sclCheckUnstandard: '',
|
sclCheckResult: '',
|
hazopId: null,
|
jhaId: null,
|
phaId: null,
|
sclId: null,
|
analogyId: null
|
},
|
identifyFormRules: {
|
result: [{ required: true, message: '请选择辨识结果', trigger: 'blur' }],
|
identificationDesc: [{ required: true, message: '请输入辨识专家建议', trigger: 'blur' }],
|
analogyCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
|
analogyRiskFactor: [{ required: true, message: '请输入存在风险因素', trigger: 'blur' }],
|
analogyResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
|
analogyReference: [{ required: true, message: '请输入类比参照', trigger: 'blur' }],
|
hazopNode: [{ required: true, message: '请输入节点', trigger: 'blur' }],
|
hazopParam: [{ required: true, message: '请输入参数', trigger: 'blur' }],
|
hazopParamDesc: [{ required: true, message: '请输入参数描述', trigger: 'blur' }],
|
hazopGuide: [{ required: true, message: '请输入引导词', trigger: 'blur' }],
|
hazopDeviation: [{ required: true, message: '请输入偏差', trigger: 'blur' }],
|
hazopPossibleCauses: [{ required: true, message: '请输入可能原因', trigger: 'blur' }],
|
hazopResult: [{ required: true, message: '请输入主要后果', trigger: 'blur' }],
|
jhaCheckItem: [{ required: true, message: '请输入作业步骤', trigger: 'blur' }],
|
jhaRiskFactor: [{ required: true, message: '请输入危险源或潜在事件', trigger: 'blur' }],
|
jhaResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
|
phaCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
|
phaRiskFactor: [{ required: true, message: '请输入存在风险因素', trigger: 'blur' }],
|
phaResult: [{ required: true, message: '请输入可能产生的后果', trigger: 'blur' }],
|
sclCheckItem: [{ required: true, message: '请输入检查项目', trigger: 'blur' }],
|
sclCheckStandard: [{ required: true, message: '请输入检查标准', trigger: 'blur' }],
|
sclCheckUnstandard: [{ required: true, message: '请输入不符合标准情况', trigger: 'blur' }],
|
sclCheckResult: [{ required: true, message: '请输入主要后果', trigger: 'blur' }]
|
},
|
planList: [],
|
personList: [],
|
identificationMethodList: [
|
{id:1, name: 'PHA'},
|
{id:2, name: 'JHA'},
|
{id:3, name: 'SCL'},
|
{id:4, name: 'HAZOP'},
|
{id:5, name: '类比法'},
|
],
|
evaluateMethodList: [
|
{id:1, name: 'LEC'},
|
{id:2, name: 'LS'},
|
{id:3, name: 'MES'},
|
{id:4, name: 'RS'},
|
]
|
})
|
|
const showIdentifyDialog = (title: string, value: IdentifyType, identifyQueryForm: identifyQueryFormType,idenForm: IdentifyType,personList: Array<NewPersonListType>) => {
|
identifyDialogState.method = identifyQueryForm.identificationMethod
|
identifyDialogState.identifyDialogVisible = true;
|
identifyDialogState.disabled = false
|
identifyDialogState.evaluateMethod = idenForm.evaluateMethod
|
identifyDialogState.evaluateUser = idenForm.evaluateUser
|
identifyDialogState.personList = personList
|
setTimeout(() => {
|
identifyFormRef.value.clearValidate();
|
});
|
if(title === '新增'){
|
identifyDialogState.title = '新增';
|
identifyDialogState.identifyForm = {
|
id: identifyQueryForm.id,
|
identificationMethod: identifyQueryForm.identificationMethod,
|
result: null,
|
identificationDesc: '',
|
analogyCheckItem: '',
|
analogyRiskFactor: '',
|
analogyResult: '',
|
analogyReference: '',
|
hazopNode: '',
|
hazopParam: '',
|
hazopParamDesc: '',
|
hazopGuide: '',
|
hazopDeviation: '',
|
hazopPossibleCauses: '',
|
hazopResult: '',
|
jhaCheckItem: '',
|
jhaRiskFactor: '',
|
jhaResult: '',
|
phaCheckItem: '',
|
phaRiskFactor: '',
|
phaResult: '',
|
sclCheckItem: '',
|
sclCheckStandard: '',
|
sclCheckUnstandard: '',
|
sclCheckResult: '',
|
hazopId: null,
|
jhaId: null,
|
phaId: null,
|
sclId: null,
|
analogyId: null,
|
};
|
}else if(title === '查看'){
|
identifyDialogState.title = '查看';
|
identifyDialogState.disabled = true
|
for(let i in identifyDialogState.identifyForm){
|
if(isValidKey(i, identifyDialogState.identifyForm)){
|
identifyDialogState.identifyForm[i] = value[i];
|
}
|
}
|
}else{
|
identifyDialogState.title = '编辑';
|
for(let i in identifyDialogState.identifyForm){
|
if(isValidKey(i, identifyDialogState.identifyForm)){
|
identifyDialogState.identifyForm[i] = value[i];
|
}
|
}
|
identifyDialogState.identifyForm.identificationMethod = identifyQueryForm.identificationMethod
|
console.log(identifyDialogState.identifyForm,'identifyDialogState.identifyForm')
|
}
|
};
|
|
const onSubmitIdentify = () => {
|
identifyFormRef.value.validate(async(valid: boolean) => {
|
if(valid){
|
if(identifyDialogState.title === '新增'){
|
let { hazopId, jhaId, phaId, sclId, analogyId, ...data } = identifyDialogState.identifyForm
|
let res = await identifyApi().addIdentify(data);
|
if(res.data.code === 100){
|
emit('refresh',1,res.data.data)
|
identifyDialogState.identifyDialogVisible = false;
|
ElMessage({
|
type: 'success',
|
message: '新增成功'
|
})
|
|
}else{
|
ElMessage({
|
type: 'warning',
|
message: res.data.msg,
|
});
|
}
|
}else{
|
let res = await identifyApi().modIdentify(identifyDialogState.identifyForm)
|
if(res.data.code === 100){
|
emit('refresh',2,identifyDialogState.identifyForm)
|
identifyDialogState.identifyDialogVisible = false;
|
ElMessage({
|
type: 'success',
|
message: '编辑成功'
|
})
|
}else{
|
ElMessage({
|
type: 'warning',
|
message: res.data.msg,
|
});
|
}
|
}
|
}else{
|
ElMessage({
|
type: 'warning',
|
message: '请完善基本信息',
|
});
|
}
|
})
|
}
|
|
const emit = defineEmits(['refresh'])
|
|
defineExpose({
|
showIdentifyDialog
|
})
|
</script>
|
|
<style scoped>
|
|
</style>
|