Commit cda71c87 authored by 周远喜's avatar 周远喜

甘特图bug处理

parent c10bcbca
......@@ -4,6 +4,9 @@ export default {
paged(params) {
return Api.get(`${apsUrl}/scheduletotal/getall`, params);
},
getalldetails(params) {
return Api.get(`${apsUrl}/scheduletotal/getalldetails`, params);
},
getall(params) {
return Api.get(`${apsUrl}/schema/getall`, params);
},
......
<template>
<div class="q-pa-sm">
<div class="pr mt50" v-if="tasks.length==0" >
<Spin size="large" fix ></Spin>
<div class="pr mt50" v-if="tasks.length==0">
<Spin size="large" fix></Spin>
</div>
<gantt-elastic
v-else
:options="options"
......@@ -44,10 +44,10 @@ function getDate(hours) {
return new Date(timeStamp + hours * 60 * 60 * 1000).getTime();
}
function GetTimeByTimeStr(dateString) {
var timeArr = dateString.split(" ");
var d = timeArr[0].split("-");
var t = timeArr[1].split(":");
return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2]).getTime();
var timeArr = dateString.split(" ");
var d = timeArr[0].split("-");
var t = timeArr[1].split(":");
return new Date(d[0], d[1] - 1, d[2], t[0], t[1], t[2]).getTime();
}
let tasks = [
{
......@@ -58,7 +58,7 @@ let tasks = [
start: getDate(-24 * 5),
duration: 15 * 24 * 60 * 60 * 1000,
percent: 85,
type: "project"
type: "project",
//collapsed: true,
},
{
......@@ -75,9 +75,9 @@ let tasks = [
style: {
base: {
fill: "#1EBC61",
stroke: "#0EAC51"
}
}
stroke: "#0EAC51",
},
},
},
{
id: 3,
......@@ -88,7 +88,7 @@ let tasks = [
start: getDate(-24 * 3),
duration: 2 * 24 * 60 * 60 * 1000,
percent: 100,
type: "task"
type: "task",
},
{
id: 4,
......@@ -99,7 +99,7 @@ let tasks = [
duration: 2 * 24 * 60 * 60 * 1000,
percent: 50,
type: "task",
dependentOn: [3]
dependentOn: [3],
},
{
id: 5,
......@@ -114,9 +114,9 @@ let tasks = [
style: {
base: {
fill: "#0287D0",
stroke: "#0077C0"
}
}
stroke: "#0077C0",
},
},
},
{
id: 6,
......@@ -132,9 +132,9 @@ let tasks = [
style: {
base: {
fill: "#8E44AD",
stroke: "#7E349D"
}
}
stroke: "#7E349D",
},
},
},
{
id: 7,
......@@ -147,7 +147,7 @@ let tasks = [
duration: 4 * 60 * 60 * 1000,
percent: 20,
type: "task",
collapsed: true
collapsed: true,
},
{
id: 8,
......@@ -159,7 +159,7 @@ let tasks = [
start: getDate(24 * 3),
duration: 1 * 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
type: "task",
},
{
id: 9,
......@@ -175,9 +175,9 @@ let tasks = [
style: {
base: {
fill: "#8E44AD",
stroke: "#7E349D"
}
}
stroke: "#7E349D",
},
},
},
{
id: 10,
......@@ -187,7 +187,7 @@ let tasks = [
start: getDate(24 * 5),
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
type: "task",
},
{
id: 11,
......@@ -197,7 +197,7 @@ let tasks = [
start: getDate(24 * 6),
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
type: "task",
},
{
id: 12,
......@@ -208,7 +208,7 @@ let tasks = [
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task",
parentId: 11
parentId: 11,
},
{
id: 13,
......@@ -218,7 +218,7 @@ let tasks = [
start: getDate(24 * 8),
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
type: "task",
},
{
id: 14,
......@@ -228,7 +228,7 @@ let tasks = [
start: getDate(24 * 9),
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
type: "task",
},
{
id: 15,
......@@ -238,45 +238,45 @@ let tasks = [
start: getDate(24 * 16),
duration: 24 * 60 * 60 * 1000,
percent: 0,
type: "task"
}
type: "task",
},
];
let options = {
taskMapping: {
progress: "percent"
progress: "percent",
},
maxRows: 100,
maxHeight: 500,
title: {
label: "Your project title as html (link or whatever...)",
html: false
html: false,
},
row: {
height: 24
height: 24,
},
calendar: {
hour: {
display: true
}
display: true,
},
},
chart: {
progress: {
bar: false
bar: false,
},
expander: {
display: true
}
display: true,
},
},
taskList: {
expander: {
straight: false
straight: false,
},
columns: [
{
id: 1,
label: "ID",
value: "id",
width: 40
width: 40,
},
{
id: 2,
......@@ -288,46 +288,46 @@ let options = {
events: {
click({ data, column }) {
this.$Message.info(data.name);
}
}
},
},
},
{
id: 3,
label: "设备编号",
value: "EquipmentNo",
width: 160,
html: true
html: true,
},
{
id: 4,
label: "计划开始时间",
value: task => dayjs(task.start).format("YYYY-MM-DD"),
width: 100
value: (task) => dayjs(task.start).format("YYYY-MM-DD"),
width: 100,
},
{
id: 5,
label: "计划结束时间",
value: task => dayjs(task.endTime).format("YYYY-MM-DD"),
width: 100
value: (task) => dayjs(task.endTime).format("YYYY-MM-DD"),
width: 100,
},
{
id: 6,
label: "计划数量",
value: "plan_qty",
width: 68
width: 68,
},
{
id: 7,
label: "投入数量",
value: "put_into_qty",
width: 68
width: 68,
},
{
id: 8,
label: "派工数量",
value: "dispatch_qty",
width: 68
width: 68,
},
{
id: 9,
......@@ -337,15 +337,15 @@ let options = {
style: {
"task-list-header-label": {
"text-align": "center",
width: "100%"
width: "100%",
},
"task-list-item-value-container": {
"text-align": "center",
width: "100%"
}
}
}
]
width: "100%",
},
},
},
],
},
locale: {
weekdays: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],
......@@ -361,8 +361,8 @@ let options = {
"九月",
"十月",
"十一月",
"十二月"
]
"十二月",
],
// name: "en",
// Now: "Now",
// "X-Scale": "Zoom-X",
......@@ -370,25 +370,25 @@ let options = {
// "Task list width": "Task list",
// "Before/After": "Expand",
// "Display task list": "Task list"
}
},
};
export default {
name: "Gantt",
components: {
GanttElastic,
GanttHeader
GanttHeader,
},
props: {
id: String
id: String,
},
data() {
return {
tasks:[],
tasks: [],
options,
dynamicStyle: {},
lastId: 16
lastId: 16,
};
},
created() {
......@@ -399,62 +399,55 @@ export default {
methods: {
gantData() {
if (this.id) {
Api.paged({ scheduleId: this.id })
.then(r => {
Api.getalldetails({ scheduleId: this.id })
.then((r) => {
if (r.result) {
var parentId = r.result[0].id; //父级id
var list = [];
var obj = {
id: r.result[0].id,
// parentId: 0,
name: r.result[0].part_name,
start:GetTimeByTimeStr(r.result[0].plan_start) ,
// endTime: GetTimeByTimeStr(r.result[0].plan_finish),
EquipmentNo: "/",
duration: GetTimeByTimeStr(r.result[0].plan_finish)-GetTimeByTimeStr(r.result[0].plan_start),
percent: 85,
plan_qty: r.result[0].plan_qty,
put_into_qty: "/",
dispatch_qty: "/",
type: "project"
};
list.push(obj);
Api.getdetail({
part_task_pk: r.result[0].id,
scheduleId: this.id
}).then(r => {
if (r.result) {
for (var i = 0; i < r.result.length; i++) {
var start=GetTimeByTimeStr(r.result[i].plan_start);
var jg= GetTimeByTimeStr(r.result[i].plan_finish)- start;
r.result.map((u) => {
var parentId = u.id; //父级id
var obj = {
id: u.id,
// parentId: 0,
name: u.part_name,
start: GetTimeByTimeStr(u.plan_start),
// endTime: GetTimeByTimeStr(r.result[0].plan_finish),
EquipmentNo: "/",
duration:
GetTimeByTimeStr(u.plan_finish) -
GetTimeByTimeStr(u.plan_start),
percent: 85,
plan_qty: u.plan_qty,
put_into_qty: "/",
dispatch_qty: "/",
type: "project",
};
list.push(obj);
if (u.children) {
u.children.map((p,i) => {
var start = GetTimeByTimeStr(p.plan_start);
var jg = GetTimeByTimeStr(p.plan_finish) - start;
let temp = {
id: r.result[i].op_task_pk,
name: r.result[i].task_name,
EquipmentNo: r.result[i].equip_id,
// parentId: i<5?parentId:368,
parentId: parentId,
// start: r.result[i].plan_start,
// endTime: r.result[i].plan_finish,
// endTime: "2020-7-30",
id: p.op_task_pk,
name:p.task_name,
EquipmentNo:p.equip_id,
parentId: parentId,
start: start,
duration: jg,
percent: i*9,
put_into_qty: r.result[i].put_into_qty,
dispatch_qty: r.result[i].dispatch_qty,
type:i%2?"task":'milestone',
// type: "milestone",
percent: i * 9,
put_into_qty:p.put_into_qty,
dispatch_qty:p.dispatch_qty,
type: i % 2 ? "task" : "milestone",
};
list.push(temp);
}
this.tasksUpdate(list);
console.warn(list)
});
}
});
this.tasksUpdate(list);
}
})
.catch(error => {
this.$Message.error("请求失败");
.catch((error) => {
console.warn("err",error)
this.$Message.error("请求失败222");
});
}
},
......@@ -468,7 +461,7 @@ export default {
start: getDate(24 * 3),
duration: 1 * 24 * 60 * 60 * 1000,
percent: 50,
type: "project"
type: "project",
});
},
tasksUpdate(tasks) {
......@@ -481,7 +474,7 @@ export default {
},
styleUpdate(style) {
this.dynamicStyle = style;
}
}
},
},
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment