Showing
1 changed file
with
17 additions
and
47 deletions
@@ -21,7 +21,6 @@ | @@ -21,7 +21,6 @@ | ||
21 | placeholder="请选择" | 21 | placeholder="请选择" |
22 | notFoundContent="请选择" | 22 | notFoundContent="请选择" |
23 | :options="selectOptions" | 23 | :options="selectOptions" |
24 | - @change="handleChange(item)" | ||
25 | allowClear | 24 | allowClear |
26 | /> | 25 | /> |
27 | </td> | 26 | </td> |
@@ -45,6 +44,7 @@ | @@ -45,6 +44,7 @@ | ||
45 | notFoundContent="请选择" | 44 | notFoundContent="请选择" |
46 | :options="entityOptions" | 45 | :options="entityOptions" |
47 | allowClear | 46 | allowClear |
47 | + @change="handleDeviceChange(item)" | ||
48 | /> | 48 | /> |
49 | <Select | 49 | <Select |
50 | v-else-if="item.key === 'keys'" | 50 | v-else-if="item.key === 'keys'" |
@@ -171,58 +171,15 @@ | @@ -171,58 +171,15 @@ | ||
171 | }); | 171 | }); |
172 | }; | 172 | }; |
173 | 173 | ||
174 | - //TODO 待优化 Select互斥 | ||
175 | - const handleChange = async (e) => { | ||
176 | - selectOptions.value.forEach((ele) => { | ||
177 | - ele.disabled = false; | ||
178 | - tableTestArray.content.forEach((element) => { | ||
179 | - if (element.key === e.key && element.key !== 'scope') { | ||
180 | - element.value = null; | ||
181 | - } | ||
182 | - if (element.key === ele.value && element.key !== 'scope') { | ||
183 | - ele.disabled = true; | ||
184 | - } | ||
185 | - }); | ||
186 | - }); | ||
187 | - //获取对应项 | ||
188 | - if (e.key === 'deviceProfileId') { | ||
189 | - const { options } = await useApi(e.key); | ||
190 | - valueOptions.value = options; | ||
191 | - } else if (e.key === 'organizationId') { | ||
192 | - const { options } = await useApi(e.key); | ||
193 | - treeData.value = options as any; | ||
194 | - } else if (e.key === 'entityId') { | ||
195 | - const getOrganizationIds = tableTestArray.content | ||
196 | - .map((f) => { | ||
197 | - if (f.key === 'organizationId') { | ||
198 | - return f.value; | ||
199 | - } | ||
200 | - }) | ||
201 | - .filter(Boolean); | ||
202 | - if (getOrganizationIds.length === 0) return; | ||
203 | - getEntityOptions(getOrganizationIds?.at(-1)); | ||
204 | - } else if (e.key === 'keys') { | ||
205 | - const getIds = tableTestArray.content | ||
206 | - .map((f) => { | ||
207 | - if (f.key === 'deviceProfileId') { | ||
208 | - return f.value; | ||
209 | - } | ||
210 | - }) | ||
211 | - .filter(Boolean); | ||
212 | - if (getIds.length === 0) return; | ||
213 | - getAttributeOptions({ deviceProfileId: getIds?.at(-1) }); | ||
214 | - } else if (e.key === 'date') { | ||
215 | - valueOptions.value = []; | ||
216 | - } | ||
217 | - }; | ||
218 | - | ||
219 | const handleOrgnationChange = async (e) => { | 174 | const handleOrgnationChange = async (e) => { |
175 | + let deviceProfileId = ''; | ||
220 | tableTestArray.content.forEach((f) => { | 176 | tableTestArray.content.forEach((f) => { |
221 | if (f.key === 'entityId') { | 177 | if (f.key === 'entityId') { |
222 | f.value = null; | 178 | f.value = null; |
223 | } | 179 | } |
180 | + if (f.key === 'deviceProfileId') deviceProfileId = f.value; | ||
224 | }); | 181 | }); |
225 | - getEntityOptions(e.value); | 182 | + getEntityOptions(e.value, deviceProfileId); |
226 | }; | 183 | }; |
227 | 184 | ||
228 | const getEntityOptions = async (organizationId: string, deviceProfileId?: string) => { | 185 | const getEntityOptions = async (organizationId: string, deviceProfileId?: string) => { |
@@ -240,16 +197,26 @@ | @@ -240,16 +197,26 @@ | ||
240 | }; | 197 | }; |
241 | 198 | ||
242 | const handleValueChange = (e) => { | 199 | const handleValueChange = (e) => { |
200 | + let organizationId = ''; | ||
243 | if (e.key === 'deviceProfileId') { | 201 | if (e.key === 'deviceProfileId') { |
244 | tableTestArray.content.forEach((f) => { | 202 | tableTestArray.content.forEach((f) => { |
245 | if (f.key === 'keys') { | 203 | if (f.key === 'keys') { |
246 | f.value = null; | 204 | f.value = null; |
247 | } | 205 | } |
206 | + if (f.key === 'organizationId') organizationId = f.value; | ||
207 | + if (f.key === 'entityId') f.value = null; | ||
248 | }); | 208 | }); |
249 | getAttributeOptions({ deviceProfileId: e.value }); | 209 | getAttributeOptions({ deviceProfileId: e.value }); |
210 | + if (organizationId !== '') { | ||
211 | + getEntityOptions(organizationId, e.value); | ||
212 | + } | ||
250 | } | 213 | } |
251 | }; | 214 | }; |
252 | 215 | ||
216 | + const handleDeviceChange = (e) => { | ||
217 | + console.log(e); | ||
218 | + }; | ||
219 | + | ||
253 | //获取数据 | 220 | //获取数据 |
254 | const getValue = () => { | 221 | const getValue = () => { |
255 | return tableTestArray.content; | 222 | return tableTestArray.content; |
@@ -261,6 +228,9 @@ | @@ -261,6 +228,9 @@ | ||
261 | </script> | 228 | </script> |
262 | 229 | ||
263 | <style scoped lang="less"> | 230 | <style scoped lang="less"> |
231 | + :deep(.ant-select-selector) { | ||
232 | + width: 12vw !important; | ||
233 | + } | ||
264 | @table-color: #e5e7eb; | 234 | @table-color: #e5e7eb; |
265 | 235 | ||
266 | .table-border-color { | 236 | .table-border-color { |