riku
2025-06-09 38ff09bd2a638bc43a365efe0390cc3510d62e68
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// 区域筛选的逻辑管理
 
import { defineStore } from 'pinia'
import dayjs from 'dayjs'
 
export const useAreaStore = defineStore('area', {
  state: () => {
    return {
      locations: {},
      sceneType: {},
      time: '',
      area: {
        provincecode: undefined,
        provincename: undefined,
        citycode: undefined,
        cityname: undefined,
        districtcode: undefined,
        districtname: undefined,
        starttime: undefined,
        endtime: undefined,
        scensetypeid: undefined
      }
    }
  },
  actions: {
    // 设置行政区划信息
    setLocation(location) {
      this.area.provincecode = location.pCode
      this.area.provincename = location.pName
      this.area.citycode = location.cCode
      this.area.cityname = location.cName
      this.area.districtcode = location.dCode
      this.area.districtname = location.dName
 
      this.locations = {
        pCode: location.pCode,
        pName: location.pName,
        cCode: location.cCode,
        cName: location.cName,
        dCode: location.dCode,
        dName: location.dName
      }
    },
    setTimePeriod(time, type) {
      this.time = time ? time : new Date()
      const d = dayjs(this.time)
      this.area.starttime = d.startOf(type).format('YYYY-MM-DD HH:mm:ss')
      this.area.endtime = d.endOf(type).format('YYYY-MM-DD HH:mm:ss')
    },
    // 设置时间为给定时间对应当日的头尾
    setTimeOneDay(time) {
      this.setTimePeriod(time, 'day')
    },
    // 设置时间为给定时间对应当月的头尾
    setTimeOneMonth(time) {
      this.setTimePeriod(time, 'month')
    },
    // 设置场景类型
    setSceneType(t) {
      this.sceneType = t
      this.area.scensetypeid = t.value
    }
  }
})