// 返回代码枚举
const resultCode = {
  NG_PRINCIPAL: '用户名或密码错误',  // 用户名不存在
  NG_CREDENTIAL: '用户名或密码错误', // 密码错误
  NG_ACCOUNT: '用户名或密码错误',  // 用户名或密码错误
  NG_USER_NOT_FOUND: '用户未找到',
  OK: '操作成功',
  NG: '操作失败',
  NG_CAPTCHA: '验证码输入错误',
  NG_DATA_NOT_FOUND: '数据未找到',
  NG_DATA_ALREADY_EXISTS: '数据已存在',
  NG_UK_CONSTRAINT: '违反唯一约束',
  NG_NOT_NULL_CONSTRAINT: '非空约束',
  NG_ASSIGNED_ASSIGNEE_ERROR: '流程处理人设置错误',
  NG_PROC_DEF_KEY_NOT_FOUND: '未找到流程定义',
  NG_EMAIL_FORMAT_ERROR: '邮箱格式不正确',
  NG_MOBILE_FORMAT_ERROR: '手机格式不正确',
  NG_USER_ALREADY_EXISTS: '用户已存在',
  NG_NEW_PWD_IS_OLD: '新密码与旧密码重复',
  NG_NEW_PWD_IS_POOR: '新密码强度不够',
  NG_OLD_PWD_IS_WRONG: '旧密码错误',
  NG_ROLE_ALREADY_EXISTS: '角色已存在',
  NG_ROLE_DEPENDENT_EXISTS: '角色使用中,不允许删除',
  NG_FAULT_FORM_ALREADY_EXISTS: '故障单已存在',
  NG_EMPLOYEE_ALREADY_EXISTS: '员工已存在',
  NG_OPERATION_UNIT_ALREADY_EXISTS: '公司已存在',
  NG_ORGANIZATION_ALREADY_EXISTS: '部门已存在',
  NG_FAULT_MODEL_ALREADY_EXISTS: '故障信息已存在',
  NG_PRODUCT_ALREADY_EXISTS: '产品已存在',
  NG_AUTH_ROLE_EXISTS: '角色已被定义',
  NG_AUTH_ROLE_IN_SERVICE: '角色正在使用中',
  NG_PWD_IS_POOR: '密码太弱',
  NG_OLD_PWD_BAD: '旧密码不正确',
  NG_USER_EXISTS: '用户已添加',
  NG_BPM_ROLE_SETTLE_ERROR: '流程角色设置错误',
  NG_BPM_ROLE_EXISTS: '角色已被定义',
  NG_BPM_ROLE_IN_SERVICE: '角色正在使用中',
  NG_REMINDER_EXISTS: '预警提醒已被定义',
  NG_REMINDER_IN_SERVICE: '预警提醒正在使用中',
  NG_SUPP_EMAIL_EXISTS: '用户邮箱已存在',
  NG_SUPP_NAME_EXISTS: '供应商名称已存在',
  NG_SUPP_QUALIFY_REQUIRED: '至少上传一个供应商资质',
  NG_SUPP_PIC_TEL: '负责人电话只能填写数字，最多15位',
  NG_DELETE_HAS_USED: '模板已被使用，不能作废',
  NG_UPDATE_HAS_USED: '模板已被使用，不能修改',
  NG_DUPLICATED_ITEM: '重复物料,请填写新物料',
  NG_ITEM_IS_REPLACED: '本物料已有替代物料，不能再替代其它物料',
  NG_BPM_ASSIGNEE_NOT_FOUND: '流程责任处理人未设置正确',
  NG_NO_MODEL_IN_EDITING: '未找到编辑中的流程模型',
  NG_FILE_SAVE_ERROR: '导入文档保存错误',
  NG_FILE_SAVE_SERVER_ERROR: '导入文档保存服务端错误',
  NG_MAX_TIMES: '您已达到最大投标次数，不能再投标',
  NG_TENDER_ONLY_SUPP: '供应商才能投标',
  NG_FINAL_TIME: '已过投标截止日期',
  NG_NOT_BID: '该招标单已开标，不可再评标',
  NG_NOT_OPEN_BID: '该招标单尚未开标，不可查看评标详情',
  NG_NOT_BID2: '该招标单已过开标时间，不可再评标',
  NG_NOT_USER: '您不是该招标单的评标人',
  NG_CHECK_DATE: '合同生效日期在其他合同有效期内',
  NG_BPM_EXAMINED_BY_OTHERS: '任务已被他人处理',

  NG_EDP_BPM_USER: '仍未能找到合适的任务执行人，请您再次确认权限是否已设值妥当',

  NG_INVALID_PERFORMANCE_STATUS: '该状态不能取消绩效评分',

  NG_NOT_DUPLICATE_ACCOUNT_CHECK: '账期内已存在对账单，无法继续新建',

  NG_QUOTE_DATETIME_NOT_VALID: '报价截止时间为无效时间',
  NG_QUOTE_ITEM_NOT_VALID: "物料验证不通过",
  NG_QUOTE_TAX_RATE_NOT_VALID: "询价税率不正确",
  NG_QUOTE_ORG_NOT_VALID: "门店信息不正确",
  NG_QUOTE_OU_NOT_VALID: "公司信息不正确",
  NG_QUOTE_SUPPLY_NOT_VALID: '物料在同一价格生效期间不可重复询价同一供应商',
  NG_QUOTE_PERIOD_NOT_VALID: '询价周期与所选物料不匹配',
  NG_QUOTE_PRICE_NOT_VALID: '所选物料在该供货区域及价格期间内已有定价',

  NG_DUPLICATE_HISTORY_INVOICE: '重复的历史发票',

  NG_RE_ACC_INV_STATUS_DENY: '所选对账单已有审批中的发票，不允许重新对账',
  NG_RE_ACC_HAS_DIFF_DENY: '有差异的对账单不允许重新对账',
  NG_RE_ACC_ACCOUNT_STATUS_DENY: '未审批结束的对账单不允许重新对账',
  NG_RE_ACC_INV_ALREADY: '该开票数据已重新做账，请与采购联系',

  NG_PE_OPS_FAIL: '操作失败',

  //比价相关
  NG_COMP_LIST_NOT_VALID: '未选择所有可比价的询价单进行比价',

  // 文件相关
  NG_IO: 'IO异常发生',
  NG_SIZE: '文件太大',
  NG_MIME: '文件类型不符合要求',
  NG_IMG_W: '图片宽度不符合要求',
  NG_IMG_H: '图片高度不符合要求',
  NG_IMG_R: '图片比率不符合要求',
  NG_TMP_DIR: '临时目录不存在了',
};

const UDC = {};

const approveStatus = {
  WAITING: '00', // 待提交
  APPROVING: '01', // 审批中
  APPROVED: '02', // 已审核
  REJECT: '03', // 驳回
};

const entity = {
  CONTRACT: '合同',
  ORG: '组织',
  OU: '公司',
};

const statusName = {
  CREATED: '新建',
  DELETED: '已删除',
  READONLY: '只读',
};

const customMsg = {
  NOT_ACTIVE_HANDLER: '您不是当前处理人',

  PERFORMANCE_ALREADY_SCORE: '已评分的绩效，不能再进行修改',
  PERFORMANCE_NOT_SCORE: '未评分的绩效，不能再进行审批',
  PERFORMANCE_LOW_QUALITY: '连续两次评级为D 要求必填整改意见',
  PERFORMANCE_NOT_FINISHED: '上月绩效评分未完成，不能进行当月评分',

  CONTRACT_ITEM_CONTENT: '模板变量-',
  CONTRACT_ITEM_CONTENT_VAL: '变量值',
  CONTRACT_VAR_DESC: '变量说明',
  CONTRACT_CHECK_NULL: '：不能为空',
  CONTRACT_ITEM_CONTENT_CHECK_LENGTH: '：不能大于500字',
  CONTRACT_VAR_DESC_CHECK_LENGTH: '：不能大于100字',
  CONTRACT_CHECK_FAIL: '校验未通过',
  CONTRACT_NOT_CREATEUSER: '您不是创建人，无权修改此合同',
  CONTRACT_NOT_UPDATE: '状态的合同不能修改',
  CONTRACT_NOT_APPROVAL: '状态的合同不能进行审批',
  CONTRACT_NOT_INVALID: '状态的合同不能作废',
  CONTRACT_NOT_DELETE: '状态的合同不能删除',
  CONTRACT_NOT_UPLOAD_SEAL: '状态的合同不能上传盖章合同',
  CONTRACT_STATUS_CREATE: '0', // 新建状态
  CONTRACT_STATUS_VALID: '2', // 生效状态
  CONTRACT_STATUS_OVERDUE: '3', // 过期状态
  CONTRACT_STATUS_CANCELLED: '4', // 作废状态
  CONTRACT_CHECK_DATE: '合同生效日期不能大于或等于合同失效日期',

  PE_NOT_UPDATE: '状态不能被修改',
  PE_NOT_CREATEUSER: '您不是创建人，无权修改',
  PE_NOT_APPROVAL: '状态不能进行审批',
  PE_QUERY_FAIL: '查询失败',
  PE_SAVE_FAIL: '保存失败',
  PE_NOT_DELETE: '状态不能被作废',
  CLAIM_NOT_DELETE: '状态不能被删除',

  CLAIM_DUTY_ENT: '内部责任不能创建索赔单',
};

const bpmOpResult = {
  BPM_UPLOAD_SUCCESS: '上传成功',
  BPM_COMMIT_SUCCESS: '发布成功',
  BPM_SAVE_SUCCESS: '保存成功',
};

const docStatus = {
  DOC_STATUS_WAITING: '0', // 待提交
  DOC_STATUS_DOING: '1', // 已提交
  DOC_STATUS_FINISH: '2', // 已完成
};
const payOrderStatus = {
  DOC_STATUS_MONEY: '01', // 已收款
  DOC_STATUS_CANCEL: '02', // 已核销
};
const dutyMode = {
  DUTY_MODE_ENT: '02', // 责任区分 - 内部(九毛九)
  DUTY_MODE_SUPP: '01', // 责任区分 - 外部(供应商)
};
const compsMode = {
  COMPS_MODE_ITEM: '2', // 物料索赔
  COMPS_MODE_MONEY: '1', // 总金额索赔
};
const peStatus = {
  WAITING: '01', // 待提交
  DOING: '02', // 审批中
  PRICING: '03', // 报价中
  BARGAINING: '04', // 议价中
  COMPARING: '05',  // 比价中
  COMPARE_AUDIT: '06', //比价审核中
  FINISH: '09', // 完成
  DELETE: '10', // 已作废
  QUOTE_EXPIRE: '11', //逾期未报价
  NO_ACCEPT: '12', //落选
};

const pqdStatus = {
  COMFIRM: '02', // 已确认
  NOT_COMFIRM: '01',  // 待确认
  NO_ACCEPT: '04',  // 落选
};
const viewMode = {
  CREATE: 'create',
  EDIT: 'edit',
  VIEW: 'view',
  APPROVE: 'approve',
  APPROVAL: 'approval',
  UPDATE: 'update',
};

const entType = {
  OPER: 'oper', // 运营者
  SUPP: 'supp', // 供应商
};

const order = {
  EDIT_NUM_FAIL: '修改数量失败',
  FOUR_BITS_AFTER_POINT: '仅支持小数点后四位',
  NUM_ALLOW: '请填写非负数字',
  OVER_LIMIT: '数量超限',
  PRO_QTY_ERR: '承诺数量不可大于采购数量',
  MAX_LENGTH: '最长仅支持8位数字',
  PRO_DATE_ERR: '承诺交货日期请选择同一天',
  FROM_TIME_ERR: '送货起始时间不可大于送货截至时间',
  TO_TIME_ERR: '送货截至时间不可小于送货起始时间',
  SELECT_PO_ERR: '请选择状态为等待确认的采购进行确认操作',
};

const item = {
  ERR_PROPS: '请填写完整其他属性信息',
  ERR_NO_C3CODE: '物料类别请选择到品类，若数据不存在，请联系管理员',
};

const itemStatus = {
  NEW: '0', // 新原料
  DOING: '1', // 审批中
  FORMAL: '2', // 正式物料
  CANCELED: '3', // 作废
  DEACTIVATED: '4', // 停用
};

const taskResult = {
  SUBMITTED: 'submitted', // 提交
  REJECTED: 'rejected', // 拒绝
  APPROVED: 'approved', // 通过
  CONTINUED: 'continued', // 继续
  DISABLED: 'disabled', // 作废
};


const bidStatus = {
  WAITING: '0', // 待提交
  APPROVING: '1', // 审批中
  TENDER: '2', // 投标中
  TO_OPEN_BID: '3', // 待开标
  TO_BID: '4', // 待评标X
  SCORING: '5', // 评分中X
  PENDING_ADJUST: '6', // 待调整
  TO_FINAL_CONFIRMATION: '7', // 待最终确认
  FINISH: '8', // 评标完成
  DROP: '9', // 弃标
};

const bidInfoStatus = {
  WAITING: '0',// 未提交
  SUBMITTED: '1',// 已提交
  CLOSED: '2', //已关闭
};

const bidResult = {
  WAITING: '0',// 待评标
  OK: '1',// 中标
  FAIL: '2', //未中标
  CLOSED: '3', //已关闭
};

const invoice = {
  ALL_REQUIRED: '请输入正式发票的所有必填项',
  SAVED_THEN_SUBMIT: '请先保存再提交',
  SPLITED_THEN_SUBMIT: '请先拆分发票再提交',
  INV_TYPE_ERR: '发票形式 请选择正式发票',
  TAX_AMT_ERR: '税额有误，请调整发票金额或未税金额',
  INV_SYMBOL_REQUIRED: '发票校验码 是必填项',
  INV_SYMBOL_ERR: '发票校验码 请输入6位字符',
  INV_NO_ERR: '发票代码 请输入10或12位字符',
  INV_ID_CODE_ERR: '发票号码 请输入8位字符',
  INV_DATE_ERR: '仅支持查验今日之前的发票,请重新选择日期',
};

const diffType = {
  NO_DIFF: '0', // 无差异
  QTY_DIFF: '1', // 数量有差异
  PRICE_DIFF: '2', // 价格有差异
  BOTH_DIFF: '3', // 数量与价格均有差异
};

const stampAttachRepo = 'stamp_contract_attach';
export default {
  entity,
  resultCode,
  UDC,
  approveStatus,
  statusName,
  customMsg,
  payOrderStatus,
  dutyMode,
  compsMode,
  viewMode,
  entType,
  order,
  item,
  itemStatus,
  peStatus,
  pqdStatus,
  docStatus,
  taskResult,
  bpmOpResult,
  bidStatus,
  bidInfoStatus,
  bidResult,
  invoice,
  stampAttachRepo,
  diffType,
};
