From c9a780922602a240952bde296e80e7c1edfeeaf6 Mon Sep 17 00:00:00 2001 From: lxc Mac Date: Sun, 25 Jul 2021 14:08:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=8F=E6=8D=B7=E7=9C=8B=E6=9D=BF0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xm/core/xmTask/XmTaskAgileKanban.vue | 235 ++++++++++-------- src/views/xm/core/xmTask/XmTaskMng.vue | 2 +- 2 files changed, 128 insertions(+), 109 deletions(-) diff --git a/src/views/xm/core/xmTask/XmTaskAgileKanban.vue b/src/views/xm/core/xmTask/XmTaskAgileKanban.vue index 325d879e..e4b9e0d9 100644 --- a/src/views/xm/core/xmTask/XmTaskAgileKanban.vue +++ b/src/views/xm/core/xmTask/XmTaskAgileKanban.vue @@ -1,32 +1,70 @@ + + + + - 轻微 - 一般 - 紧急 - 特急 - - - {{item.showMsg}} - - - {{ (menu.rate!=null?menu.rate:0)+'%'}} - {{parseFloat(menu.budgetCost/10000).toFixed(2)}}万,{{menu.budgetWorkload}}人时 - {{menu.name}} - + {{menu.name}} {{menu.menuId}}
+ @@ -126,7 +136,7 @@ import { editXmTask } from '@/api/xm/core/xmTask'; export default { name: "XmTaskAgileKanban", - props: ["xmTasks"], + props: ["xmTasks", "tableHeight"], data() { return { taskType: [ @@ -136,38 +146,14 @@ export default { { label: "已结算", status: 3, number: 0 }, ], tasks: {}, - drag: false, - arr1: [ - { id: 1, name: 'www.itxst.com' }, - { id: 2, name: 'www.jd.com' }, - { id: 3, name: 'www.baidu.com' }, - { id: 4, name: 'www.taobao.com' } - ], - arr2: [ - { id: 1, name: 'www.google.com' }, - { id: 2, name: 'www.msn.com' }, - { id: 3, name: 'www.ebay.com' }, - { id: 4, name: 'www.yahoo.com' } - ], - arr3: [ - { id: 1, name: 'item 1' }, - { id: 2, name: 'item 2' }, - { id: 3, name: 'item 3' }, - { id: 4, name: 'item 4' } - ] + drag: { + menuId: '', + state: '', + }, }; }, components: { draggable }, - watch: { - tasks: { - handler(val, oldVal) { - console.log('tasks--val==', val); - console.log('tasks--oldVal==', oldVal); - }, - deep: true, - immediate: true - } - }, + watch: {}, computed: { menus() { let xmTasks = JSON.parse(JSON.stringify(this.xmTasks || [])); @@ -182,9 +168,7 @@ export default { if (!menus.length || !menuIds[d.menuId]) { menus.push(d); menuIds[d.menuId] = true; - } else { - console.log('i==', i); - } + } if (!tasks[d.menuId]) { tasks[d.menuId] = [[], [], [], []]; } @@ -192,30 +176,46 @@ export default { this.taskType[parseInt(d.taskState)].number += 1; }); this.tasks = tasks; - console.log('this.tasks==', this.tasks); return menus; }, }, methods: { + onMove(e) { + console.log('onMove--e==', e); + let targetEl = { ...e.dragged.dataset }; + let toEl = { ...e.to.dataset }; + if (targetEl.menuId === toEl.menuId && targetEl.taskState !== toEl.taskState) { + console.log('onMove--true'); + return true; + } + console.log('onMove--false'); + return false; + }, onStart(e) { console.log('onStart--e==', e); - this.drag = true; + let targetEl = { ...e.item.dataset }; + this.drag = { ...targetEl }; + console.log('onStart--targetEl==', targetEl); }, onEnd(e) { console.log('onEnd--e==', e); - this.drag = false; + this.drag = {}; // targetEl:拖拽的任务数据; toEl拖拽后的位置. let targetEl = { ...e.item.dataset }; let toEl = { ...e.to.dataset }; console.log('onEnd--targetEl==', targetEl, toEl); if (targetEl.menuId === toEl.menuId && targetEl.taskState !== toEl.taskState) { + console.log('onEnd--拖拽有效更新状态'); let task = this.xmTasks.find(d => d.id === targetEl.taskId); - console.log('onEnd--task==', task); const params = { ...task, taskState: toEl.taskState }; editXmTask(params).then(res => { console.log('onEnd--editXmTask--res==', res); this.$emit('submit'); }) + console.log('onEnd--this.tasks==', this.tasks); + } else { + console.log('onEnd--false--this.tasks==', this.tasks); + return false } }, formatExeUsernames(row){ @@ -259,14 +259,16 @@ export default { diff --git a/src/views/xm/core/xmTask/XmTaskMng.vue b/src/views/xm/core/xmTask/XmTaskMng.vue index fa43f140..b00a1204 100644 --- a/src/views/xm/core/xmTask/XmTaskMng.vue +++ b/src/views/xm/core/xmTask/XmTaskMng.vue @@ -141,7 +141,7 @@