| | |
| | | <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> |
| | | <img :src="item.path" /> |
| | | <img :src="item.icoPath" /> |
| | | <div class="list_title">{{ item.name }}</div> |
| | | </div> |
| | | </transition-group> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { updMyYwQuickModel } from '@/api/ywWorkDesk' |
| | | import { updMyYwQuickModel, getDefaultYwQuickList, getYwQuickList } from '@/api/ywWorkDesk' |
| | | import draggable from 'vuedraggable' |
| | | export default { |
| | | name: 'commonFunctions', |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | open (title) { |
| | | this.title = title |
| | | this.filterList = target |
| | | this.visible = true |
| | | 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) |
| | | } |
| | | }) |
| | | 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 |
| | | updMyYwQuickModel(this.form) |
| | | let arr = this.filterList.filter(item => item.checked) |
| | | updMyYwQuickModel(arr.map(item => item.id)) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('修改成功') |