From 7c20fd15b7fbc2bd5756b39d5ab655cc849ffcc3 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 16 七月 2025 22:39:23 +0800
Subject: [PATCH] 添加时间筛选

---
 src/components/seachHeader/index.vue |  282 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 165 insertions(+), 117 deletions(-)

diff --git a/src/components/seachHeader/index.vue b/src/components/seachHeader/index.vue
index 7ce454d..d8836b9 100644
--- a/src/components/seachHeader/index.vue
+++ b/src/components/seachHeader/index.vue
@@ -1,133 +1,181 @@
 <template>
-<div class="header">
-  <el-form :inline="true" :model="seachData" class="demo-form-inline">
-    <el-form-item label="浜嬩欢缂栧彿">
-      <el-input v-model="seachData.code" placeholder="浜嬩欢缂栧彿"></el-input>
-    </el-form-item>
-    <el-form-item label="鏉ユ簮鏌ヨ">
-      <el-select v-model="seachData.resource" placeholder="璇烽�夋嫨鏉ユ簮">
-        <el-option
-            v-for="item in eventSourceOptions"
-            :key="item.label"
-            :label="item.label"
-            :value="item.value"
-        >
-        </el-option>
-      </el-select>
-    </el-form-item>
-    <el-form-item label="澶х被鍚嶇О">
-        <el-input v-model="seachData.categoryBig" placeholder="澶х被鍚嶇О"></el-input>
-    </el-form-item>
-    <el-form-item label="灏忕被鍚嶇О">
-        <el-input v-model="seachData.categorySmall" placeholder="灏忕被鍚嶇О"></el-input>
-    </el-form-item>
-    <el-form-item label="鎶ヨ鐐逛綅">
-      <el-input v-model="seachData.site" placeholder="鎶ヨ鐐逛綅"></el-input>
-    </el-form-item>
-    <el-form-item label="鎵�灞炲尯鍩�">
-      <el-input v-model="seachData.street" placeholder="鎵�灞炲尯鍩�"></el-input>
-    </el-form-item>
-    <el-form-item label="鎶ヨ鏃堕棿">
-      <el-date-picker
-          v-model="seachData.alarmTime"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="鑷�"
-          start-placeholder="寮�濮嬫棩鏈�"
-          end-placeholder="缁撴潫鏃ユ湡"
-          :picker-options="pickerOptions">
-      </el-date-picker>
-    </el-form-item>
-    <el-form-item>
-      <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
-      <el-button
-          v-if="addData"
-          class="addBtn button-addition"
-          type="primary"
-          @click="dialogCreate()"
-      >娣诲姞</el-button
-      >
-    </el-form-item>
-  </el-form>
-<!--      <div>-->
-<!--        <el-button type="primary" @click="getUserList">鏌ヨ</el-button>-->
-<!--        <el-button-->
-<!--            class="addBtn button-addition"-->
-<!--            type="primary"-->
-<!--            @click="dialogCreate()"-->
-<!--        >娣诲姞</el-button-->
-<!--        >-->
-<!--      </div>-->
-</div>
+    <div class="header">
+        <el-form :inline="true" :model="seachData" class="demo-form-inline">
+            <el-form-item label="浜嬩欢缂栧彿">
+                <el-input
+                    v-model="seachData.code"
+                    placeholder="浜嬩欢缂栧彿"
+                ></el-input>
+            </el-form-item>
+            <el-form-item label="鏉ユ簮鏌ヨ">
+                <el-select
+                    v-model="seachData.resource"
+                    placeholder="璇烽�夋嫨鏉ユ簮"
+                >
+                    <el-option
+                        v-for="item in eventSourceOptions"
+                        :key="item.label"
+                        :label="item.label"
+                        :value="item.value"
+                    >
+                    </el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="澶х被鍚嶇О">
+                <el-input
+                    v-model="seachData.categoryBig"
+                    placeholder="澶х被鍚嶇О"
+                ></el-input>
+            </el-form-item>
+            <el-form-item label="灏忕被鍚嶇О">
+                <el-input
+                    v-model="seachData.categorySmall"
+                    placeholder="灏忕被鍚嶇О"
+                ></el-input>
+            </el-form-item>
+            <el-form-item label="鎶ヨ鐐逛綅">
+                <el-input
+                    v-model="seachData.site"
+                    placeholder="鎶ヨ鐐逛綅"
+                ></el-input>
+            </el-form-item>
+            <el-form-item label="鎵�灞炲尯鍩�">
+                <el-cascader
+                    v-model="seachData.street"
+                    :options="communityOptions"
+                    :props="options"
+                    clearable
+                    @change="handleChange"
+                ></el-cascader>
+            </el-form-item>
+            <el-form-item label="鎶ヨ鏃堕棿">
+                <el-date-picker
+                    v-model="seachData.alarmTime"
+                    type="daterange"
+                    align="right"
+                    unlink-panels
+                    range-separator="鑷�"
+                    start-placeholder="寮�濮嬫棩鏈�"
+                    end-placeholder="缁撴潫鏃ユ湡"
+                    :picker-options="pickerOptions"
+                >
+                </el-date-picker>
+            </el-form-item>
+            <el-form-item>
+                <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
+                <el-button
+                    v-if="addData"
+                    class="addBtn button-addition"
+                    type="primary"
+                    @click="dialogCreate()"
+                    >娣诲姞</el-button
+                >
+              <el-button type="primary" @click="resetAll">閲嶇疆</el-button>
+            </el-form-item>
+        </el-form>
+        <!--      <div>-->
+        <!--        <el-button type="primary" @click="getUserList">鏌ヨ</el-button>-->
+        <!--        <el-button-->
+        <!--            class="addBtn button-addition"-->
+        <!--            type="primary"-->
+        <!--            @click="dialogCreate()"-->
+        <!--        >娣诲姞</el-button-->
+        <!--        >-->
+        <!--      </div>-->
+    </div>
 </template>
 
 <script>
-import {RESOURCE_OPTIONS} from "@/utils/helper";
+import { RESOURCE_OPTIONS } from "@/utils/helper";
+import department from "@/api/system/department";
 
 export default {
-  data(){
-    return{
-      eventSourceOptions: RESOURCE_OPTIONS,
-      seachData:{
+    data() {
+        return {
+            options: {
+                label: 'regionName',
+                value: 'id',
+            },
+            communityOptions: [],
+            eventSourceOptions: RESOURCE_OPTIONS,
+            seachData: {
 
+            },
+            addData: false,
+            alarmTime: '',
+            pickerOptions: {
+                shortcuts: [{
+                    text: '鏈�杩戜竴鍛�',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '鏈�杩戜竴涓湀',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }, {
+                    text: '鏈�杩戜笁涓湀',
+                    onClick(picker) {
+                        const end = new Date();
+                        const start = new Date();
+                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                        picker.$emit('pick', [start, end]);
+                    }
+                }]
+            },
+        }
+    },
+    created() {
+    },
+    mounted() {
+        this.getPool()
+        this.getCommunityOptions()
+    },
+    methods: {
+      resetAll(){
+        this.seachData = {}
+        this.$emit('getUserList', { seachData: this.seachData });
       },
-      addData:false,
-      alarmTime:'',
-      pickerOptions: {
-        shortcuts: [{
-          text: '鏈�杩戜竴鍛�',
-          onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '鏈�杩戜竴涓湀',
-          onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-            picker.$emit('pick', [start, end]);
-          }
-        }, {
-          text: '鏈�杩戜笁涓湀',
-          onClick(picker) {
-            const end = new Date();
-            const start = new Date();
-            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-            picker.$emit('pick', [start, end]);
-          }
-        }]},
-    }
-  },
-  created() {
-  },
-  mounted() {
-    this.getPool()
-  },
-  methods:{
-    getPool(){
-      console.log(this.$route.name);
-      let name = this.$route.name
-      this.addData = name == 'pool';
-    },
-    onSubmit(){
+        handleChange(value) {
+            console.log(value);
+        },
+        // 鑾峰彇绀惧尯鍜岃閬�
+        getCommunityOptions() {
+            department.getDepartmentList()
+                .then(res => {
+                    this.communityOptions = res;
+                })
+                .catch(err => this.$message.error(err))
+        },
+        getPool() {
+            console.log(this.$route.name);
+            let name = this.$route.name
+            this.addData = name == 'pool';
+        },
+        onSubmit() {
 
+        },
+        getUserList() {
+            console.log(this.seachData)
+            this.seachData.street = this.seachData.street ? this.seachData.street[this.seachData.street.length - 1] : null;
+            this.$emit('getUserList', { seachData: this.seachData });
+        },
+        dialogCreate() {
+            this.$emit('dialogCreatepro')
+        },
     },
-    getUserList(){
-      this.$emit('getUserList', {seachData:this.seachData})
-    },
-    dialogCreate(){
-      this.$emit('dialogCreatepro')
-    },
-  },
 }
 </script>
 
 <style lang="scss" scoped>
-  .header{
+.header {
     line-height: normal;
-  }
+}
 </style>

--
Gitblit v1.8.0