Blame view

src/utils/project.ts 1.93 KB
sanmu authored
1
export const getDisable = (code, id, value) => {
sanmu authored
2
  return code === 'LOCKED' && !!id && (value || value === 0);
sanmu authored
3
4
5
6
7
};

// 利润分析的权限校验
export const getProfitDisable = (field, code, id, value) => {
  // 包装费用,汇率不允许修改
8
  if (['exchangeRate', 'profitRate'].includes(field)) {
sanmu authored
9
10
11
    return true;
  }
  // code是lock,编辑并且value存在,才需要审核
sanmu authored
12
  return code === 'LOCKED' && !!id && (value || value === 0);
sanmu authored
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
};

// 基本信息的权限校验 客户编码、项目号、生产科、内部编号、业务员 才需要审核
export const getBaseDisable = (field, code, id) => {
  if (
    [
      'customerCode',
      'projectNo',
      'productionDepartment',
      'innerNo',
      'orderCount',
      'businessPerson',
    ].includes(field)
  ) {
    return code === 'LOCKED' && !!id;
  }
  return false;
sanmu authored
30
};
sanmu authored
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

// 质量检测的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;
};