From 43bd29ccb06c689327edd88cf32be659c9abc0a5 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 06 Sep 2024 11:15:25 +0800
Subject: [PATCH] fix: 责任单位修改
---
src/views/toCarryOutLegislativeReforms/components/queryForm.vue | 181 +++++++++++++++++++++++++++++++++++++--------
1 files changed, 149 insertions(+), 32 deletions(-)
diff --git a/src/views/toCarryOutLegislativeReforms/components/queryForm.vue b/src/views/toCarryOutLegislativeReforms/components/queryForm.vue
index 7dbca98..60c83b3 100644
--- a/src/views/toCarryOutLegislativeReforms/components/queryForm.vue
+++ b/src/views/toCarryOutLegislativeReforms/components/queryForm.vue
@@ -1,53 +1,146 @@
<template>
<div>
<div class="search-form">
- <el-form :inline="true" :model="formData" class="demo-form-inline">
+ <el-form
+ :inline="true"
+ :model="formData"
+ class="demo-form-inline"
+ >
<el-form-item label="���������������">
- <el-input v-model="formData.allocationNum" placeholder="���������������" size="small" clearable />
+ <el-input
+ v-model="formData.allocationNum"
+ placeholder="���������������"
+ size="small"
+ clearable
+ />
</el-form-item>
<el-form-item label="���������������">
- <el-date-picker v-model="formData.startTime" style="width:92%" size="small" value-format="yyyy-MM-dd" type="date" placeholder="������������" />
-
+ <el-date-picker
+ v-model="formData.startTime"
+ style="width:92%"
+ size="small"
+ value-format="yyyy-MM-dd"
+ type="date"
+ placeholder="������������"
+ />
</el-form-item>
<el-form-item label="���������������">
- <el-date-picker v-model="formData.endTime" style="width:92%" size="small" value-format="yyyy-MM-dd" type="date" placeholder="������������" />
+ <el-date-picker
+ v-model="formData.endTime"
+ style="width:92%"
+ size="small"
+ value-format="yyyy-MM-dd"
+ type="date"
+ placeholder="������������"
+ />
</el-form-item>
- <el-form-item label="���������������" class="rddd">
- <el-select v-model="formData.unitId" size="small" clearable multiple collapse-tags placeholder="���������">
- <el-option v-for="item in unitList" :key="item.unitId" :label="item.unitName" :value="item.unitId" />
- </el-select>
+
+ <el-form-item
+ label="���������������"
+ >
+ <el-cascader
+ size="small"
+ collapse-tags
+ class="searchUid"
+ :show-all-levels="false"
+ :options="unitList"
+ :props="{ multiple: true, value:'unitId',label:'unitName',children:'children'}"
+ @change="changeUid"
+ />
</el-form-item>
<el-form-item label="���������������">
- <el-select v-model="formData.polluteType" size="small" clearable multiple collapse-tags placeholder="���������">
- <el-option v-for="item in polluteList" :key="item.dataKey" :label="item.dataValue" :value="item.dataKey" />
+ <el-select
+ v-model="formData.polluteType"
+ size="small"
+ clearable
+ multiple
+ collapse-tags
+ placeholder="���������"
+ >
+ <el-option
+ v-for="item in polluteList"
+ :key="item.dataKey"
+ :label="item.dataValue"
+ :value="item.dataKey"
+ />
</el-select>
</el-form-item>
<el-form-item label="���������������">
- <el-select v-model="formData.investigationType" size="small" clearable placeholder="���������">
- <el-option v-for="item in Dic.investigationEnum" :key="item.value" :label="item.name" :value="item.value" />
+ <el-select
+ v-model="formData.investigationType"
+ size="small"
+ clearable
+ placeholder="���������"
+ >
+ <el-option
+ v-for="item in Dic.investigationEnum"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
<el-form-item label="���������������">
- <el-select v-model="formData.changeType" placeholder="���������" clearable size="small">
- <el-option v-for="item in Dic.changeEnum" :key="item.value" :label="item.name" :value="item.value" />
+ <el-select
+ v-model="formData.changeType"
+ placeholder="���������"
+ clearable
+ size="small"
+ >
+ <el-option
+ v-for="item in Dic.changeEnum"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
<el-form-item label="���������������">
- <el-select v-model="formData.state" size="small" clearable multiple collapse-tags placeholder="���������" @change="replacePerChange($event)">
- <el-option v-for="item in Dic.allocationApproveEnum" :key="item.value" :label="item.name" :value="item.value" />
+ <el-select
+ v-model="formData.state"
+ size="small"
+ clearable
+ multiple
+ collapse-tags
+ placeholder="���������"
+ @change="replacePerChange($event)"
+ >
+ <el-option
+ v-for="item in Dic.allocationApproveEnum"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
<el-form-item label="���������������">
- <el-select v-model="formData.isInvalid" placeholder="���������" clearable size="small" @change="replaceIsInvalid($event)">
- <el-option v-for="item in Dic.yesOrNo" :key="item.value" :label="item.name" :value="item.value" />
+ <el-select
+ v-model="formData.isInvalid"
+ placeholder="���������"
+ clearable
+ size="small"
+ @change="replaceIsInvalid($event)"
+ >
+ <el-option
+ v-for="item in Dic.yesOrNo"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" size="small" @click="onSubmit">������</el-button>
- <el-button type="primary" size="small" @click="handleAdd">������</el-button>
+ <el-button
+ type="primary"
+ size="small"
+ @click="onSubmit"
+ >
+ ������
+ </el-button>
+ <!-- <el-button type="primary" size="small" @click="handleAdd">������</el-button> -->
</el-form-item>
</el-form>
</div>
@@ -59,7 +152,7 @@
props: {
searchType: { type: String, default: '' }
},
- data() {
+ data () {
return {
formData: {
isInvalid: null,
@@ -73,22 +166,45 @@
}
},
- created() {
+ created () {
this.getUnitList()
this.formData.isInvalid = 0
this.getContaminateList()
},
methods: {
+ changeUid (val) {
+ this.formData.unitId = this.uniqueArrayReduce(val)
+ },
+ uniqueArrayReduce (arrays) {
+ return arrays.reduce((acc, curr) => {
+ return acc.concat(curr.filter(item => !acc.includes(item)))
+ }, [])
+ },
+ removeEmptyArrays (obj) {
+ if (Array.isArray(obj)) {
+ return obj
+ .map(item => this.removeEmptyArrays(item)) // ������������������������
+ .filter(item => !Array.isArray(item) || item.length > 0) // ���������������
+ } else if (typeof obj === 'object' && obj !== null) {
+ Object.keys(obj).forEach(key => {
+ obj[key] = this.removeEmptyArrays(obj[key]) // ������������������������
+ if (Array.isArray(obj[key]) && obj[key].length === 0) {
+ delete obj[key] // ���������������������
+ }
+ })
+ }
+ return obj
+ },
// ������������������list
- getUnitList() {
+ getUnitList () {
this.$request({
- url: '/allocation/unit',
+ url: '/allocation/unitQuery',
method: 'get'
}).then(res => {
- this.unitList = res.data
+ this.unitList = this.removeEmptyArrays(res.data)
})
},
- getContaminateList() {
+ getContaminateList () {
this.$request({
url: '/allocation/contaminate',
method: 'get'
@@ -96,18 +212,18 @@
this.polluteList = res.data
})
},
- replaceIsInvalid(val) {
+ replaceIsInvalid (val) {
this.formData.isInvalid = val
this.$forceUpdate()
},
- replacePerChange(val) {
+ replacePerChange (val) {
this.$forceUpdate()
},
- onSubmit() {
+ onSubmit () {
console.log('formData', this.formData)
this.$emit('handleSearch', this.formData)
},
- handleAdd() {
+ handleAdd () {
this.$emit('handleAdd', '12122')
}
}
@@ -122,7 +238,7 @@
right: 20;
}
/deep/ .el-form-item__content {
- width: auto;
+ width: 214px;
}
}
/deep/.el-form-item__label {
@@ -131,4 +247,5 @@
/deep/.el-form-item {
margin-bottom: 5px;
}
+
</style>
--
Gitblit v1.8.0