修改粉尘模块bug

dev
853931625@qq.com 2025-10-17 17:41:54 +08:00
parent 9c4f408256
commit 925d219e35
6 changed files with 128 additions and 91 deletions

View File

@ -50,12 +50,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="处置图片" prop="DISPOSAL_FILE"> <el-form-item label="处置图片" prop="FFILE">
<layout-upload <layout-upload
v-model:file-list="form.DISPOSAL_FILE" v-model:file-list="form.FFILE"
accept=".jpg,.jpeg,.png" accept=".jpg,.jpeg,.png"
list-type="picture-card" list-type="picture-card"
:limit="99" :limit="1"
delete-to-server delete-to-server
/> />
</el-form-item> </el-form-item>
@ -99,9 +99,7 @@ const rules = {
DISPOSAL_RESULT: [ DISPOSAL_RESULT: [
{ required: true, message: "请选择处置结果", trigger: "blur" }, { required: true, message: "请选择处置结果", trigger: "blur" },
], ],
DISPOSAL_FILE: [ FFILE: [{ required: true, message: "请上传处置图片", trigger: "change" }],
{ required: true, message: "请上传处置图片", trigger: "change" },
],
}; };
const formRef = ref(null); const formRef = ref(null);
@ -120,11 +118,11 @@ const fnSubmit = debounce(
formData.append(key, form.value[key]); formData.append(key, form.value[key]);
}); });
formData.delete("DISPOSAL_FILE"); formData.delete("FFILE");
for (let i = 0; i < form.value.DISPOSAL_FILE.length; i++) { for (let i = 0; i < form.value.FFILE.length; i++) {
if (form.value.DISPOSAL_FILE[i].raw) if (form.value.FFILE[i].raw)
formData.append("DISPOSAL_FILE", form.value.DISPOSAL_FILE[i].raw); formData.append("FFILE", form.value.FFILE[i].raw);
} }
await dustAlarmReDisposal(formData); await dustAlarmReDisposal(formData);

View File

@ -9,21 +9,27 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item <el-form-item
label="设备类型" label="传感器名称"
prop="DEVICE_TYPE" prop="SENSOR_NAME"
label-width="100px" label-width="100px"
> >
<el-select <el-input
v-model="searchForm.DEVICE_TYPE" v-model="searchForm.SENSOR_NAME"
placeholder="请选择设备类型" placeholder="请输入传感器名称"
> />
<el-option </el-form-item>
v-for="item in declarationGradeList" </el-col>
:key="item.BIANMA" <el-col :span="6">
:label="item.NAME" <el-form-item label="报警时间" prop="dates" >
:value="item.BIANMA" <el-date-picker
v-model="searchForm.dates"
type="daterange"
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
range-separator="至"
/> />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -102,14 +108,21 @@ import {
} from "@/request/dust_clean_management"; } from "@/request/dust_clean_management";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { layoutFnDustDeviceOrdinaryType } from "@/assets/js/data_dictionary";
import alarmDisposal from "./components/alarm_disposal.vue"; import alarmDisposal from "./components/alarm_disposal.vue";
import { formatUTCDate } from "@/assets/js/utils.js"; import { formatUTCDate } from "@/assets/js/utils.js";
const declarationGradeList = await layoutFnDustDeviceOrdinaryType();
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } = const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
useListData(dustAlarmRecordDisposalPagePage, {}); useListData(dustAlarmRecordDisposalPagePage, {
beforeGetData: (searchForm) =>
searchForm.dates?.[0]
? {
START_DATE: searchForm.dates?.[0] + " 00:00:00",
END_DATE: searchForm.dates?.[1] + " 23:59:59",
}
: {},
});
const alarmDisposalDialog = ref({ const alarmDisposalDialog = ref({
visible: false, visible: false,

View File

@ -69,6 +69,15 @@
<el-descriptions-item label="处置时间"> <el-descriptions-item label="处置时间">
{{ form.PROCESSING_TIME.split(".")[0] }} {{ form.PROCESSING_TIME.split(".")[0] }}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item label="处置图片">
<img
:src="VITE_FILE_URL + form.DISPOSAL_FILE"
alt=""
width="100"
height="100"
class="ml-10"
/>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
<template #footer> <template #footer>
@ -79,8 +88,8 @@
<script setup> <script setup>
import { useVModels } from "@vueuse/core"; import { useVModels } from "@vueuse/core";
import { dustAlarmRecordDetail } from "@/request/dust_clean_management"; // import { dustAlarmRecordDetail } from "@/request/dust_clean_management";
const VITE_FILE_URL = import.meta.env.VITE_FILE_URL;
const props = defineProps({ const props = defineProps({
visible: { visible: {
type: Boolean, type: Boolean,
@ -96,15 +105,15 @@ const props = defineProps({
const emits = defineEmits(["update:visible", "update:form", "get-data"]); const emits = defineEmits(["update:visible", "update:form", "get-data"]);
const { visible, form } = useVModels(props, emits); const { visible, form } = useVModels(props, emits);
const fnDustAlarmRecorData = async () => { // const fnDustAlarmRecorData = async () => {
const formData = new FormData(); // const formData = new FormData();
formData.append('ALARM_RECORD_ID', form.value.ALARM_RECORD_ID); // formData.append("ALARM_RECORD_ID", form.value.ALARM_RECORD_ID);
dustAlarmRecordDetail(formData).then((res) => { // dustAlarmRecordDetail(formData).then((res) => {
console.log(res); // console.log(res);
}); // });
}; // };
fnDustAlarmRecorData(); // fnDustAlarmRecorData();
const fnClose = () => { const fnClose = () => {
visible.value = false; visible.value = false;

View File

@ -9,21 +9,27 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item <el-form-item
label="设备类型" label="传感器名称"
prop="DEVICE_TYPE" prop="SENSOR_NAME"
label-width="100px" label-width="100px"
> >
<el-select <el-input
v-model="searchForm.DEVICE_TYPE" v-model="searchForm.SENSOR_NAME"
placeholder="请选择设备类型" placeholder="请输入传感器名称"
> />
<el-option </el-form-item>
v-for="item in declarationGradeList" </el-col>
:key="item.BIANMA" <el-col :span="6">
:label="item.NAME" <el-form-item label="报警时间" prop="dates" >
:value="item.BIANMA" <el-date-picker
v-model="searchForm.dates"
type="daterange"
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
range-separator="至"
/> />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -79,7 +85,6 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="报警时间" prop="TRIGGERED_TIME" width="150" />
<el-table-column label="值班长" prop="SHIFT_LEADER_USER_NAME" /> <el-table-column label="值班长" prop="SHIFT_LEADER_USER_NAME" />
<el-table-column label="发现人员" prop="DISCOVERER_USER_NAME" /> <el-table-column label="发现人员" prop="DISCOVERER_USER_NAME" />
<el-table-column label="核实人员" prop="VERIFIED_USER_NAME" /> <el-table-column label="核实人员" prop="VERIFIED_USER_NAME" />
@ -89,11 +94,6 @@
{{ row.IS_DISPOSE === 0 ? "否" : row.IS_DISPOSE === 1 ? "是" : "" }} {{ row.IS_DISPOSE === 0 ? "否" : row.IS_DISPOSE === 1 ? "是" : "" }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="报警原因"
prop="TRIGGER_REASON"
show-overflow-tooltip
/>
<el-table-column <el-table-column
label="处置措施" label="处置措施"
prop="DISPOSAL_MEASURES" prop="DISPOSAL_MEASURES"
@ -133,12 +133,18 @@ import { ref } from "vue";
import { serialNumber } from "@/assets/js/utils"; import { serialNumber } from "@/assets/js/utils";
import { dustAlarmRecordPage } from "@/request/dust_clean_management"; import { dustAlarmRecordPage } from "@/request/dust_clean_management";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { layoutFnDustDeviceOrdinaryType } from "@/assets/js/data_dictionary";
import alarmView from "./components/view.vue"; import alarmView from "./components/view.vue";
const declarationGradeList = await layoutFnDustDeviceOrdinaryType();
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } = const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
useListData(dustAlarmRecordPage, {}); useListData(dustAlarmRecordPage, {
beforeGetData: (searchForm) =>
searchForm.dates?.[0]
? {
START_DATE: searchForm.dates?.[0] + " 00:00:00",
END_DATE: searchForm.dates?.[1] + " 23:59:59",
}
: {},
});
const alarmViewDialog = ref({ const alarmViewDialog = ref({
visible: false, visible: false,

View File

@ -9,21 +9,27 @@
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item <el-form-item
label="设备类型" label="传感器名称"
prop="DEVICE_TYPE" prop="SENSOR_NAME"
label-width="100px" label-width="100px"
> >
<el-select <el-input
v-model="searchForm.DEVICE_TYPE" v-model="searchForm.SENSOR_NAME"
placeholder="请选择设备类型" placeholder="请输入传感器名称"
> />
<el-option </el-form-item>
v-for="item in declarationGradeList" </el-col>
:key="item.BIANMA" <el-col :span="6">
:label="item.NAME" <el-form-item label="报警时间" prop="dates" >
:value="item.BIANMA" <el-date-picker
v-model="searchForm.dates"
type="daterange"
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
range-separator="至"
/> />
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -103,14 +109,19 @@ import {
} from "@/request/dust_clean_management"; } from "@/request/dust_clean_management";
import useListData from "@/assets/js/useListData.js"; import useListData from "@/assets/js/useListData.js";
import { layoutFnDustDeviceOrdinaryType } from "@/assets/js/data_dictionary";
import alarmConfirm from "./components/alarm_confirm.vue"; import alarmConfirm from "./components/alarm_confirm.vue";
import { formatUTCDate } from "@/assets/js/utils.js"; import { formatUTCDate } from "@/assets/js/utils.js";
const declarationGradeList = await layoutFnDustDeviceOrdinaryType();
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } = const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
useListData(dustAlarmRecordConfirmationPage, {}); useListData(dustAlarmRecordConfirmationPage, {
beforeGetData: (searchForm) =>
searchForm.dates?.[0]
? {
START_DATE: searchForm.dates?.[0] + " 00:00:00",
END_DATE: searchForm.dates?.[1] + " 23:59:59",
}
: {},
});
const alarmConfirmDialog = ref({ const alarmConfirmDialog = ref({
visible: false, visible: false,

View File

@ -13,7 +13,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="设备类型" prop="DEVICE_TYPE" > <el-form-item label="设备类型" prop="DEVICE_TYPE">
<el-select v-model="form.DEVICE_TYPE" @change="fnDevice"> <el-select v-model="form.DEVICE_TYPE" @change="fnDevice">
<el-option <el-option
v-for="item in dustDeviceOrdinaryList" v-for="item in dustDeviceOrdinaryList"
@ -129,21 +129,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item
label="关联的传感器信号类型"
prop="ASSOCIATED_SENSOR_TYPE"
>
<el-select v-model="form.ASSOCIATED_SENSOR_TYPE">
<el-option
v-for="item in installationAreaStatus"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="关联条件" prop="ASSOCIATED_CONDITION"> <el-form-item label="关联条件" prop="ASSOCIATED_CONDITION">
<el-select v-model="form.ASSOCIATED_CONDITION"> <el-select v-model="form.ASSOCIATED_CONDITION">
@ -156,6 +141,21 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="form.ASSOCIATED_CONDITION === '1'">
<el-form-item
label="关联的传感器信号类型"
prop="ASSOCIATED_SENSOR_TYPE"
>
<el-select v-model="form.ASSOCIATED_SENSOR_TYPE">
<el-option
v-for="item in declarationGradeList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否启用" prop="IS_ACTIVE"> <el-form-item label="是否启用" prop="IS_ACTIVE">