This commit is contained in:
lcj
2025-03-24 14:12:03 +08:00
parent 4e7db47a4b
commit d9c81eb37a
40 changed files with 363 additions and 292 deletions

View File

@ -5,7 +5,7 @@ VITE_APP_TITLE = 新能源项目管理平台
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/
VITE_APP_CONTEXT_PATH = '/'

View File

@ -49,6 +49,11 @@ export interface SafetyInspectionVO {
*/
correctorName: string;
/**
* 整改期限
*/
rectificationDeadline: string;
/**
* 是否回复1回复 2不回复
*/
@ -171,6 +176,11 @@ export interface SafetyInspectionForm extends BaseEntity {
*/
correctorId?: string | number;
/**
* 整改期限
*/
rectificationDeadline: string;
/**
* 是否回复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?.creatorName }} </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>
<div class="table-title">巡检结果</div>
<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 { listByIds } from '@/api/system/oss';
import { OssVO } from '@/api/system/oss/types';
import dayjs from 'dayjs';
interface Props {
safetyInspectionId?: string | number;
@ -121,6 +124,8 @@ watch(
() => props.safetyInspectionId,
(newId, oldId) => {
if (newId !== oldId) {
checkFileList.value = undefined;
rectificationFileList.value = undefined;
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-select>
</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-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-select>
</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-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@ -82,21 +72,15 @@
</el-table-column>
<el-table-column label="巡检结果" align="center" prop="inspectionResult" />
<el-table-column label="整改人" align="center" prop="correctorName" />
<el-table-column label="复查情况" align="center" prop="review" />
<el-table-column label="复查状态" align="center" prop="reviewType">
<template #default="scope">
<dict-tag :options="review_type" :value="scope.row.reviewType" />
</template>
</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" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220">
<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>
@ -114,8 +98,8 @@
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改安全巡检工单对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="safetyInspectionFormRef" :model="form" :rules="rules" label-width="80px">
<el-dialog :title="dialog.title" v-model="dialog.visible" append-to-body>
<el-form ref="safetyInspectionFormRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="检查类型" prop="checkType">
<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>
@ -139,51 +123,20 @@
<el-option v-for="item in foremanOpt" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</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-input v-model="form.hiddenDanger" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="整改措施" prop="measure">
<el-input v-model="form.measure" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="复查情况" prop="review">
<el-input v-model="form.review" type="textarea" 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 label="要求整改期限" prop="checkTime">
<el-date-picker clearable v-model="form.rectificationDeadline" type="date" value-format="YYYY-MM-DD" placeholder="选择要求整改期限" />
</el-form-item>
<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 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 label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
@ -250,6 +203,7 @@ const initFormData: SafetyInspectionForm = {
inspectionResult: undefined,
teamId: undefined,
correctorId: undefined,
rectificationDeadline: undefined,
isReply: undefined,
replyDate: undefined,
status: undefined,
@ -292,7 +246,9 @@ const data = reactive<PageData<SafetyInspectionForm, SafetyInspectionQuery>>({
},
rules: {
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,
(newId, oldId) => {
if (newId !== oldId) {
fileList.value = undefined;
get();
}
}