联调 在线监测 页面 修改云效问题

This commit is contained in:
GGJ
2024-06-25 15:13:47 +08:00
parent 8551527aa6
commit 7b7b8b0b89
19 changed files with 411 additions and 90 deletions

View File

@@ -0,0 +1,127 @@
<template>
<el-dialog draggable v-model="dialogVisible" :title="title" width="80%" :before-close="handleClose">
<div style="height: 45vh">
<vxe-table height="auto" v-bind="defaultAttribute" :data="List">
<vxe-column field="dept" title="负责单位"></vxe-column>
<vxe-column field="substation" title="变电站名称"></vxe-column>
<vxe-column field="deviceName" title="终端名称"></vxe-column>
<vxe-column field="lineName" title="监测点名称"></vxe-column>
<vxe-column
field="businessType"
title="监测对象类型"
:formatter="row => industry.find((item: any) => item.id == row.cellValue)?.name || '/'"
></vxe-column>
<vxe-column field="objectName" title="监测对象名称"></vxe-column>
<vxe-column
field="targetType"
title="指标类型"
:formatter="row => exceeded.find((item: any) => item.id == row.cellValue)?.name || '/'"
></vxe-column>
<vxe-column
field="overLimitDay"
title="累计超标天数"
:formatter="row => (row.cellValue != null ? row.cellValue : '/')"
></vxe-column>
</vxe-table>
</div>
<el-form :model="form" ref="formRef" class="form-two mt10" :rules="rules" label-width="auto">
<!-- <el-form-item label="年份:" prop="year">
<el-input v-model="form.year" placeholder="请输入年份" />
</el-form-item>
<el-form-item label="编号:" prop="number">
<el-input v-model="form.number" placeholder="请输入编号" />
</el-form-item> -->
<el-form-item label="编号:" prop="year">
<div style="display: flex; justify-content: space-between">
<el-input style="width: 45%" v-model="form.year" placeholder="请输入年份">
<template #append>年份</template>
</el-input>
<el-input style="width: 45%" v-model="form.number" placeholder="请输入编号">
<template #append>编号</template>
</el-input>
</div>
</el-form-item>
<el-form-item label="整改意见:" prop="issueDetail">
<el-input
v-model="form.issueDetail"
:rows="2"
type="textarea"
clearable
style="width: 100%"
placeholder="请输入整改意见"
></el-input>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose">取消</el-button>
<el-button type="primary" @click="submit">发起</el-button>
</span>
</template>
</el-dialog>
</template>
<script setup lang="ts">
import { ref, defineEmits } from 'vue'
import { useDictData } from '@/stores/dictData'
import { ElMessage } from 'element-plus'
import { report } from '@/api/process-boot/electricitymanagement'
import { defaultAttribute } from '@/components/table/defaultAttribute'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogVisible = ref(false)
const title: any = ref('')
const industry = dictData.getBasicData('Business_Type')
const form: any = ref({})
const exceeded = dictData.getBasicData('Steady_Statis')
const resetForm = () => {
form.value = {
issueDetail: '',
year: new Date().getFullYear() + '',
number: '0'
}
}
const List = ref([])
resetForm()
const rules = {
issueDetail: [{ required: true, message: '请输入整改意见', trigger: 'blur' }],
year: [{ required: true, message: '请输入编号', trigger: 'blur' }],
number: [{ required: true, message: '请输入编号', trigger: 'blur' }]
}
const formRef = ref()
const submit = () => {
console.log('🚀 ~ open ~ form.value:', form.value)
formRef.value.validate(valid => {
if (valid) {
report({
...form.value,
type: title.value == '发起预警单' ? 0 : 1,
idList: List.value.map(item => item.id)
}).then(res => {
ElMessage.success('发起成功')
dialogVisible.value = false
emits('onSubmit')
})
} else {
console.log('表单验证失败')
return false
}
})
}
const open = (row: any) => {
dialogVisible.value = true
List.value = row.row
title.value = row.text
form.value = { ...row.form, ...form.value }
}
const handleClose = () => {
formRef.value && formRef.value.resetFields()
dialogVisible.value = false
}
defineExpose({ open })
</script>
<style lang="scss" scoped></style>

View File

@@ -0,0 +1,55 @@
<template>
<el-dialog draggable v-model="dialogVisible" :title="title" width="80%" :before-close="handleClose">
<div style="height: 45vh">
<vxe-table height="auto" v-bind="defaultAttribute" :data="List">
<vxe-column field="dept" title="负责单位"></vxe-column>
<vxe-column field="substation" title="变电站名称"></vxe-column>
<vxe-column field="deviceName" title="终端名称"></vxe-column>
<vxe-column field="lineName" title="监测点名称"></vxe-column>
<vxe-column
field="businessType"
title="监测对象类型"
:formatter="row => industry.find((item: any) => item.id == row.cellValue)?.name || '/'"
></vxe-column>
<vxe-column field="objectName" title="监测对象名称"></vxe-column>
<vxe-column
field="targetType"
title="指标类型"
:formatter="row => exceeded.find((item: any) => item.id == row.cellValue)?.name || '/'"
></vxe-column>
<vxe-column
field="overLimitDay"
title="累计超标天数"
:formatter="row => (row.cellValue != null ? row.cellValue : '/')"
></vxe-column>
</vxe-table>
</div>
</el-dialog>
</template>
<script setup lang="ts">
import { ref, defineEmits } from 'vue'
import { useDictData } from '@/stores/dictData'
import { ElMessage } from 'element-plus'
import { report } from '@/api/process-boot/electricitymanagement'
import { defaultAttribute } from '@/components/table/defaultAttribute'
const emits = defineEmits(['onSubmit'])
const dictData = useDictData()
const dialogVisible = ref(false)
const title: any = ref('')
const industry = dictData.getBasicData('Business_Type')
const exceeded = dictData.getBasicData('Steady_Statis')
const open = (row: any) => {
dialogVisible.value = true
title.value = row.text
}
const handleClose = () => {
dialogVisible.value = false
}
defineExpose({ open })
</script>
<style lang="scss" scoped></style>