// 2025-11-05 冯
// 甘特图时间计算逻辑(完整无省略版)
let { value } = arguments[0];
let data = value;
console.log('原始数据:', data);
const now = new Date();
let today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
const formattedDate = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, '0')}-${now.getDate().toString().padStart(2, '0')}`;
const idMap = {};
const childrenMap = {};
// 初始化ID映射和子任务映射
for (let i = 0; i < data.length; i++) {
const item = data[i];
idMap[item.input_gantt_id] = item;
if (item.input_gantt_pid !== "0") {
if (!childrenMap[item.input_gantt_pid]) {
childrenMap[item.input_gantt_pid] = [];
}
childrenMap[item.input_gantt_pid].push(item);
}
}
// 计算工作日逻辑
const calculateWorkDays = (start, days) => {
if (days <= 0) return start.toISOString().split('T')[0];
const result = new Date(start);
let added = 0;
let safetyCounter = 0;
const MAX_ITERATIONS = 365 * 5;
while (added < days && safetyCounter < MAX_ITERATIONS) {
result.setDate(result.getDate() + 1);
const day = result.getDay();
if (day !== 0 && day !== 6) added++;
safetyCounter++;
}
if (safetyCounter >= MAX_ITERATIONS) {
console.error(`安全阀触发:计算日期超过最大迭代次数 (${days}天)`);
return formattedDate;
}
return result.toISOString().split('T')[0];
};
// 1:处理关联任务依赖关系
for (let i = 0; i < data.length; i++) {
const item = data[i];
if (item.input_gantt_pid !== "0") {
if (item.input_ai1ocsab == null && (!item.date_ojtjcbwl || !item.date_u0vgd44a)) {
item.date_ojtjcbwl = formattedDate;
const addDays = parseInt(item.Count_1onrwvsa) || 1;
item.date_u0vgd44a = calculateWorkDays(new Date(item.date_ojtjcbwl), addDays);
} else if (item.input_ai1ocsab) {
const refItem = data.find(it => it.input_wnjhp5ur === item.input_ai1ocsab);
if (refItem && refItem.date_u0vgd44a) {
item.date_ojtjcbwl = refItem.date_u0vgd44a;
const addDays = parseInt(item.Count_1onrwvsa) || 1;
item.date_u0vgd44a = calculateWorkDays(new Date(refItem.date_u0vgd44a), addDays);
}
}
}
// 填充父任务名称
if (item.input_gantt_pid === "0") {
item.input_mnm39sq6 = '';
} else if (idMap[item.input_gantt_pid] && !item.input_mnm39sq6) {
item.input_mnm39sq6 = idMap[item.input_gantt_pid].input_wnjhp5ur;
}
}
// 2:父节点链式时间处理
const parentNodes = data
.filter(item => item.input_gantt_pid === "0")
.sort((a, b) => parseInt(a.line_number) - parseInt(b.line_number));
let prevParentEndDate = null;
for (let i = 0; i < parentNodes.length; i++) {
const parent = parentNodes[i];
const children = childrenMap[parent.input_gantt_id] || [];
if (prevParentEndDate !== null) {
parent.date_ojtjcbwl = prevParentEndDate;
for (let j = 0; j < children.length; j++) {
const child = children[j];
if (!child.input_ai1ocsab) {
child.date_ojtjcbwl = prevParentEndDate;
if (child.Count_1onrwvsa) {
const addDays = parseInt(child.Count_1onrwvsa) || 1;
child.date_u0vgd44a = calculateWorkDays(new Date(prevParentEndDate), addDays);
}
}
}
}
// 计算父节点时间范围
let minStart = Infinity;
let maxEnd = -Infinity;
for (let j = 0; j < children.length; j++) {
const child = children[j];
if (child.date_ojtjcbwl) {
const timestamp = new Date(child.date_ojtjcbwl).getTime();
if (timestamp < minStart) minStart = timestamp;
}
if (child.date_u0vgd44a) {
const timestamp = new Date(child.date_u0vgd44a).getTime();
if (timestamp > maxEnd) maxEnd = timestamp;
}
}
// 设置父节点时间
if (minStart !== Infinity && maxEnd !== -Infinity) {
const startDate = new Date(minStart);
parent.date_ojtjcbwl = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, '0')}-${startDate.getDate().toString().padStart(2, '0')}`;
const endDate = new Date(maxEnd);
parent.date_u0vgd44a = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, '0')}-${endDate.getDate().toString().padStart(2, '0')}`;
}
prevParentEndDate = parent.date_u0vgd44a;
}
// 3:完整无省略的衍生字段计算
for (let i = 0; i < data.length; i++) {
const item = data[i];
// 计算剩余天数
if (item.date_u0vgd44a) {
const targetDate = new Date(item.date_u0vgd44a);
const target = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate());
let daysDiff = 0;
let currentDate = new Date(today);
if (target >= today) {
while (currentDate < target) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) daysDiff++;
}
} else {
while (currentDate > target) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) daysDiff--;
}
}
item.Count_e9oxvnxs = daysDiff;
}
// 计算延迟天数
if (item.date_5g33gfbq) {
const actualDate = new Date(item.date_5g33gfbq);
const actual = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate());
const planDate = new Date(item.date_ojtjcbwl);
const plan = new Date(planDate.getFullYear(), planDate.getMonth(), planDate.getDate());
let delayDays = 0;
let currentDate = new Date(plan);
if (actual >= plan) {
while (currentDate < actual) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays++;
}
} else {
while (currentDate > actual) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays--;
}
}
item.Count_rss3um2e = delayDays;
} else {
const planDate = new Date(item.date_ojtjcbwl);
const plan = new Date(planDate.getFullYear(), planDate.getMonth(), planDate.getDate());
let delayDays = 0;
let currentDate = new Date(plan);
if (today >= plan) {
while (currentDate < today) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays++;
}
} else {
while (currentDate > today) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays--;
}
}
item.Count_rss3um2e = delayDays;
}
// 计算计划天数
if (item.date_u0vgd44a && item.date_ojtjcbwl) {
const endDate = new Date(item.date_u0vgd44a);
const end = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());
const startDate = new Date(item.date_ojtjcbwl);
const start = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());
let workDays = 0;
let currentDate = new Date(start);
while (currentDate < end) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) workDays++;
}
item.Count_1onrwvsa = workDays;
}
}
// 4:完整的时间修改处理逻辑
const handleDateChange = (changedItem, field, newValue) => {
changedItem[field] = newValue;
const updateQueue = [changedItem];
const processedIds = new Set();
while (updateQueue.length > 0) {
const currentItem = updateQueue.shift();
processedIds.add(currentItem.input_gantt_id);
// 处理后续依赖任务
for (let i = 0; i < data.length; i++) {
const task = data[i];
if (task.input_ai1ocsab === currentItem.input_wnjhp5ur &&
!processedIds.has(task.input_gantt_id)) {
task.date_ojtjcbwl = currentItem.date_u0vgd44a;
if (task.Count_1onrwvsa) {
const addDays = parseInt(task.Count_1onrwvsa) || 1;
task.date_u0vgd44a = calculateWorkDays(
new Date(currentItem.date_u0vgd44a),
addDays
);
}
updateQueue.push(task);
}
}
// 更新父任务时间范围
if (currentItem.input_gantt_pid !== "0") {
const parent = idMap[currentItem.input_gantt_pid];
if (parent && !processedIds.has(parent.input_gantt_id)) {
const children = childrenMap[parent.input_gantt_id] || [];
let minStart = Infinity;
let maxEnd = -Infinity;
for (let j = 0; j < children.length; j++) {
const child = children[j];
if (child.date_ojtjcbwl) {
const ts = new Date(child.date_ojtjcbwl).getTime();
if (ts < minStart) minStart = ts;
}
if (child.date_u0vgd44a) {
const ts = new Date(child.date_u0vgd44a).getTime();
if (ts > maxEnd) maxEnd = ts;
}
}
if (minStart !== Infinity && maxEnd !== -Infinity) {
const startDate = new Date(minStart);
parent.date_ojtjcbwl = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, '0')}-${startDate.getDate().toString().padStart(2, '0')}`;
const endDate = new Date(maxEnd);
parent.date_u0vgd44a = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, '0')}-${endDate.getDate().toString().padStart(2, '0')}`;
updateQueue.push(parent);
}
}
}
}
// 完整重新计算所有衍生字段
for (let i = 0; i < data.length; i++) {
const item = data[i];
// 重新计算剩余天数
if (item.date_u0vgd44a) {
const targetDate = new Date(item.date_u0vgd44a);
const target = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate());
let daysDiff = 0;
let currentDate = new Date(today);
if (target >= today) {
while (currentDate < target) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) daysDiff++;
}
} else {
while (currentDate > target) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) daysDiff--;
}
}
item.Count_e9oxvnxs = daysDiff;
}
// 重新计算延迟天数
if (item.date_5g33gfbq) {
const actualDate = new Date(item.date_5g33gfbq);
const actual = new Date(actualDate.getFullYear(), actualDate.getMonth(), actualDate.getDate());
const planDate = new Date(item.date_ojtjcbwl);
const plan = new Date(planDate.getFullYear(), planDate.getMonth(), planDate.getDate());
let delayDays = 0;
let currentDate = new Date(plan);
if (actual >= plan) {
while (currentDate < actual) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays++;
}
} else {
while (currentDate > actual) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays--;
}
}
item.Count_rss3um2e = delayDays;
} else {
const planDate = new Date(item.date_ojtjcbwl);
const plan = new Date(planDate.getFullYear(), planDate.getMonth(), planDate.getDate());
let delayDays = 0;
let currentDate = new Date(plan);
if (today >= plan) {
while (currentDate < today) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays++;
}
} else {
while (currentDate > today) {
currentDate.setDate(currentDate.getDate() - 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) delayDays--;
}
}
item.Count_rss3um2e = delayDays;
}
// 重新计算计划天数
if (item.date_u0vgd44a && item.date_ojtjcbwl) {
const endDate = new Date(item.date_u0vgd44a);
const end = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());
const startDate = new Date(item.date_ojtjcbwl);
const start = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate());
let workDays = 0;
let currentDate = new Date(start);
while (currentDate < end) {
currentDate.setDate(currentDate.getDate() + 1);
const day = currentDate.getDay();
if (day !== 0 && day !== 6) workDays++;
}
item.Count_1onrwvsa = workDays;
}
}
};
// UI事件绑定实现
document.querySelectorAll('[data-date-field]').forEach(input => {
input.addEventListener('change', (e) => {
const itemId = e.target.dataset.itemId;
const field = e.target.dataset.dateField;
const newValue = e.target.value;
const changedItem = data.find(item => item.input_gantt_id === itemId);
if (!changedItem) return;
handleDateChange(changedItem, field, newValue);
this.setData({ table_a2tpdoka: data });
});
});
// 初始数据输出
console.log('处理后的数据:', data);
this.setData({ table_a2tpdoka: data });
这是处理后的数据 [
{
"input_gantt_id": "add_7tkwfptw",
"input_wnjhp5ur": "立项阶段",
"input_vzm5xwmh": null,
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-11-25",
"date_u0vgd44a": "2025-12-12",
"date_5g33gfbq": "",
"Count_1onrwvsa": 13,
"input_zaw23jvj": "",
"Count_rss3um2e": 0,
"Count_e9oxvnxs": 13,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "0",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "3",
"source_pid": "4"
},
{
"input_gantt_id": "add_1dgfpc27",
"input_wnjhp5ur": "产品报价单",
"input_vzm5xwmh": "产品报价单",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-11-26",
"date_u0vgd44a": "2025-11-28",
"date_5g33gfbq": "",
"Count_1onrwvsa": 2,
"input_zaw23jvj": 0,
"Count_rss3um2e": -1,
"Count_e9oxvnxs": 3,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_7tkwfptw",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "立项阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "4",
"source_pid": "4"
},
{
"input_gantt_id": "add_zcrwj1fw",
"input_wnjhp5ur": "合同/协议评审表",
"input_vzm5xwmh": "合同/协议评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-11-28",
"date_u0vgd44a": "2025-12-03",
"date_5g33gfbq": "",
"Count_1onrwvsa": 3,
"input_zaw23jvj": "",
"Count_rss3um2e": -3,
"Count_e9oxvnxs": 6,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_7tkwfptw",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "立项阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": "产品报价单",
"line_number": "5",
"source_pid": "4"
},
{
"input_gantt_id": "add_byn567uj",
"input_wnjhp5ur": "材料/外协外购件/供方清单",
"input_vzm5xwmh": "材料/外协外购件/供方清单",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-03",
"date_u0vgd44a": "2025-12-12",
"date_5g33gfbq": "",
"Count_1onrwvsa": 7,
"input_zaw23jvj": "",
"Count_rss3um2e": -6,
"Count_e9oxvnxs": 13,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_7tkwfptw",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "立项阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": "合同/协议评审表",
"line_number": "6",
"source_pid": "4"
},
{
"input_gantt_id": "add_lzqhf79i",
"input_wnjhp5ur": "项目成本预算",
"input_vzm5xwmh": "项目成本预算",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-11-25",
"date_u0vgd44a": "2025-11-26",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": 0,
"Count_e9oxvnxs": 1,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_7tkwfptw",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "立项阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "7",
"source_pid": "4"
},
{
"input_gantt_id": "add_4evnttf3",
"input_wnjhp5ur": "立项阶段评审表",
"input_vzm5xwmh": "立项阶段评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-11-25",
"date_u0vgd44a": "2025-11-26",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": 0,
"Count_e9oxvnxs": 1,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_7tkwfptw",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "立项阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "8",
"source_pid": "4"
},
{
"input_gantt_id": "add_jb5nx8cl",
"input_wnjhp5ur": "产品设计开发阶段",
"input_vzm5xwmh": null,
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-12",
"date_u0vgd44a": "2026-01-05",
"date_5g33gfbq": "",
"Count_1onrwvsa": 16,
"input_zaw23jvj": "",
"Count_rss3um2e": -13,
"Count_e9oxvnxs": 29,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "0",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "9",
"source_pid": "4"
},
{
"input_gantt_id": "add_f3bzmhzs",
"input_wnjhp5ur": "产品图纸",
"input_vzm5xwmh": "产品图纸",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-12",
"date_u0vgd44a": "2025-12-17",
"date_5g33gfbq": "",
"Count_1onrwvsa": 3,
"input_zaw23jvj": "",
"Count_rss3um2e": -13,
"Count_e9oxvnxs": 16,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_jb5nx8cl",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "10",
"source_pid": "4"
},
{
"input_gantt_id": "add_3lve0tsk",
"input_wnjhp5ur": "零件BOM",
"input_vzm5xwmh": "零件BOM",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-17",
"date_u0vgd44a": "2025-12-24",
"date_5g33gfbq": "",
"Count_1onrwvsa": 5,
"input_zaw23jvj": "",
"Count_rss3um2e": -16,
"Count_e9oxvnxs": 21,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_jb5nx8cl",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": "产品图纸",
"line_number": "11",
"source_pid": "4"
},
{
"input_gantt_id": "add_9o57ep37",
"input_wnjhp5ur": "APQP问题清单",
"input_vzm5xwmh": "APQP问题清单",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-24",
"date_u0vgd44a": "2026-01-05",
"date_5g33gfbq": "",
"Count_1onrwvsa": 8,
"input_zaw23jvj": "",
"Count_rss3um2e": -21,
"Count_e9oxvnxs": 29,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_jb5nx8cl",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": "零件BOM",
"line_number": "12",
"source_pid": "4"
},
{
"input_gantt_id": "add_8w2ktpj4",
"input_wnjhp5ur": "产品设计开发阶段评审表",
"input_vzm5xwmh": "产品设计开发阶段评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2025-12-12",
"date_u0vgd44a": "2025-12-15",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -13,
"Count_e9oxvnxs": 14,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_jb5nx8cl",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "13",
"source_pid": "4"
},
{
"input_gantt_id": "add_2mhyo20a",
"input_wnjhp5ur": "过程设计开发阶段",
"input_vzm5xwmh": null,
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "0",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "14",
"source_pid": "4"
},
{
"input_gantt_id": "add_9oxxvw69",
"input_wnjhp5ur": "作业指导书",
"input_vzm5xwmh": "作业指导书",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "15",
"source_pid": "4"
},
{
"input_gantt_id": "add_vr3hew07",
"input_wnjhp5ur": "检验指导书",
"input_vzm5xwmh": "检验指导书",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "16",
"source_pid": "4"
},
{
"input_gantt_id": "add_sa7789zi",
"input_wnjhp5ur": "工艺参数卡",
"input_vzm5xwmh": "工艺参数卡",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "17",
"source_pid": "4"
},
{
"input_gantt_id": "add_htk7drb9",
"input_wnjhp5ur": "包装方案/包装指导书",
"input_vzm5xwmh": "包装方案/包装指导书",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "18",
"source_pid": "4"
},
{
"input_gantt_id": "add_4pzh4geu",
"input_wnjhp5ur": "试模单/试模总结",
"input_vzm5xwmh": "试模单/试模总结",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "19",
"source_pid": "4"
},
{
"input_gantt_id": "add_wwlodkjs",
"input_wnjhp5ur": "过程设计阶段评审表",
"input_vzm5xwmh": "过程设计阶段评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-05",
"date_u0vgd44a": "2026-01-06",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -29,
"Count_e9oxvnxs": 30,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_2mhyo20a",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "过程设计开发阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "20",
"source_pid": "4"
},
{
"input_gantt_id": "add_mozhmj93",
"input_wnjhp5ur": "产品和过程确认阶段",
"input_vzm5xwmh": null,
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-06",
"date_u0vgd44a": "2026-01-07",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -30,
"Count_e9oxvnxs": 31,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "0",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "21",
"source_pid": "4"
},
{
"input_gantt_id": "add_s2h24w1t",
"input_wnjhp5ur": "全运转报告/2TP报告",
"input_vzm5xwmh": "全运转报告/2TP报告",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-06",
"date_u0vgd44a": "2026-01-07",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -30,
"Count_e9oxvnxs": 31,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_mozhmj93",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品和过程确认阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "22",
"source_pid": "4"
},
{
"input_gantt_id": "add_as9sizhd",
"input_wnjhp5ur": "产品和过程确认阶段评审表",
"input_vzm5xwmh": "产品和过程确认阶段评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-06",
"date_u0vgd44a": "2026-01-07",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -30,
"Count_e9oxvnxs": 31,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_mozhmj93",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "产品和过程确认阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "23",
"source_pid": "4"
},
{
"input_gantt_id": "add_1lnxubvh",
"input_wnjhp5ur": "反馈、评定和纠正措施阶段",
"input_vzm5xwmh": null,
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-07",
"date_u0vgd44a": "2026-01-08",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -31,
"Count_e9oxvnxs": 32,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "0",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "24",
"source_pid": "4"
},
{
"input_gantt_id": "add_fb6e3kmb",
"input_wnjhp5ur": "项目交接清单",
"input_vzm5xwmh": "项目交接清单",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-07",
"date_u0vgd44a": "2026-01-08",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -31,
"Count_e9oxvnxs": 32,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_1lnxubvh",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "反馈、评定和纠正措施阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "25",
"source_pid": "4"
},
{
"input_gantt_id": "add_qoe5jtsm",
"input_wnjhp5ur": "反馈评定和纠正阶段评审表",
"input_vzm5xwmh": "反馈评定和纠正阶段评审表",
"Reference_agjw6ba9": "",
"date_ojtjcbwl": "2026-01-07",
"date_u0vgd44a": "2026-01-08",
"date_5g33gfbq": "",
"Count_1onrwvsa": 1,
"input_zaw23jvj": "",
"Count_rss3um2e": -31,
"Count_e9oxvnxs": 32,
"input_kdht8kvi": "",
"Reference_16t6lmz3": "",
"gcdp_gytjens4": "000021243-总经办",
"input_gantt_pid": "add_1lnxubvh",
"input_4vsstmvl": "",
"input_3bc6y0cc": "",
"input_odmb3y9g": "",
"input_7wnorx8h": "",
"input_3yu0btxf": "",
"input_mnm39sq6": "反馈、评定和纠正措施阶段",
"gcdp_1yjkiobq": "",
"input_ai1ocsab": null,
"line_number": "26",
"source_pid": "4"
}
] 你看看对不对 后面的数据后没有更改 包括父节点的时间也没有变