This commit is contained in:
lcj
2025-03-24 14:12:03 +08:00
parent 4d2595e9ad
commit 0d5850a928
5 changed files with 30 additions and 58 deletions

View File

@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台
VITE_APP_ENV = 'development' VITE_APP_ENV = 'development'
# 开发环境 # 开发环境
VITE_APP_BASE_API = 'http://192.168.110.2:8899' VITE_APP_BASE_API = 'http://192.168.110.6:8899'
# 应用访问路径 例如使用前缀 /admin/ # 应用访问路径 例如使用前缀 /admin/
VITE_APP_CONTEXT_PATH = '/' VITE_APP_CONTEXT_PATH = '/'

View File

@ -49,6 +49,11 @@ export interface SafetyInspectionVO {
*/ */
correctorName: string; correctorName: string;
/**
* 整改期限
*/
rectificationDeadline: string;
/** /**
* 是否回复1回复 2不回复 * 是否回复1回复 2不回复
*/ */
@ -171,6 +176,11 @@ export interface SafetyInspectionForm extends BaseEntity {
*/ */
correctorId?: string | number; correctorId?: string | number;
/**
* 整改期限
*/
rectificationDeadline: string;
/** /**
* 是否回复1回复 2不回复 * 是否回复1回复 2不回复
*/ */

View File

@ -16,7 +16,9 @@
<el-descriptions-item label-align="center" label="检查时间">{{ safetyInspectionDetail?.checkTime }} </el-descriptions-item> <el-descriptions-item label-align="center" label="检查时间">{{ safetyInspectionDetail?.checkTime }} </el-descriptions-item>
<el-descriptions-item label-align="center" label="检查人">{{ safetyInspectionDetail?.creatorName }} </el-descriptions-item> <el-descriptions-item label-align="center" label="检查人">{{ safetyInspectionDetail?.creatorName }} </el-descriptions-item>
<el-descriptions-item label-align="center" label="整改人">{{ safetyInspectionDetail?.correctorName }} </el-descriptions-item> <el-descriptions-item label-align="center" label="整改人">{{ safetyInspectionDetail?.correctorName }} </el-descriptions-item>
<el-descriptions-item label-align="center" label="要求整改期限">{{ safetyInspectionDetail?.rectificationTime }} </el-descriptions-item> <el-descriptions-item label-align="center" label="要求整改期限">
{{ dayjs(safetyInspectionDetail?.rectificationDeadline).format('YYYY 年 MM 月 DD 日') }}
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<div class="table-title">巡检结果</div> <div class="table-title">巡检结果</div>
<el-descriptions :column="2" border label-width="160px"> <el-descriptions :column="2" border label-width="160px">
@ -78,6 +80,7 @@ import { SafetyInspectionVO } from '@/api/safety/safetyInspection/types';
import { getSafetyInspection } from '@/api/safety/safetyInspection'; import { getSafetyInspection } from '@/api/safety/safetyInspection';
import { listByIds } from '@/api/system/oss'; import { listByIds } from '@/api/system/oss';
import { OssVO } from '@/api/system/oss/types'; import { OssVO } from '@/api/system/oss/types';
import dayjs from 'dayjs';
interface Props { interface Props {
safetyInspectionId?: string | number; safetyInspectionId?: string | number;
@ -121,6 +124,8 @@ watch(
() => props.safetyInspectionId, () => props.safetyInspectionId,
(newId, oldId) => { (newId, oldId) => {
if (newId !== oldId) { if (newId !== oldId) {
checkFileList.value = undefined;
rectificationFileList.value = undefined;
get(); get();
} }
} }

View File

@ -14,21 +14,11 @@
<el-option v-for="dict in safety_inspection_violation_type" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in safety_inspection_violation_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否回复" prop="isReply">
<el-select v-model="queryParams.isReply" placeholder="请选择是否回复" clearable>
<el-option v-for="dict in reply_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="处理状态" prop="status"> <el-form-item label="处理状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择工单状态" clearable> <el-select v-model="queryParams.status" placeholder="请选择工单状态" clearable>
<el-option v-for="dict in safety_inspection_type" :key="dict.value" :label="dict.label" :value="dict.value" /> <el-option v-for="dict in safety_inspection_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="复查状态" prop="reviewType">
<el-select v-model="queryParams.reviewType" placeholder="请选择复查状态" clearable>
<el-option v-for="dict in review_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button> <el-button icon="Refresh" @click="resetQuery">重置</el-button>
@ -82,21 +72,15 @@
</el-table-column> </el-table-column>
<el-table-column label="巡检结果" align="center" prop="inspectionResult" /> <el-table-column label="巡检结果" align="center" prop="inspectionResult" />
<el-table-column label="整改人" align="center" prop="correctorName" /> <el-table-column label="整改人" align="center" prop="correctorName" />
<el-table-column label="复查情况" align="center" prop="review" />
<el-table-column label="复查状态" align="center" prop="reviewType"> <el-table-column label="复查状态" align="center" prop="reviewType">
<template #default="scope"> <template #default="scope">
<dict-tag :options="review_type" :value="scope.row.reviewType" /> <dict-tag :options="review_type" :value="scope.row.reviewType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="复查时间" align="center" prop="reviewTime" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.reviewTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220">
<template #default="scope"> <template #default="scope">
<el-space wrap> <el-space>
<el-button link type="primary" icon="View" @click="handleShowDialog(scope.row)" v-hasPermi="['safety:safetyInspection:query']"> <el-button link type="primary" icon="View" @click="handleShowDialog(scope.row)" v-hasPermi="['safety:safetyInspection:query']">
详情 详情
</el-button> </el-button>
@ -114,8 +98,8 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card> </el-card>
<!-- 添加或修改安全巡检工单对话框 --> <!-- 添加或修改安全巡检工单对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body> <el-dialog :title="dialog.title" v-model="dialog.visible" append-to-body>
<el-form ref="safetyInspectionFormRef" :model="form" :rules="rules" label-width="80px"> <el-form ref="safetyInspectionFormRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="检查类型" prop="checkType"> <el-form-item label="检查类型" prop="checkType">
<el-select v-model="form.checkType" placeholder="请选择检查类型"> <el-select v-model="form.checkType" placeholder="请选择检查类型">
<el-option v-for="dict in safety_inspection_check_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option> <el-option v-for="dict in safety_inspection_check_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
@ -139,51 +123,20 @@
<el-option v-for="item in foremanOpt" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in foremanOpt" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否回复" prop="isReply">
<el-select v-model="form.isReply" placeholder="请选择是否回复">
<el-option v-for="dict in reply_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="回复日期" prop="replyDate">
<el-date-picker clearable v-model="form.replyDate" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择回复日期">
</el-date-picker>
</el-form-item>
<el-form-item label="工单状态" prop="status">
<el-select v-model="form.status" placeholder="请选择工单状态">
<el-option v-for="dict in safety_inspection_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="问题隐患" prop="hiddenDanger"> <el-form-item label="问题隐患" prop="hiddenDanger">
<el-input v-model="form.hiddenDanger" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.hiddenDanger" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="整改措施" prop="measure"> <el-form-item label="整改措施" prop="measure">
<el-input v-model="form.measure" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.measure" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
<el-form-item label="复查情况" prop="review"> <el-form-item label="要求整改期限" prop="checkTime">
<el-input v-model="form.review" type="textarea" placeholder="请输入内容" /> <el-date-picker clearable v-model="form.rectificationDeadline" type="date" value-format="YYYY-MM-DD" placeholder="选择要求整改期限" />
</el-form-item>
<el-form-item label="复查状态" prop="reviewType">
<el-select v-model="form.reviewType" placeholder="请选择复查状态">
<el-option v-for="dict in review_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="检查时间" prop="checkTime">
<el-date-picker clearable v-model="form.checkTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择检查时间">
</el-date-picker>
</el-form-item>
<el-form-item label="整改时间" prop="rectificationTime">
<el-date-picker clearable v-model="form.rectificationTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择整改时间">
</el-date-picker>
</el-form-item>
<el-form-item label="复查时间" prop="reviewTime">
<el-date-picker clearable v-model="form.reviewTime" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择复查时间">
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="检查附件" prop="checkFile"> <el-form-item label="检查附件" prop="checkFile">
<file-upload v-model="form.checkFile" /> <file-upload v-model="form.checkFile" :file-size="20" :file-type="['doc', 'docx', 'pdf', 'png', 'jpg', 'jpeg']" />
</el-form-item> </el-form-item>
<el-form-item label="整改附件" prop="rectificationFile"> <el-form-item label="整改附件" prop="rectificationFile">
<image-upload v-model="form.rectificationFile" /> <file-upload v-model="form.rectificationFile" :file-size="20" :file-type="['doc', 'docx', 'pdf', 'png', 'jpg', 'jpeg']" />
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
@ -250,6 +203,7 @@ const initFormData: SafetyInspectionForm = {
inspectionResult: undefined, inspectionResult: undefined,
teamId: undefined, teamId: undefined,
correctorId: undefined, correctorId: undefined,
rectificationDeadline: undefined,
isReply: undefined, isReply: undefined,
replyDate: undefined, replyDate: undefined,
status: undefined, status: undefined,
@ -292,7 +246,9 @@ const data = reactive<PageData<SafetyInspectionForm, SafetyInspectionQuery>>({
}, },
rules: { rules: {
id: [{ required: true, message: '主键ID不能为空', trigger: 'blur' }], id: [{ required: true, message: '主键ID不能为空', trigger: 'blur' }],
projectId: [{ required: true, message: '项目ID不能为空', trigger: 'blur' }] projectId: [{ required: true, message: '项目ID不能为空', trigger: 'blur' }],
checkType: [{ required: true, message: '检查类型不能为空', trigger: 'blur' }],
violationType: [{ required: true, message: '违章类型不能为空', trigger: 'blur' }]
} }
}); });

View File

@ -95,6 +95,7 @@ watch(
() => props.safetyLogId, () => props.safetyLogId,
(newId, oldId) => { (newId, oldId) => {
if (newId !== oldId) { if (newId !== oldId) {
fileList.value = undefined;
get(); get();
} }
} }