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, // 操作类型 }); };