对比新文件 |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="60%" |
| | | :visible.sync="visible" |
| | | @confirm="confirm" |
| | | > |
| | | <div class="Analysis"> |
| | | <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_checkbox"> |
| | | <el-checkbox v-model="item.checked"> </el-checkbox> |
| | | </div> |
| | | <img :src="item.icoPath" /> |
| | | <div class="list_title">{{ item.name }}</div> |
| | | </div> |
| | | </transition-group> |
| | | </draggable> |
| | | </div> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { updMyYwQuickModel, getDefaultYwQuickList } from '@/api/ywWorkDesk' |
| | | import draggable from 'vuedraggable' |
| | | export default { |
| | | name: 'commonFunctions', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, draggable }, |
| | | data () { |
| | | return { |
| | | filterList: [] |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title) { |
| | | this.title = title |
| | | getDefaultYwQuickList({}) |
| | | .then(res => { |
| | | res.forEach(item => { |
| | | item.checked = false |
| | | }) |
| | | this.filterList = res |
| | | this.visible = true |
| | | }) |
| | | }, |
| | | confirm () { |
| | | this.isWorking = true |
| | | let arr = this.filterList.filter(item => item.checked) |
| | | updMyYwQuickModel(arr.map(item => item.id)) |
| | | .then(() => { |
| | | this.visible = false |
| | | this.$tip.apiSuccess('淇敼鎴愬姛') |
| | | this.$emit('success') |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .Analysis { |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | span { |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #333333; |
| | | margin-bottom: 20px; |
| | | } |
| | | .dra { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | } |
| | | .list { |
| | | cursor: pointer; |
| | | display: flex; |
| | | align-items: center; |
| | | width: 24%; |
| | | height: 80px; |
| | | background: #FFFFFF; |
| | | border-radius: 8px; |
| | | border: 1px solid #DFE2E8; |
| | | margin-bottom: 10px; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | .list_checkbox { |
| | | position: absolute; |
| | | right: 10px; |
| | | top: 10px; |
| | | } |
| | | img { |
| | | width: 40px; |
| | | height: 40px; |
| | | user-select: none; |
| | | margin-right: 10px; |
| | | } |
| | | .list_title { |
| | | width: 130px; |
| | | font-size: 11px; |
| | | user-select: none; |
| | | } |
| | | } |
| | | } |
| | | </style> |