module.exports = {
  // 数据模式类型
  dataModeType: [
    {
      label: '渲染查询表单项',
      value: 'queryForm',
      noMatch: ['file', 'image', 'textarea', 'personSetting']
    },
    {
      label: '渲染表格列',
      value: 'table',
      noMatch: ['file', 'image', 'personSetting']
    },
    {
      label: '渲染新增/修改表单项',
      value: 'addOrEditForm',
      noMatch: []
    },
    {
      label: 'SQL生成查询项',
      value: 'sqlQueryItem',
      noMatch: ['file', 'personSetting']
    },
    {
      label: 'SQL生成查询表达式',
      value: 'sqlQueryCondition',
      noMatch: ['file', 'image', 'textarea', 'personSetting']
    },
    {
      label: 'Excel导入项',
      value: 'excelImportItem',
      noMatch: ['file', 'image', 'personSetting']
    },
    {
      label: '数据组',
      value: 'group',
      noMatch: []
    },
    {
      label: '动态表名参数',
      value: 'mixinTableName',
      noMatch: []
    }
  ],
  // 表单类型
  formType: [
    {
      label: '输入框', key: 'input'
    },
    {
      label: '选择框', key: 'select'
    },
    {
      label: '多选框', key: 'checkbox'
    },
    {
      label: '树形选择框', key: 'treeSelect'
    },
    {
      label: '地点搜索框', key: 'addressSearch'
    },
    {
      label: '省市区选择框', key: 'citySelect'
    },
    {
      label: '单选框', key: 'radio'
    },
    {
      label: '日期范围选择框', key: 'rangePicker'
    },
    {
      label: '年份选择框', key: 'yearPicker'
    },
    {
      label: '月份选择框', key: 'monthPicker'
    },
    {
      label: '单日选择框', key: 'datePicker'
    },
    {
      label: '文本域', key: 'textarea'
    },
    {
      label: '文件上传', key: 'file'
    },
    {
      label: '图片上传', key: 'image'
    },
    {
      label: '人员选择框', key: 'personSetting'
    },
    {
      label: '录音按钮', key: 'recording'
    }
  ],
  // 文件上传类型
  fileType: [
    {
      label: '无限制',
      accept: '*'
    },
    {
      label: 'word文档',
      accept: '.doc,.docx,'
    },
    {
      label: 'excel表格',
      accept: '.xls,.xlsx,'
    },
    {
      label: 'ppt幻灯片',
      accept: '.ppt,.pptx,'
    },
    {
      label: '图片',
      accept: '.jpg,.jpeg,.ico,.gif,svg,.webp,.png,.bmp,.pjpeg,'
    },
    {
      label: '视频',
      accept: '.mp4,.mov,.m4v,.wmv,.asf,.asx,.rm,.rmvb,.3gp,.avi,.mkv,'
    },
    {
      label: '音频',
      accept: '.mp3,.cda,.wav,.aif,.aiff,.ape,.ra,'
    },
    {
      label: '压缩包',
      accept: '.zip,.rar,.7z,'
    },
    {
      label: '文本/JSON',
      accept: '.json,.txt,'
    }
  ],
  // 表单校验类型
  formRuleType: [
    {
      label: '字符串', key: 'string'
    },
    {
      label: '数字', key: 'number'
    },
    {
      label: '布尔值', key: 'boolean'
    },
    {
      label: '正则表达式', key: 'regexp'
    },
    {
      label: '整数', key: 'integer'
    },
    {
      label: '小数', key: 'float'
    },
    {
      label: '数组或集合', key: 'array'
    },
    {
      label: '邮箱', key: 'email'
    }
  ],
  // 作用域插槽类型
  slotType: [
    {
      label: '不设置',
      key: 'default',
      match: ['input', 'select', 'checkbox', 'radio', 'addressSearch', 'citySelect']
    },
    {
      label: '文本溢出省略',
      key: 'ellipsis',
      match: ['input', 'citySelect', 'addressSearch', 'treeSelect']
    },
    {
      label: '多彩徽标',
      key: 'badge',
      match: ['select', 'radio', 'citySelect', 'addressSearch']
    },
    {
      label: '日期格式化',
      key: 'date',
      match: ['rangePicker', 'datePicker']
    },
    {
      label: '日期时间格式化',
      key: 'dateTime',
      match: ['rangePicker', 'datePicker']
    },
    {
      label: '操作列',
      key: 'action',
      match: [
        'input'
      ]
    },
  ],
  // 查询方式
  queryType: [
    {
      label: '相等[=]',
      key: '=',
      match: ['input', 'select', 'radio', 'datePicker', 'monthPicker', 'yearPicker', 'addressSearch', 'citySelect']
    },
    {
      label: '不相等[!=]',
      key: '!=',
      match: ['input']
    },
    {
      label: '全模糊[like]',
      key: 'LIKE',
      match: ['input']
    },
    {
      label: '左模糊[left like]',
      key: 'LEFT_LIKE',
      match: ['input']
    },
    {
      label: '右模糊[right like]',
      key: 'RIGHT_LIKE',
      match: ['input', 'treeSelect']
    },
    {
      label: '大于[>]',
      key: '>',
      match: ['input', 'radio', 'monthPicker', 'yearPicker']
    },
    {
      label: '大于等于[>=]',
      key: '>=',
      match: ['input', 'radio', 'monthPicker', 'yearPicker']
    },
    {
      label: '小于[<]',
      key: '<',
      match: ['input', 'radio', 'monthPicker', 'yearPicker']
    },
    {
      label: '小于等于[<=]',
      key: '<=',
      match: ['input', 'radio', 'monthPicker', 'yearPicker']
    },
    {
      label: '包含[in]',
      key: 'IN',
      match: ['checkbox', 'treeSelect']
    },
    {
      label: '不包含[not in]',
      key: 'NOT_IN',
      match: []
    },
    {
      label: '之间[between]',
      key: 'BETWEEN',
      match: ['rangePicker']
    }
  ],
  // 新增/修改场景类型
  addOrEditType: [
    {
      label: '新增和修改',
      key: 'all',
      match: ['all']
    },
    {
      label: '仅支持新增',
      key: 'add',
      match: ['all']
    },
    {
      label: '仅支持修改',
      key: 'edit',
      match: ['all']
    },
    {
      label: '静默新增（不生成表单）',
      key: 'silenceAdd',
      match: ['input', 'rangePicker']
    },
    {
      label: '版本号',
      key: 'version',
      match: ['input']
    }
  ],
  // 字段用途类型
  silencePurposeType: [
    {
      label: '创建时间',
      key: 'createTime'
    },
    {
      label: '创建/操作人',
      key: 'operator'
    },
    {
      label: '组织机构ID',
      key: 'orgId'
    },
    {
      label: '自定义',
      key: 'customize'
    }
  ],
  // 数据源类型
  selectDataType: [
    {
      label: '字典键',
      key: 'key',
      noMatch: ['treeSelect']
    },
    {
      label: '固定集合',
      key: 'fixArray',
      noMatch: []
    },
    {
      label: '业务逻辑',
      key: 'logic',
      noMatch: []
    }
  ]
}
