修改 技术监督 现场问题

This commit is contained in:
GGJ
2024-07-23 15:03:48 +08:00
parent 049d0c1132
commit 33814bf712
13 changed files with 237 additions and 105 deletions

View File

@@ -1,53 +1,54 @@
<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 alarmForm" :rules="rules" label-width="auto">
<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>
<div v-loading="loading">
<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 alarmForm" :rules="rules" label-width="auto">
<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-item label="整改意见:" prop="reformAdvice">
<el-input
v-model="form.reformAdvice"
:rows="2"
type="textarea"
clearable
style="width: 100%"
placeholder="请输入整改意见"
></el-input>
</el-form-item>
<el-form-item label="整改意见:" prop="reformAdvice">
<el-input
v-model="form.reformAdvice"
:rows="2"
type="textarea"
clearable
style="width: 100%"
placeholder="请输入整改意见"
></el-input>
</el-form-item>
<el-form-item label="编号:" prop="year">
<!-- <el-form-item label="编号:" prop="year">
<div style="width: 100%; display: flex; justify-content: space-between">
<el-input style="width: 49%" v-model="form.year" placeholder="请输入年份">
<template #append>年份</template>
@@ -56,8 +57,10 @@
<template #append>编号</template>
</el-input>
</div>
</el-form-item>
</el-form>
</el-form-item> -->
</el-form>
</div>
<template #footer>
<span class="dialog-footer">
<el-button @click="handleClose">取消</el-button>
@@ -80,6 +83,7 @@ const title: any = ref('')
const industry = dictData.getBasicData('Business_Type')
const form: any = ref({})
const exceeded = dictData.getBasicData('Indicator_Type')
const loading = ref(false)
const resetForm = () => {
form.value = {
issueDetail: '',
@@ -101,15 +105,22 @@ const submit = () => {
console.log('🚀 ~ open ~ form.value:', form.value)
formRef.value.validate(valid => {
if (valid) {
loading.value = true
report({
...form.value,
type: title.value == '发起预警单' ? 1 : 2,
idList: List.value.map(item => item.id)
}).then(res => {
ElMessage.success('发起成功')
dialogVisible.value = false
emits('onSubmit')
})
.then(res => {
loading.value = false
ElMessage.success('发起成功')
dialogVisible.value = false
emits('onSubmit')
})
.catch(() => {
loading.value = false
})
} else {
console.log('表单验证失败')
return false
@@ -121,6 +132,7 @@ const open = (row: any) => {
dialogVisible.value = true
List.value = row.row
title.value = row.text
form.value = { ...form.value, ...row.form }
}

View File

@@ -324,6 +324,8 @@ tableStore.table.params.dataType = '1'
tableStore.table.params.deptId = dictData.state.area[0].id
provide('tableStore', tableStore)
onMounted(() => {
TableHeaderRef.value.setDatePicker([{ label: '月', value: 3 }])
tableStore.index()
setTimeout(() => {
TableHeaderRef.value.showSelectChange()

View File

@@ -14,6 +14,10 @@
</TableHeader>
<Table ref="tableRef" />
<testQuestionsForm ref="testQuestionsFormRef" />
<!-- 详情 -->
<el-dialog draggable v-model="dialogVisible" v-if="dialogVisible" title="详情" width="1000">
<detail :id="detailId" :flag="false"/>
</el-dialog>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue'
@@ -22,14 +26,17 @@ import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import testQuestionsForm from './form/testQuestionsForm.vue'
import { initiateWarningLeaflet } from '@/api/supervision-boot/survey/test'
import { ElMessage,ElMessageBox } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
import { useRouter } from 'vue-router'
import { useDictData } from '@/stores/dictData'
import detail from '@/views/pqs/supervise/harmonicSurvey/test/detail.vue'
const dictData = useDictData()
const { push } = useRouter()
const router = useRouter() // 路由对象
const tableRef = ref()
const TableHeaderRef = ref()
const dialogVisible = ref(false)
const detailId = ref('')
const testQuestionsFormRef = ref()
const tableStore = new TableStore({
url: '/supervision-boot/surveyTest/pageProblemSurvey',
@@ -67,6 +74,18 @@ const tableStore = new TableStore({
render: 'buttons',
fixed: 'right',
buttons: [
{
name: 'edit',
title: '详情',
type: 'primary',
icon: 'el-icon-Open',
render: 'basicButton',
click: async row => {
dialogVisible.value = true
detailId.value = row.id
}
},
{
name: 'edit',
title: '发起告警单',