project.ts
1.93 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
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);
};
// 基本信息的权限校验 客户编码、项目号、生产科、内部编号、业务员 才需要审核
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;
};