import { BasicColumn, FormSchema, render } from '@jdlinker/ui';

//列表数据
export const columns: BasicColumn[] = [
  {
    title: '项目名称',
    align: 'center',
    dataIndex: 'projectName'
  },
  {
    title: '消息模板',
    align: 'center',
    dataIndex: 'templateName'
  },
  {
    title: '告警类型',
    align: 'center',
    dataIndex: 'msgType',
    customRender: ({ text }) => {
      return render.renderDict(text, 'settingMsgType');
    }
  }
];
//查询数据
export const searchFormSchema: FormSchema[] = [
  {
    label: '项目名称',
    field: 'businessId',
    component: 'JSearchSelect',
    componentProps: ({}) => {
      return {
        dict: "yq_project,project_name,id,del_status='1'"
      };
    }
  },
  {
    label: '消息模板',
    field: 'templateId',
    component: 'JSearchSelect',
    componentProps: ({}) => {
      return {
        dict: 'sys_sms_template,template_name,id'
        // dict: "sys_sms_template,template_name,id,use_status='1'"
      };
    }
  },
  {
    label: '告警类型',
    field: 'msgType',
    component: 'JDictSelectTag',
    componentProps: () => {
      return {
        dictCode: 'settingMsgType',
        stringToNumber: true
      };
    }
  }
];
//表单数据
export const formSchema: FormSchema[] = [
  {
    label: '项目名称',
    field: 'businessId',
    component: 'JSearchSelect',
    required: true,
    componentProps: ({}) => {
      return {
        dict: "yq_project,project_name,id,del_status='1'"
      };
    }
  },
  {
    label: '消息模板',
    field: 'templateId',
    component: 'JSearchSelect',
    componentProps: ({}) => {
      return {
        dict: 'sys_sms_template,template_name,id'
        // dict: "sys_sms_template,template_name,id,use_status='1'"
      };
    },
    required: true
  },
  {
    label: '告警类型',
    field: 'msgType',
    component: 'JDictSelectTag',
    componentProps: () => {
      return {
        dictCode: 'settingMsgType',
        stringToNumber: true
      };
    },
    required: true
  },
  {
    field: 'userIds',
    component: 'JSelectUserByDept',
    label: '消息接收对象',
    componentProps: {
      labelKey: 'realname',
      rowKey: 'id'
    },
    required: true,
    show: ({ values }) => {
      return !values.id;
    }
  },
  // TODO 主键隐藏字段，目前写死为ID
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  }
];

//消息接收人列表数据
export const messageObjColumns: BasicColumn[] = [
  {
    title: '登录账号',
    align: 'center',
    dataIndex: 'name'
  },
  {
    title: '姓名',
    align: 'center',
    dataIndex: 'realName'
  },
  {
    title: '手机号',
    align: 'center',
    dataIndex: 'mobilePhone'
  }
];

/**
 * 流程表单调用这个方法获取formSchema
 * @param _formData
 */
export function getBpmFormSchema(_formData): FormSchema[] {
  // 默认和原始表单保持一致 如果流程中配置了权限数据，这里需要单独处理formSchema
  return formSchema;
}
