| | |
| | | <template> |
| | | <div class="system-add-menu-container"> |
| | | <el-dialog :title="title" v-model="isShowReportDialog" width="50%"> |
| | | <el-dialog :title="title" v-model="isShowReportDialog" width="50%" :close-on-click-modal="false"> |
| | | <el-form :model="reportForm" :rules="reportFormRules" ref="reportFormRef" size="default" label-width="120px"> |
| | | <el-tabs class="active" v-model="activeNameOne"> |
| | | <el-tab-pane label="隐患信息" name="hiddenInfo"> |
| | | <el-row :gutter="25"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患描述" prop="dangerDesc"> |
| | | <el-input class="input-add" v-model.trim="reportForm.dangerDesc" placeholder="请输入隐患情况描述" clearable></el-input> |
| | | <el-form-item label="隐患名称" prop="dangerCode"> |
| | | <el-input class="input-add" :disabled="!disabled" v-model.trim="reportForm.dangerCode" placeholder="请输入隐患名称" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患名称" prop="dangerCode"> |
| | | <el-input class="input-add" v-model.trim="reportForm.dangerCode" placeholder="请输入隐患名称" clearable></el-input> |
| | | <el-form-item label="隐患描述" prop="dangerDesc"> |
| | | <el-input class="input-add" :disabled="!disabled" v-model.trim="reportForm.dangerDesc" placeholder="请输入隐患情况描述" clearable></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患所属部门" prop="depId"> |
| | | <el-cascader :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.depId"> </el-cascader> |
| | | <el-cascader :disabled="!disabled" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.depId"> </el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="生产装置" prop="produceDeviceId"> |
| | | <el-select class="input-add" v-model="reportForm.produceDeviceId" placeholder="请输入生产装置" clearable filterable @change="changeUnit"> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.produceDeviceId" placeholder="请输入生产装置" clearable filterable @change="changeUnit"> |
| | | <el-option v-for="item in allProduceDeviceData" :key="item.id" :label="item.produceDeviceName" :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="风险分析单元" prop="riskUnitId"> |
| | | <el-select class="input-add" v-model.trim="reportForm.riskUnitId" placeholder="请输入风险分析单元" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model.trim="reportForm.riskUnitId" placeholder="请输入风险分析单元" clearable filterable> |
| | | <el-option v-for="item in safetyRiskUnitData" :key="item.id" :label="item.riskUnitName" :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患来源" prop="dangerSource"> |
| | | <el-select class="input-add" v-model="reportForm.dangerSource" placeholder="请选择隐患来源" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerSource" placeholder="请选择隐患来源" clearable filterable> |
| | | <el-option v-for="item in dangerSourceList" :key="item.id" :label="item.name" :value="item.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="隐患等级" prop="dangerLevel"> |
| | | <el-select class="input-add" v-model="reportForm.dangerLevel" placeholder="请选择隐患等级" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerLevel" placeholder="请选择隐患等级" clearable filterable> |
| | | <el-option v-for="item in dangerLevelList" :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="12" class="mb20"> |
| | | <el-form-item label="隐患类型" prop="dangerType"> |
| | | <el-select class="input-add" v-model="reportForm.dangerType" placeholder="请选择隐患类型" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerType" placeholder="请选择隐患类型" clearable filterable> |
| | | <el-option v-for="item in dangerTypeList" :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="12" class="mb20"> |
| | | <el-form-item label="隐患可能后果" prop="dangerResult"> |
| | | <el-select class="input-add" v-model="reportForm.dangerResult" placeholder="请选择隐患可能后果" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.dangerResult" placeholder="请选择隐患可能后果" clearable filterable> |
| | | <el-option v-for="item in dangerResultList" :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="12"> |
| | | <el-form-item label="隐患产生原因" prop="dangerReason"> |
| | | <el-input class="input-add" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.dangerReason" placeholder="请输入隐患产生原因"></el-input> |
| | | <el-input class="input-add" :disabled="!disabled" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.dangerReason" placeholder="请输入隐患产生原因"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-row> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="整改类型" prop="rectifyType"> |
| | | <el-select class="input-add" v-model="reportForm.rectifyType" placeholder="请选择整改类型" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.rectifyType" placeholder="请选择整改类型" clearable filterable> |
| | | <el-option v-for="item in rectifyTypeList" :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="12" class="mb20"> |
| | | <el-form-item label="整改期限" prop="rectifyTime"> |
| | | <el-date-picker type="datetime" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="reportForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker> |
| | | <el-date-picker type="datetime" :disabled="!disabled" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" v-model="reportForm.rectifyTime" placeholder="请选择整改期限" clearable> </el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="整改部门" prop="rectifyDepId"> |
| | | <el-cascader @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.rectifyDepId"> </el-cascader> |
| | | <el-cascader :disabled="!disabled" @change="achieveUserList" :options="departmentList" :props="{ emitPath: false, checkStrictly: true, value: 'depId', label: 'depName' }" placeholder="请选择部门" clearable filterable class="input-add" v-model="reportForm.rectifyDepId"> </el-cascader> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="整改责任人" prop="liablePersonId"> |
| | | <el-select class="input-add" v-model="reportForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable> |
| | | <el-select class="input-add" :disabled="!disabled" v-model="reportForm.liablePersonId" placeholder="请选择整改责任人" clearable filterable> |
| | | <el-option v-for="item in userList" :key="item.uid" :label="item.username" :value="item.uid"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12" class="mb20"> |
| | | <el-form-item label="整改资金" prop="dangerResult"> |
| | | <el-input class="input-add" type="number" v-model="reportForm.cost" placeholder="请选择整改资金"> </el-input> |
| | | <el-input class="input-add" :disabled="!disabled" type="number" @input="onVerifyNumberPercentageFloat($event)" v-model="reportForm.cost" placeholder="请选择整改资金"> </el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="12"> |
| | | <el-form-item label="整改措施" prop="rectifyDesc"> |
| | | <el-input class="input-add" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.rectifyDesc" placeholder="请输入整改措施"></el-input> |
| | | <el-input class="input-add" :disabled="!disabled" type="textarea" :rows="2" style="padding-bottom: 10px" v-model.trim="reportForm.rectifyDesc" placeholder="请输入整改措施"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <template #footer> |
| | | <span class="dialog-footer" v-show="disabled"> |
| | | <el-button @click="isShowReportDialog = !isShowReportDialog" size="default">取 消</el-button> |
| | | <el-button type="primary" @click="submitReport" v-throttle size="default">确 实</el-button> |
| | | <el-button type="primary" @click="submitReport" v-throttle size="default">确 定</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | |
| | | import { ElMessage } from 'element-plus'; |
| | | import { hiddenReportApi } from '/@/api/doublePreventSystem/report'; |
| | | import { getUserByDepartment } from '/@/assets/methods'; |
| | | import { verifyNumberIntegerAndFloat, verifyNumberPercentageFloat } from '../../../../../../utils/toolsValidate'; |
| | | export default { |
| | | name: 'reportDialog', |
| | | setup(props: any, context: any) { |
| | |
| | | state.safetyRiskUnitData = state.allSafetyRiskUnitData.filter((item) => item.produceDeviceId === state.reportForm.produceDeviceId); |
| | | }; |
| | | |
| | | const onVerifyNumberPercentageFloat = (val: string) => { |
| | | state.reportForm.cost = JSON.parse(verifyNumberIntegerAndFloat(val)); |
| | | }; |
| | | |
| | | return { |
| | | ...toRefs(state), |
| | | changeUnit, |
| | | reportFormRef, |
| | | submitReport, |
| | | achieveUserList, |
| | | openReportDialog |
| | | openReportDialog, |
| | | onVerifyNumberPercentageFloat |
| | | }; |
| | | } |
| | | }; |