const schoolFilter = {
  /**
   * 功能描述：格式化年级（1,2,3 -> 一年级,二年级,三年级）
   * 使用方式：
   * {{item.gradeName | formatGradeName}}
   * @param value
   * @returns {*}
   */
  formatGradeNameList(value) {
    if (!value) {
      return value
    }

    const gradeNameList = ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级', '初一', '初二', '初三', '高一', '高二', '高三']
    const nameList = value.split(',')
    const list = []
    for (const name of nameList) {
      list.push(gradeNameList[Number.parseInt(name) - 1])
    }
    return list.join(',')
  },

  /**
   * 功能描述：格式化年级（1 -> 一年级、7 -> 初一）
   * 使用方式：
   * {{item.gradeName | formatGradeName}}
   * @param value
   * @returns {*}
   */
  formatGradeName(value) {
    if (!value) {
      return value
    }

    const gradeNameList = ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级', '初一', '初二', '初三', '高一', '高二', '高三']
    return gradeNameList[value - 1]
  },

  /**
   * 功能描述：格式化班级（1 -> 1班、10 -> 10班）
   * 使用方式：
   * {{item.className | formatClassName}}
   * @param value
   * @returns {*}
   */
  formatClassName(value) {
    if (!value) {
      return value
    }

    return value + '班'
  },

  // 全局安装器
  install(Vue) {
    Vue.filter('formatGradeNameList', this.formatGradeNameList)
    Vue.filter('formatGradeName', this.formatGradeName)
    Vue.filter('formatClassName', this.formatClassName)
  }
}

export default schoolFilter
