{"version":3,"file":"list.2d8862d9.mjs","sources":["../../../../pages/teacher/list.vue"],"sourcesContent":["<template>\n  <NuxtLayout>\n    <div class=\"app_container w\">\n      <teacher-category-list :list=\"map.rankList\" name=\"rankName\" @change=\"changeRank\"></teacher-category-list>\n      <div v-loading=\"ctrl.loading\">\n        <teacher-list :list=\"map.teacherList\"></teacher-list>\n      </div>\n      <div class=\"pagination\" v-if=\"page.totalPage > 1\">\n        <el-pagination\n          v-model:currentPage=\"page.pageCurrent\"\n          :page-size=\"page.pageSize\"\n          background\n          layout=\"total, prev, pager, next, jumper\"\n          :total=\"page.totalCount\"\n          @current-change=\"handleCurrentChange\"\n        >\n        </el-pagination>\n      </div>\n    </div>\n  </NuxtLayout>\n</template>\n\n<script setup>\nimport {teacherRankList, teacherPage} from '../../api/teacher.js'\nimport cookie from '@/utils/cookies'\nlet cookieData = cookie.getShop()\nuseHead({\n  title: computed(() => `讲师中心-${ cookieData.shopName}`),\n  meta:[{\n    hid: 'keywords',\n    name: 'keywords',\n    content: '讲师中心'\n  },\n    {\n      hid: 'description',\n      name: 'description',\n      content: '讲师中心'\n    }]\n})\nconst map = reactive({\n  teacherList: [],\n  rankList: [],\n  rankId: '',\n  introduce: ''\n})\nconst page = reactive({\n  totalCount: 0,\n  pageCurrent: 1,\n  pageSize: 20,\n  totalPage: 1\n})\nconst ctrl = reactive({\n  loading: false\n})\nconst router = useRouter()\nconst changeRank = (id) => {\n  map.rankId = id\n  getTeacherList()\n}\n\nconst viewDetail = (i) => {\n  router.push({\n    path:'/teacher/view',\n    query:{\n      id:i.id\n    }\n  })\n}\nconst handleCurrentChange = (v) => {\n  page.pageCurrent = v\n  document.querySelector('#app').scrollTop = 0\n  getTeacherList()\n}\n\nconst getTeacherList = () => {\n  ctrl.loading = true\n  teacherPage({\n    pageCurrent: page.pageCurrent,\n    pageSize: page.pageSize,\n    rankId: map.rankId\n  }).then(res => {\n    if(res) {\n      map.teacherList = res.list || []\n      page.pageCurrent = res.pageCurrent;\n      page.totalCount = res.totalCount;\n      page.totalPage = res.totalPage;\n      nextTick(() => {\n        document.querySelectorAll('.intro').forEach((i,index) => {\n          if(i.offsetHeight > 168) {\n            map.teacherList[index].show = true\n          }\n        })\n      })\n    }\n    ctrl.loading = false\n  })\n}\nconst { data, pending } = await useAsyncData('TeacherListPage', () => {\n  return new Promise(async (resolve) => {\n    Promise.allSettled([\n      teacherRankList(),\n      teacherPage({\n        pageCurrent: page.pageCurrent,\n        pageSize: page.pageSize,\n        rankId: map.rankId\n      })\n    ]).then(([rank, teacher, ])=>{\n      let data = {};\n      if(rank.status === 'fulfilled') {\n        data.rank = rank.value\n      } else {\n        data.rank = []\n      }\n      if(teacher.status === 'fulfilled') {\n        data.teacher = teacher.value\n      } else {\n        data.teacher = []\n      }\n      resolve(data)\n    })\n  })\n}, {initialCache:false})\n\nif (!pending.value && data.value) {\n  const d = data.value\n  map.teacherList = d.teacher.list || []\n  page.pageCurrent = d.teacher.pageCurrent;\n  page.totalCount = d.teacher.totalCount;\n  page.totalPage = d.teacher.totalPage;\n  map.rankList = [{rankName: '全部',id: ''}].concat(d.rank || [])\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n.content_page {\n  width: 1200px;\n  margin: 20px auto;\n}\n.pagination {\n  text-align: center;\n}\n</style>\n"],"names":["cookieData","cookie","getShop","useHead","title","computed","shopName","meta","hid","name","content","map","reactive","teacherList","rankList","rankId","introduce","page","totalCount","pageCurrent","pageSize","totalPage","ctrl","loading","useRouter","changeRank","id","getTeacherList","handleCurrentChange","v","document","querySelector","scrollTop","teacherPage","then","res","list","nextTick","querySelectorAll","forEach","i","index","offsetHeight","show","data","pending","__temp","__restore","_withAsyncContext","useAsyncData","Promise","async","resolve","allSettled","teacherRankList","rank","teacher","status","value","initialCache","d","rankName","concat"],"mappings":"8UAyBAA,EAAAC,EAAAC,UACAC,EAAA,CACAC,MAAAC,GAAA,IAAA,QAAAL,EAAAM,aACAC,KAAA,CAAA,CACAC,IAAA,WACAC,KAAA,WACAC,QAAA,QAEA,CACAF,IAAA,cACAC,KAAA,cACAC,QAAA,WAGA,MAAAC,EAAAC,EAAA,CACAC,YAAA,GACAC,SAAA,GACAC,OAAA,GACAC,UAAA,KAEAC,EAAAL,EAAA,CACAM,WAAA,EACAC,YAAA,EACAC,SAAA,GACAC,UAAA,IAEAC,EAAAV,EAAA,CACAW,SAAA,IAEAC,IACA,MAAAC,EAAAC,IACAf,EAAAI,OAAAW,EACAC,GAAA,EAWAC,EAAAC,IACAZ,EAAAE,YAAAU,EACAC,SAAAC,cAAA,QAAAC,UAAA,EACAL,GAAA,EAGAA,EAAA,KACAL,EAAAC,SAAA,EACAU,EAAA,CACAd,YAAAF,EAAAE,YACAC,SAAAH,EAAAG,SACAL,OAAAJ,EAAAI,SACAmB,MAAAC,IACAA,IACAxB,EAAAE,YAAAsB,EAAAC,MAAA,GACAnB,EAAAE,YAAAgB,EAAAhB,YACAF,EAAAC,WAAAiB,EAAAjB,WACAD,EAAAI,UAAAc,EAAAd,UACAgB,GAAA,KACAP,SAAAQ,iBAAA,UAAAC,SAAA,CAAAC,EAAAC,KACAD,EAAAE,aAAA,MACA/B,EAAAE,YAAA4B,GAAAE,MAAA,EACA,GACA,KAGArB,EAAAC,SAAA,CAAA,GACA,GAEAqB,KAAAA,EAAAC,QAAAA,KAAgCC,EAAAC,GAAAC,GAAA,IAAAC,EAAA,mBAAA,IAChC,IAAAC,SAAAC,MAAAC,IACAF,QAAAG,WAAA,CACAC,IACArB,EAAA,CACAd,YAAAF,EAAAE,YACAC,SAAAH,EAAAG,SACAL,OAAAJ,EAAAI,WAEAmB,MAAA,EAAAqB,EAAAC,MACA,IAAAZ,EAAA,CAAA,EACA,cAAAW,EAAAE,OACAb,EAAAW,KAAAA,EAAAG,MAEAd,EAAAW,KAAA,GAEA,cAAAC,EAAAC,OACAb,EAAAY,QAAAA,EAAAE,MAEAd,EAAAY,QAAA,GAEAJ,EAAAR,EAAA,GACA,KAEA,CAAAe,cAAA,GAAA,kCAEA,IAAAd,EAAAa,OAAAd,EAAAc,MAAA,CACA,MAAAE,EAAAhB,EAAAc,MACA/C,EAAAE,YAAA+C,EAAAJ,QAAApB,MAAA,GACAnB,EAAAE,YAAAyC,EAAAJ,QAAArC,YACAF,EAAAC,WAAA0C,EAAAJ,QAAAtC,WACAD,EAAAI,UAAAuC,EAAAJ,QAAAnC,UACAV,EAAAG,SAAA,CAAA,CAAA+C,SAAA,KAAAnC,GAAA,KAAAoC,OAAAF,EAAAL,MAAA,GACA"}