From 074bcb8394fab66ce531c219e1e7de7c142ff2d5 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 29 五月 2026 11:07:10 +0800
Subject: [PATCH] 新增智能电表、空调管理
---
admin/src/components/business/commonFunctions.vue | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/admin/src/components/business/commonFunctions.vue b/admin/src/components/business/commonFunctions.vue
index 15ce0d7..b3eb492 100644
--- a/admin/src/components/business/commonFunctions.vue
+++ b/admin/src/components/business/commonFunctions.vue
@@ -9,7 +9,7 @@
<span>璇锋牴鎹娇鐢ㄤ範鎯嚜瀹氫箟甯哥敤鍔熻兘锛屾敮鎸佹嫋鍔ㄦ帓</span>
<draggable v-model="filterList" chosenClass="chosen" forceFallback="true" group="people" animation="1000">
<transition-group class="dra">
- <div class="list" v-for="(item, index) in filterList" :key="index">
+ <div class="list" v-for="item in filterList" :key="item.path || item.id">
<div class="list_checkbox">
<el-checkbox v-model="item.checked"> </el-checkbox>
</div>
@@ -25,7 +25,7 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
- import { updMyYwQuickModel, getDefaultYwQuickList } from '@/api/ywWorkDesk'
+ import { updMyYwQuickModel, getDefaultYwQuickList, getYwQuickList } from '@/api/ywWorkDesk'
import draggable from 'vuedraggable'
export default {
name: 'commonFunctions',
@@ -39,14 +39,25 @@
methods: {
open (title) {
this.title = title
- getDefaultYwQuickList({})
- .then(res => {
- res.forEach(item => {
- item.checked = false
+ Promise.all([getDefaultYwQuickList(), getYwQuickList()])
+ .then(([allList, myList]) => {
+ const selectedPaths = (myList || []).map(item => item.path)
+ const pathOrder = new Map(selectedPaths.map((path, index) => [path, index]))
+ const selected = []
+ const unselected = []
+ ;(allList || []).forEach(item => {
+ const entry = { ...item, checked: selectedPaths.includes(item.path) }
+ if (entry.checked) {
+ selected.push(entry)
+ } else {
+ unselected.push(entry)
+ }
})
- this.filterList = res
+ selected.sort((a, b) => (pathOrder.get(a.path) || 0) - (pathOrder.get(b.path) || 0))
+ this.filterList = [...selected, ...unselected]
this.visible = true
})
+ .catch(e => this.$tip.apiFailed(e))
},
confirm () {
this.isWorking = true
--
Gitblit v1.9.3