riku
2025-08-20 a09f984cbe2369e13d8694e91c4f8165ec6c2ba9
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<template>
  <div>
    <div>
      <el-space>
        <el-text type="info">数据切片</el-text>
        <el-checkbox-group
          :model-value="dataSlice"
          @update:model-value="(e) => emits('update:data-slice', e)"
          size="default"
          :min="1"
        >
          <el-space>
            <el-checkbox value="1">溯源</el-checkbox>
            <el-checkbox value="2">线索</el-checkbox>
            <el-checkbox value="3">提示</el-checkbox>
          </el-space>
        </el-checkbox-group>
      </el-space>
    </div>
    <div>
      <el-space>
        <el-text type="info">监测因子</el-text>
        <el-checkbox-group
          :model-value="factorType"
          @update:model-value="(e) => emits('update:factor-type', e)"
          size="default"
          :min="1"
        >
          <!-- <el-space> -->
          <el-checkbox
            v-for="item in factorOptions"
            :value="item.value"
            :key="item.label"
          >
            {{ item.label }}
          </el-checkbox>
          <!-- </el-space> -->
        </el-checkbox-group>
      </el-space>
    </div>
    <div>
      <el-space>
        <el-text type="info">场景类型</el-text>
        <el-checkbox-group
          :model-value="sceneType"
          @update:model-value="(e) => emits('update:scene-type', e)"
          size="default"
          :min="1"
        >
          <el-space>
            <el-checkbox
              v-for="item in sceneOptions"
              :value="item.value"
              :key="item.label"
            >
              {{ item.label }}
            </el-checkbox>
          </el-space>
        </el-checkbox-group>
      </el-space>
    </div>
  </div>
</template>
<script setup>
import { ref } from 'vue';
 
const props = defineProps({
  /**
   * 包含追踪信息的数据切片,包括线索、提示和溯源数据
   * @type {Array}
   */
  dataSlice: Array,
  /**
   * 监测因子类型数组
   * @type {Array}
   */
  factorType: Array,
  /**
   * 监测因子的可用选项
   * @type {Array<{value: string, label: string}>}
   */
  factorOptions: Array,
  /**
   * 用于过滤的场景类型数组
   * @type {Array}
   */
  sceneType: Array,
  /**
   * 场景选择的可用选项
   * @type {Array<{value: string, label: string}>}
   */
  sceneOptions: Array
});
 
const emits = defineEmits([
  'update:data-slice',
  'update:factor-type',
  'update:scene-type'
]);
</script>
<style scoped>
:deep(.el-checkbox) {
  --el-checkbox-text-color: white;
  --main-color: #23dad1;
  --el-checkbox-checked-text-color: var(--main-color);
  --el-checkbox-checked-input-border-color: var(--main-color);
  --el-checkbox-checked-bg-color: var(--main-color);
  --el-checkbox-input-border-color-hover: var(--main-color);
 
  --el-checkbox-disabled-checked-input-fill: var(--main-color);
  --el-checkbox-disabled-checked-input-border-color: var(--main-color);
  --el-checkbox-disabled-checked-icon-color: white;
  margin-right: 6px;
  /* height: initial; */
}
</style>