import { selectObj } from '@/utils/select'
import { A3flowSearchType, IA3flowListParams } from './types'
import { businessTypeObj, statusObj } from '@/utils/tableData'
import { D4_APIdel } from '@/store/action/D4impStor'

export const DEFAULT_A3FLOW_PARAMS: IA3flowListParams = {
  pageNum: 1,
  pageSize: 10,
  num: '',
  type: '',
  name: '',
  deptName: '',
  userName: '',
  date: '',
  status: '',
  userType: ''
}

export const A3FLOW_PARAM_ROWS: A3flowSearchType[] = [
  { name: '业务类型', key: 'type', type: '下拉框', data: selectObj['业务类型'] },
  { name: '业务编号', key: 'num', type: '输入框' },
  { name: '申请名称', key: 'name', type: '输入框' },
  { name: '发起部门', key: 'deptName', type: '输入框' },
  { name: '发起人', key: 'userName', type: '输入框' },
  { name: '发起日期范围', key: 'date', type: '日期选择' },
  { name: '申请状态', key: 'status', type: '下拉框', data: selectObj['流程申请状态'] },
  { name: '选择角色', key: 'userType', type: '下拉框', data: selectObj['角色'] }
]

export const A3FLOW_TABLE_COLUMNS = [
  ['txtChange', '业务类型', 'type', businessTypeObj],
  ['txt', '业务编号', 'num'],
  ['txt', '申请名称', 'name'],
  ['txt', '发起部门', 'deptName'],
  ['txt', '发起人', 'userName'],
  ['txt', '发起日期', 'createTime'],
  ['txtChange', '申请状态', 'status', statusObj]
]

// TOFIX: 待完善
// 业务类型详情映射
export const BUSINESS_DETAIL_PATH_MAP: Record<string, string> = {
  // 藏品征集
  ZJ: 'collection_add',
  // 藏品鉴定
  JD: 'identify_edit',
  // 藏品入馆
  RG: 'enterMuseum_edit',
  // 藏品入藏
  RC: 'collection_store',
  // 藏品登记
  DJ: 'collection_register',
  // 藏品编辑
  BJ: 'collection_edit',
  // 藏品删除
  SC: 'collection_delete',
  // 藏品入库
  RK: 'impStor_edit',
  // 藏品移库
  YK: 'moveStor_edit',
  // 藏品出库
  CK: 'outStor_edit',
  // 藏品注销
  ZX: 'collection_writeoff',
  // 藏品盘点
  PD: 'collection_inventory',
  // 人员出入库
  CR: 'person_access',
  // 事故登记
  SG: 'accident_edit',
  // 残损登记
  CS: 'damage_edit',
  // 现状登记
  XZ: 'status_edit',
  // 文物修复
  XF: 'recovery_edit',
  // 展览申请
  ZL: 'exhibit_apply',
  // 藏品总登记号
  ZDJ: 'collection_mainRegister'
}

// TOFIX: 待完善
// 业务类型删除接口映射
export const BUSINESS_DELETE_API_MAP: Record<string, Function> = {
  // 藏品征集
  ZJ: D4_APIdel,
  // 藏品鉴定
  JD: D4_APIdel,
  // 藏品入馆
  RG: D4_APIdel,
  // 藏品入藏
  RC: D4_APIdel,
  // 藏品登记
  DJ: D4_APIdel,
  // 藏品编辑
  BJ: D4_APIdel,
  // 藏品删除
  SC: D4_APIdel,
  // 藏品入库
  RK: D4_APIdel,
  // 藏品移库
  YK: D4_APIdel,
  // 藏品出库
  CK: D4_APIdel,
  // 藏品注销
  ZX: D4_APIdel,
  // 藏品盘点
  PD: D4_APIdel,
  // 人员出入库
  CR: D4_APIdel,
  // 事故登记
  SG: D4_APIdel,
  // 残损登记
  CS: D4_APIdel,
  // 现状登记
  XZ: D4_APIdel,
  // 文物修复
  XF: D4_APIdel,
  // 展览申请
  ZL: D4_APIdel,
  // 藏品总登记号
  ZDJ: D4_APIdel
}
