This commit is contained in:
Teo
2025-09-04 11:06:45 +08:00
parent 9d1f96309f
commit 910b24019e
83 changed files with 8390 additions and 834 deletions

View File

@ -43,9 +43,6 @@
批量删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['safety:safetyWeeklyReport:export']">导出 </el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</template>
@ -59,8 +56,8 @@
<span>{{ parseTime(scope.row.scope, '{y}-{m}-{d}') }} {{ parseTime(scope.row.scopeEnd, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="创建时间" align="center" prop="createdAt" />
<!-- <el-table-column label="备注" align="center" prop="remark" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-space>
@ -80,20 +77,15 @@
<!-- 添加或修改安全周报对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
<el-form ref="safetyWeeklyReportFormRef" :model="form" :rules="rules" label-width="120px">
<el-form-item label="周期" prop="week">
<el-input v-model="form.week" placeholder="请输入周期" />
</el-form-item>
<el-form-item label="周期开始范围" prop="scope">
<el-date-picker clearable v-model="form.scope" type="date" value-format="YYYY-MM-DD" placeholder="请选择周期范围" />
</el-form-item>
<el-form-item label="周期范围结束" prop="scopeEnd">
<el-date-picker clearable v-model="form.scopeEnd" type="date" value-format="YYYY-MM-DD" placeholder="请选择周期范围结束" />
</el-form-item>
<el-form-item label="文件位置" prop="path">
<div><file-upload v-model="form.path" :file-size="20" :limit="1" :file-type="['doc', 'docx']" /></div>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-form-item label="周期范围" prop="timeRange">
<el-date-picker
v-model="form.timeRange"
type="daterange"
range-separator=""
format="YYYY-MM-DD"
start-placeholder="开始时间"
end-placeholder="结束时间"
/>
</el-form-item>
</el-form>
<template #footer>
@ -116,6 +108,7 @@ import {
} from '@/api/safety/safetyWeeklyReport';
import { SafetyWeeklyReportForm, SafetyWeeklyReportQuery, SafetyWeeklyReportVO } from '@/api/safety/safetyWeeklyReport/types';
import { useUserStoreHook } from '@/store/modules/user';
import { dayjs } from 'element-plus';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -142,7 +135,7 @@ const dialog = reactive<DialogOption>({
const initFormData: SafetyWeeklyReportForm = {
id: undefined,
projectId: currentProject.value?.id,
projectId: currentProject.value?.goId,
week: undefined,
scope: undefined,
scopeEnd: undefined,
@ -155,7 +148,7 @@ const data = reactive<PageData<SafetyWeeklyReportForm, SafetyWeeklyReportQuery>>
pageNum: 1,
pageSize: 10,
id: undefined,
projectId: currentProject.value?.id,
projectId: currentProject.value?.goId,
week: undefined,
scopeDate: undefined,
remark: undefined,
@ -163,7 +156,8 @@ const data = reactive<PageData<SafetyWeeklyReportForm, SafetyWeeklyReportQuery>>
},
rules: {
id: [{ required: true, message: '主键id不能为空', trigger: 'blur' }],
projectId: [{ required: true, message: '项目id不能为空', trigger: 'blur' }]
projectId: [{ required: true, message: '项目id不能为空', trigger: 'blur' }],
timeRange: [{ required: true, message: '周期范围不能为空', trigger: 'blur' }]
}
});
@ -173,8 +167,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listSafetyWeeklyReport(queryParams.value);
safetyWeeklyReportList.value = res.rows;
total.value = res.total;
safetyWeeklyReportList.value = res.data.list;
total.value = res.data.total;
loading.value = false;
};
@ -218,10 +212,11 @@ const handleAdd = () => {
/** 修改按钮操作 */
const handleUpdate = async (row?: SafetyWeeklyReportVO) => {
return;
reset();
const _id = row?.id || ids.value[0];
const res = await getSafetyWeeklyReport(_id);
Object.assign(form.value, res.data);
// const res = await getSafetyWeeklyReport(_id);
// Object.assign(form.value, res.data);
dialog.visible = true;
dialog.title = '修改安全周报';
};
@ -231,10 +226,11 @@ const submitForm = () => {
safetyWeeklyReportFormRef.value?.validate(async (valid: boolean) => {
if (valid) {
buttonLoading.value = true;
form.value.projectId = currentProject.value?.id;
form.value.projectId = currentProject.value?.goId;
if (form.value.id) {
await updateSafetyWeeklyReport(form.value).finally(() => (buttonLoading.value = false));
} else {
form.value.timeRange = form.value.timeRange.map((d) => dayjs(d).format('YYYY-MM-DD')).join(',');
await addSafetyWeeklyReport(form.value).finally(() => (buttonLoading.value = false));
}
proxy?.$modal.msgSuccess('操作成功');
@ -266,7 +262,7 @@ const handleExport = () => {
//监听项目id刷新数据
const listeningProject = watch(
() => currentProject.value?.id,
() => currentProject.value?.goId,
(nid, oid) => {
queryParams.value.projectId = nid;
form.value.projectId = nid;