|
@@ -1,11 +1,6 @@
|
|
|
<template>
|
|
<template>
|
|
|
<main class="safety-platform-container__main">
|
|
<main class="safety-platform-container__main">
|
|
|
- <BasicForm
|
|
|
|
|
- ref="basicFormRef"
|
|
|
|
|
- :formData="ruleFormData"
|
|
|
|
|
- :formRules="formRules"
|
|
|
|
|
- :formConfig="formConfig"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <BasicForm ref="basicFormRef" :formData="ruleFormData" :formRules="formRules" :formConfig="formConfig">
|
|
|
<template #attachment>
|
|
<template #attachment>
|
|
|
<UploadFiles
|
|
<UploadFiles
|
|
|
label="上传附件"
|
|
label="上传附件"
|
|
@@ -33,12 +28,7 @@
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label="审批意见:">
|
|
<el-form-item label="审批意见:">
|
|
|
- <el-input
|
|
|
|
|
- v-model="approveForm.approvalContent"
|
|
|
|
|
- type="textarea"
|
|
|
|
|
- :rows="4"
|
|
|
|
|
- placeholder="请输入审批意见"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-input v-model="approveForm.approvalContent" type="textarea" :rows="4" placeholder="请输入审批意见" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<template #footer>
|
|
<template #footer>
|
|
@@ -51,7 +41,11 @@
|
|
|
<footer class="safety-platform-container__footer">
|
|
<footer class="safety-platform-container__footer">
|
|
|
<el-button @click="router.back()">返回</el-button>
|
|
<el-button @click="router.back()">返回</el-button>
|
|
|
<el-button v-if="isCreateOrEditMode" type="primary" @click="handleSubmit">
|
|
<el-button v-if="isCreateOrEditMode" type="primary" @click="handleSubmit">
|
|
|
- {{ operate === 'employee-report-hidden-trouble-create' || operate === 'hidden-trouble-review-create' ? '提交' : '保存' }}
|
|
|
|
|
|
|
+ {{
|
|
|
|
|
+ operate === 'employee-report-hidden-trouble-create' || operate === 'hidden-trouble-review-create'
|
|
|
|
|
+ ? '提交'
|
|
|
|
|
+ : '保存'
|
|
|
|
|
+ }}
|
|
|
</el-button>
|
|
</el-button>
|
|
|
<el-button v-if="isApproveMode" type="primary" @click="handleApproveClick">审核</el-button>
|
|
<el-button v-if="isApproveMode" type="primary" @click="handleApproveClick">审核</el-button>
|
|
|
</footer>
|
|
</footer>
|
|
@@ -84,14 +78,11 @@
|
|
|
|
|
|
|
|
// 支持员工上报与管理员审核两套 operate
|
|
// 支持员工上报与管理员审核两套 operate
|
|
|
const isViewMode = computed(
|
|
const isViewMode = computed(
|
|
|
- () =>
|
|
|
|
|
- operate.value === 'employee-report-hidden-trouble-view' ||
|
|
|
|
|
- operate.value === 'hidden-trouble-review-view',
|
|
|
|
|
|
|
+ () => operate.value === 'employee-report-hidden-trouble-view' || operate.value === 'hidden-trouble-review-view',
|
|
|
);
|
|
);
|
|
|
const isApproveMode = computed(
|
|
const isApproveMode = computed(
|
|
|
() =>
|
|
() =>
|
|
|
- operate.value === 'employee-report-hidden-trouble-approve' ||
|
|
|
|
|
- operate.value === 'hidden-trouble-review-approve',
|
|
|
|
|
|
|
+ operate.value === 'employee-report-hidden-trouble-approve' || operate.value === 'hidden-trouble-review-approve',
|
|
|
);
|
|
);
|
|
|
// 新增/编辑时表单可编辑,查看/审核时禁用
|
|
// 新增/编辑时表单可编辑,查看/审核时禁用
|
|
|
const isCreateOrEditMode = computed(
|
|
const isCreateOrEditMode = computed(
|
|
@@ -102,16 +93,17 @@
|
|
|
operate.value === 'hidden-trouble-review-edit',
|
|
operate.value === 'hidden-trouble-review-edit',
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
- const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } =
|
|
|
|
|
- useFormConfigHook(ACADEMY_FILE_FORM_CONFIG, ACADEMY_FILE_FORM_DATA, ACADEMY_FILE_FORM_RULES);
|
|
|
|
|
|
|
+ const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } = useFormConfigHook(
|
|
|
|
|
+ ACADEMY_FILE_FORM_CONFIG,
|
|
|
|
|
+ ACADEMY_FILE_FORM_DATA,
|
|
|
|
|
+ ACADEMY_FILE_FORM_RULES,
|
|
|
|
|
+ );
|
|
|
|
|
|
|
|
const formConfig = computed(() =>
|
|
const formConfig = computed(() =>
|
|
|
isCreateOrEditMode.value
|
|
isCreateOrEditMode.value
|
|
|
? ruleFormConfig.value.map((item) => ({
|
|
? ruleFormConfig.value.map((item) => ({
|
|
|
...item,
|
|
...item,
|
|
|
- componentProps: item.componentProps
|
|
|
|
|
- ? { ...item.componentProps, disabled: false }
|
|
|
|
|
- : undefined,
|
|
|
|
|
|
|
+ componentProps: item.componentProps ? { ...item.componentProps, disabled: false } : undefined,
|
|
|
}))
|
|
}))
|
|
|
: ruleFormConfig.value,
|
|
: ruleFormConfig.value,
|
|
|
);
|
|
);
|
|
@@ -157,10 +149,12 @@
|
|
|
}
|
|
}
|
|
|
try {
|
|
try {
|
|
|
const list = await formatAttachmentList(files);
|
|
const list = await formatAttachmentList(files);
|
|
|
- const jsonArr = (list || []).map((r) => ({
|
|
|
|
|
- file_name: r.fileName,
|
|
|
|
|
- url: r.fileUrl || '',
|
|
|
|
|
- })).filter((x) => x.url);
|
|
|
|
|
|
|
+ const jsonArr = (list || [])
|
|
|
|
|
+ .map((r) => ({
|
|
|
|
|
+ file_name: r.fileName,
|
|
|
|
|
+ url: r.fileUrl || '',
|
|
|
|
|
+ }))
|
|
|
|
|
+ .filter((x) => x.url);
|
|
|
ruleFormData.attachment = JSON.stringify(jsonArr);
|
|
ruleFormData.attachment = JSON.stringify(jsonArr);
|
|
|
} catch (e) {
|
|
} catch (e) {
|
|
|
console.error('附件上传失败:', e);
|
|
console.error('附件上传失败:', e);
|
|
@@ -186,7 +180,7 @@
|
|
|
ruleFormData.categoryId = res.categoryId ?? 0;
|
|
ruleFormData.categoryId = res.categoryId ?? 0;
|
|
|
ruleFormData.hazardDesc = res.hazardDesc || '';
|
|
ruleFormData.hazardDesc = res.hazardDesc || '';
|
|
|
ruleFormData.location = res.location || '';
|
|
ruleFormData.location = res.location || '';
|
|
|
- ruleFormData.reportTime = formatReportTimeToDate(res.reportTime);
|
|
|
|
|
|
|
+ ruleFormData.reportTime = res.reportTime;
|
|
|
ruleFormData.sourceTypeName = res.sourceTypeName || '';
|
|
ruleFormData.sourceTypeName = res.sourceTypeName || '';
|
|
|
ruleFormData.sourceType = res.sourceType ?? 1;
|
|
ruleFormData.sourceType = res.sourceType ?? 1;
|
|
|
ruleFormData.taskSource = res.taskSource || '';
|
|
ruleFormData.taskSource = res.taskSource || '';
|
|
@@ -266,9 +260,12 @@
|
|
|
reporterName: ruleFormData.reporterName || '',
|
|
reporterName: ruleFormData.reporterName || '',
|
|
|
reporterJobNo: ruleFormData.reporterJobNo || '',
|
|
reporterJobNo: ruleFormData.reporterJobNo || '',
|
|
|
reporterMobile: ruleFormData.reporterMobile || '',
|
|
reporterMobile: ruleFormData.reporterMobile || '',
|
|
|
- attachment: JSON.parse(ruleFormData.attachment) || '',
|
|
|
|
|
|
|
+ attachment: ruleFormData.attachment ? JSON.parse(ruleFormData.attachment) : '',
|
|
|
};
|
|
};
|
|
|
- if (operate.value === 'employee-report-hidden-trouble-create' || operate.value === 'hidden-trouble-review-create') {
|
|
|
|
|
|
|
+ if (
|
|
|
|
|
+ operate.value === 'employee-report-hidden-trouble-create' ||
|
|
|
|
|
+ operate.value === 'hidden-trouble-review-create'
|
|
|
|
|
+ ) {
|
|
|
await saveEmployeeHazardReport(payload);
|
|
await saveEmployeeHazardReport(payload);
|
|
|
ElMessage.success('提交成功');
|
|
ElMessage.success('提交成功');
|
|
|
} else if (currentId.value) {
|
|
} else if (currentId.value) {
|
|
@@ -293,4 +290,3 @@
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
|
@use '@/styles/page-details-layout.scss' as *;
|
|
@use '@/styles/page-details-layout.scss' as *;
|
|
|
</style>
|
|
</style>
|
|
|
-
|
|
|