广州矛调粤政易端
xusd
7 days ago d27794814b69d18aeb8ee96a46cae91d5613570c
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import * as $$ from '../../../../utils/utility';
 
/**
 * 验证并填充案件数据,确保所有必要参数都存在
 * @param {Object} data - 原始案件数据
 * @returns {Object} - 填充后的案件数据
 */
export const validateAndFillCaseData = (data) => {
  // 创建一个新对象,避免修改原始数据
  const result = { ...data };
  
  // 检查案件ID,这是最重要的
  if (!result.id) {
    // 尝试从sessionStorage获取
    const newCaseId = sessionStorage.getItem('newCaseId');
    if (newCaseId) {
      result.id = newCaseId;
      console.log('从sessionStorage获取案件ID:', newCaseId);
    } else {
      // 如果没有,生成一个本地ID
      result.id = $$.getBusinessId();
      console.warn('未找到案件ID,使用本地生成的ID:', result.id);
    }
  }
  
  // 设置基本信息默认值
  const defaultValues = {
    caseLevel: result.caseLevel || "3",  // 默认三级
    peopleNum: result.peopleNum || 1,    // 默认1人
    occurTime: result.occurTime || $$.timeFormat(new Date()), // 当前时间
    majorStatus: typeof result.majorStatus === 'number' ? result.majorStatus : 0, // 默认非重大案件
    amount: result.amount || 0,          // 默认金额0
    caseTypeFirst: result.caseTypeFirst || "",
    caseTypeFirstName: result.caseTypeFirstName || "",
    caseType: result.caseType || "",
    caseTypeName: result.caseTypeName || "",
    queArea: result.queArea || "",
    queAreaName: result.queAreaName || "",
    queRoad: result.queRoad || "",
    queRoadName: result.queRoadName || "",
    caseDes: result.caseDes || "",
    caseClaim: result.caseClaim || "",
    addr: result.addr || "",
    fileInfoList: result.fileInfoList || [],
    personList: result.personList || [],
    agentList: result.agentList || [],
    isSelfAccept: typeof result.isSelfAccept === 'number' ? result.isSelfAccept : 0,
    isDraft: typeof result.isDraft === 'number' ? result.isDraft : 0,
    operateType: typeof result.operateType === 'number' ? result.operateType : 0,
    canal: result.canal || "22_00001-3",         // 默认自行排查
    canalName: result.canalName || "自行排查"     // 默认自行排查
  };
  
  // 将默认值应用到结果对象上
  Object.keys(defaultValues).forEach(key => {
    result[key] = result[key] || defaultValues[key];
  });
  
  // 检查personList中的每个人是否有id
  if (result.personList && result.personList.length > 0) {
    result.personList = result.personList.map(person => {
      if (!person.id) {
        return {
          ...person,
          id: $$.getBusinessId()
        };
      }
      return person;
    });
  }
  
  // 如果personList为空,添加一个默认的申请方当事人
  if (!result.personList || result.personList.length === 0) {
    result.personList = [{
      extreme: 0,
      nation: "09_00005-1",
      nationName: "汉族",
      sex: "09_00003-1",
      sexName: "男",
      trueName: "默认申请人",
      perType: "15_020008-1",
      perClass: "09_01001-1",
      perTypeName: "申请方当事人",
      perClassName: "自然人",
      id: $$.getBusinessId()
    }];
  }
  
  console.log('验证并填充后的案件数据:', result);
  return result;
};
 
/**
 * 案件登记提交
 * @param {Object} submitData - 提交的表单数据
 * @returns {Promise} - 请求的Promise对象
 */
export const submitCaseRegister = (submitData) => {
  return $$.ax.request({ 
    url: 'caseInfo/caseRegister', 
    type: 'post', 
    data: submitData, 
    service: 'mediate' 
  });
};
 
/**
 * 自行受理案件
 * @param {Object} data - 案件数据
 * @returns {Promise} - 请求的Promise对象
 */
export const selfAcceptCase = (data) => {
  // 验证并填充案件数据
  const validatedData = validateAndFillCaseData(data);
  
  // 生产环境调用真实API
  return submitCaseRegister({
    ...validatedData,
    isSelfAccept: 1, // 表示自行受理
    isDraft: 0,      // 非草稿状态
    operateType: 0,  // 操作类型
  });
};
 
/**
 * 提交正式案件
 * @param {Object} data - 案件数据
 * @returns {Promise} - 请求的Promise对象
 */
export const submitFormalCase = (data) => {
  // 验证并填充案件数据
  const validatedData = validateAndFillCaseData(data);
  
  // 生产环境调用真实API
  return submitCaseRegister({
    ...validatedData,
    isSelfAccept: 0, // 表示提交
    isDraft: 0,      // 非草稿状态
    operateType: 0,  // 操作类型
  });
};