| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="评估时间" prop="assessPlanName"> |
| | | <el-form-item label="评估时间" prop="assessTime"> |
| | | <el-date-picker |
| | | :disabled="planDialogState.disabled" |
| | | type="datetimerange" |
| | | v-model="planDialogState.time" |
| | | v-model="planDialogState.planForm.assessTime" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | format="YYYY-MM-DD HH:mm:ss" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="辨识方法" prop="identificationMethod"> |
| | | <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationMethod" style="width:100%" placeholder="辨识方法" clearable> |
| | | <el-option v-for="item in planDialogState.identificationMethodList" :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="identificationUserId"> |
| | | <el-form-item label="辨识专家" prop="identificationUserId"> |
| | | <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.identificationUserId" style="width:100%" placeholder="负责人" clearable> |
| | | <el-option v-for="item in planDialogState.personList" :key="item.id" :label="item.realName" :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="evaluateMethod"> |
| | | <el-select :disabled="planDialogState.disabled" v-model="planDialogState.planForm.evaluateMethod" style="width:100%" placeholder="推荐评价方法" clearable> |
| | | <el-option v-for="item in planDialogState.evaluateMethodList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { reactive, ref } from "vue"; |
| | | import { reactive, ref, getCurrentInstance } from "vue"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {planApi} from "/@/api/analyse/plan"; |
| | | import {isValidKey} from "/@/utils/methods"; |
| | |
| | | |
| | | const planDialogState = reactive<PlanDialogType>({ |
| | | title: '', |
| | | time:[], |
| | | disabled: false, |
| | | planDialogVisible: false, |
| | | planForm: { |
| | | riskUnitId: null, |
| | | planUserId: null, |
| | | assessPlanName: '', |
| | | assessTime: [], |
| | | assessStartTime: '', |
| | | assessEndTime: '', |
| | | identificationMethod: null, |
| | | identificationUserId: null, |
| | | evaluateMethod: null, |
| | | evaluateUserId: null, |
| | | riskType: 2 |
| | | }, |
| | | planFormRules: { |
| | | deviceCode: [{ required: true, message: '请填写设备编号', trigger: 'blur' }], |
| | | deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }], |
| | | devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }], |
| | | riskUnitId: [{ required: true, message: '请选择风险分析单元', trigger: 'change' }], |
| | | assessPlanName: [{ required: true, message: '请填写评估计划名称', trigger: 'blur' }], |
| | | assessTime: [{ required: true, message: '请选择评估时间', trigger: 'blur' }], |
| | | planUserId: [{ required: true, message: '请选择计划制定人', trigger: 'change' }], |
| | | identificationMethod: [{ required: true, message: '请选择辨识方法', trigger: 'change' }], |
| | | identificationUserId: [{ required: true, message: '请选择负责人', trigger: 'change' }], |
| | | evaluateMethod: [{ required: true, message: '请选择推荐评价方法', trigger: 'change' }], |
| | | identificationUserId: [{ required: true, message: '请选择辨识专家', trigger: 'change' }], |
| | | evaluateUserId: [{ required: true, message: '请选择评价专家', trigger: 'change' }], |
| | | }, |
| | | riskUnitList: [], |
| | | 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'}, |
| | | ] |
| | | personList: [] |
| | | }) |
| | | |
| | | const showPlanDialog = (title: string, value: PlanType, riskUnitList: RiskUnitType [], personList: SystemPersonType []) => { |
| | |
| | | riskUnitId: null, |
| | | planUserId: null, |
| | | assessPlanName: '', |
| | | assessTime: [], |
| | | assessStartTime: '', |
| | | assessEndTime: '', |
| | | identificationMethod: null, |
| | | identificationUserId: null, |
| | | evaluateMethod: null, |
| | | evaluateUserId: null, |
| | | riskType: 2 |
| | | }; |
| | | }else if(title === '查看'){ |
| | | planDialogState.title = '查看'; |
| | | planDialogState.disabled = true |
| | | planDialogState.time = [value.assessStartTime, value.assessEndTime] |
| | | planDialogState.planForm.assessTime = [value.assessStartTime, value.assessEndTime] |
| | | for(let i in planDialogState.planForm){ |
| | | if(isValidKey(i, planDialogState.planForm)){ |
| | | planDialogState.planForm[i] = value[i] |
| | |
| | | }else{ |
| | | planDialogState.title = '编辑'; |
| | | planDialogState.planForm.id = value.id |
| | | planDialogState.time = [value.assessStartTime, value.assessEndTime] |
| | | planDialogState.planForm.assessTime=[value.assessStartTime, value.assessEndTime] |
| | | console.log(planDialogState.planForm.assessTime,'5') |
| | | formatTime() |
| | | console.log(planDialogState.planForm.assessTime,'6 ') |
| | | for(let i in planDialogState.planForm){ |
| | | if(isValidKey(i, planDialogState.planForm)){ |
| | | planDialogState.planForm[i] = value[i] |
| | |
| | | }; |
| | | |
| | | const formatTime = () => { |
| | | planDialogState.planForm.assessStartTime = planDialogState.time === null ? '' : planDialogState.time[0] |
| | | planDialogState.planForm.assessEndTime = planDialogState.time === null ? '' : planDialogState.time[1] |
| | | planDialogState.planForm.assessStartTime = planDialogState.planForm.assessTime === null ? '' : planDialogState.planForm.assessTime[0] |
| | | planDialogState.planForm.assessEndTime = planDialogState.planForm.assessTime === null ? '' : planDialogState.planForm.assessTime[1] |
| | | }; |
| | | |
| | | const onSubmitPlan = () => { |
| | | planFormRef.value.validate(async(valid: boolean) => { |
| | | if(valid){ |
| | | delete planDialogState.planForm.assessTime |
| | | if(planDialogState.title === '新增'){ |
| | | let res = await planApi().addPlan(planDialogState.planForm); |
| | | if(res.data.code === 100){ |