import { GljType } from './glj';
import { CptModelName, SubModelName, ActionType, ActionName } from './base';

export interface ILogDetail {
  ID: string; // 自身ID
  itemID: string; // 所编辑的行对应的ID,如定额ID，清单ID
  module: CptModelName | SubModelName; // 编辑的模块
  action: ActionType; // 动作,增删改等
  oDocs?: any[]; // 存放删除时或者修改时的数据
  actionName?: ActionName; // 除了增删改查，还会有更复杂的操作，用这个来区分
  userID: string; // 用户
  userName: string; // 用户名
  phone: string; // 电话
  createdTime: number; // 生成时间
  description?: string; // 操作说明
  newValue?: string; // 新值
  oldValue?: string; // 旧值
  field?: string; // 修改的field
  processID?: string; // 流程ID
  institution?: string; // 单位名称
  procunit?: string; // 流程环节
  procuAttr?: string; // 流程环节缩写
  gljLogs?: Array<ILogDetail>;
  info?: {
    code?: string;
    name?: string;
    unit?: string;
    specs: string;
    type: GljType;
  };
}

export interface IEditLog {
  projectID: string;
  ID: string;
  constructionID: string;
  updateTime: number; // 最后修改时间
  info: {
    code?: string;
    name?: string;
    unit?: string;
    specs: string;
    type: GljType;
  };
  module: CptModelName;
  editLogs: ILogDetail[];
}
