project.ts
2.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
export const getDisable = (code, id, value) => {
return code === 'LOCKED' && !!id && (value || value === 0);
};
// 利润分析的权限校验
export const getProfitDisable = (field, code, id, value) => {
// 包装费用,汇率不允许修改
if (['exchangeRate', 'profitRate'].includes(field)) {
return true;
}
// code是lock,编辑并且value存在,才需要审核
return code === 'LOCKED' && !!id && (value || value === 0);
};
// 基本信息的权限校验 客户编码、项目号、生产科、内部编号、业务员 才需要审核
//业务员可更改的权限:订单基本信息:客户编码、项目号、内部编码
//跟单员可更改的权限:订单基本信息:客户po号、客户style、Mode(REFERENCE)、COLLECTION(style desciption)、PO COLOR、订单图片、颜色中文、生产要求、订单成分、款式类型、生产科拖货时间、订单上HOD时间、出库类型、包装类型
export const getBaseDisable = (field, code, id, role) => {
if (['picUrl', 'productionComment'].includes(field) && role == 'business_user') {
return code === 'LOCKED' && !!id;
} else if (!['customerCode', 'projectNo', 'innerNo'].includes(field) && role == 'business_user') {
return code === 'LOCKED' && !!id;
} else if (
[
'customerCode',
'projectNo',
'productionDepartment',
'innerNo',
'orderCount',
'businessPerson',
].includes(field) &&
(role === 'admin' || role === 'tracker_user')
) {
return code === 'LOCKED' && !!id;
}
return false;
};
// export const getBaseDisable = (field, code, id) => {
// if (
// [
// 'customerCode',
// 'projectNo',
// 'productionDepartment',
// 'innerNo',
// 'orderCount',
// 'businessPerson',
// ].includes(field)
// ) {
// return code === 'LOCKED' && !!id;
// }
// return false;
// };
// 质量检测的disable函数
// 中期验货:只要是PASS, PASS 2ND, PASS 3RD, FAIL-RELEASE,就锁定。
// 终期验货:只要是PASS, PASS 2ND, PASS 3RD, FAIL-RELEASE,就锁定。
export const getQualityDisable = (field, code, id, value, endValue) => {
// 确认自己是否是锁住的
// const isLock = getDisable(code, id, value);
const isLock = code === 'LOCKED' && !!id;
// 如果不是锁的,直接返回不锁
if (!isLock) return false;
// 锁的话,需要在进行下面判断,确定要不要不锁
if (isLock) {
// 所有字段就锁定判断,终期验货结果,值是PASS, PASS 2ND, PASS 3RD, FAIL-RELEASE就锁定。
const isEndLock = ['PASS', 'PASS 2ND', 'PASS 3RD', 'FAIL RELEASE'].includes(endValue);
if (isEndLock) {
// return isEndLock && !!id && (value || value === 0);
return isEndLock;
} else {
// 中期验货结果,值是PASS, PASS 2ND, PASS 3RD, FAIL-RELEASE,就锁定。
if (field === 'midCheckResult') {
return ['PASS', 'PASS 2ND', 'PASS 3RD', 'FAIL RELEASE'].includes(value);
}
}
}
return false;
};