{"version":3,"sources":["webpack:///./src/pages/index/elective-course/tree-view/TreeView.tsx","webpack:///./src/pages/index/elective-course/tree-view/index.tsx"],"names":["default_1","TSXComponent","constructor","provinceList","active","listMap","query","this","$route","params","qs","parse","Object","assign","professionLevel","queryScope","sortByRegion","handleCollapseChange","event","province","$set","loading","data","res","getListByOptionalSubject","queryValue","pageSize","pageNumber","item","success","result","academy","_Toast","info","msg","error","navigator","onLine","Error","message","provinceName","academyOfFirstProvince","$emit","PageStatus","SUCCESS","ERROR","firstLoad","reload","LOADING","render","h","arguments","_Sticky","_DropMenu","_ArrowDownSFilled","values","$router","replace","path","stringify","then","setTimeout","catch","Item","label","value","title","defaultTitle","afterClose","panel","$refs","optionalSubjectPanel","reset","default","instance","DropMenuPanel","optionalSubject","length","triggerChange","key","SubjectSelect","region","DropAreaSelect","_Result","_Collapse","map","p","expand","handleCollapseExpand","academyCount","_List","academyName","click","push","append","professionCount","_Icon","_ArrowRightSOutlined","__decorate","Component","name","PageView","_Skeleton","TreeView","Fullscreen"],"mappings":"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","file":"js/chunk-467bb199.dbd5cb09.js","sourcesContent":["import TSXComponent from '@/utils/tsx-component';\nimport { Collapse, CollapseValue, DropMenu, Icon, List, Result, Skeleton, Sticky, Toast } from '@ohu-mobile/core';\nimport Component from 'vue-class-component';\nimport qs from 'qs';\nimport { getListByOptionalSubject, GetListByOptionalSubjectBody, OptionalSubjectProvinceItem, OptionalSubjectAcademyItem } from 'server-api';\nimport { PageStatus } from '@/components/page-view';\nimport { ArrowDownSFilled, ArrowRightSOutlined } from '@ohu-mobile/icons';\nimport DropMenuPanel from '@/components/drop-menu-panel';\nimport DropAreaSelect from '@/components/drop-area-select';\nimport SubjectSelect from '../../../../components/select/subject-select';\n\ninterface ListMapItem {\n data: OptionalSubjectAcademyItem[];\n loading: false;\n}\n\n@Component({ name: 'elective-course-tree' })\nexport default class extends TSXComponent {\n\n provinceList: OptionalSubjectProvinceItem[] = [];\n active: any = [];\n listMap: { [key: string]: ListMapItem } = {};\n get queryValue(): GetListByOptionalSubjectBody {\n const { query } = this.$route;\n const params = qs.parse(query.params as string) as Record;\n return Object.assign(params, {\n professionLevel: +params.professionLevel,\n queryScope: +params.queryScope,\n sortByRegion: ['', ''],\n }) as any;\n }\n\n handleCollapseChange(event: CollapseValue) {\n this.active = event;\n }\n async handleCollapseExpand(province: string) {\n if (!this.listMap[province]) {\n this.$set(this.listMap, province, { loading: true, data: [] });\n try {\n const res = await getListByOptionalSubject(Object.assign(\n this.queryValue,\n { pageSize: 100, pageNumber: 1, sortByRegion: [province, ''] }\n ));\n const item: Partial = { loading: false, data: [] };\n if (res.success) {\n item.data = res.result.academy;\n } else {\n Toast.info(res.msg || '查询出错,刷新重试');\n }\n this.$set(this.listMap, province, item);\n } catch (error) {\n this.$set(this.listMap, province, { loading: false, data: [] });\n if (!navigator.onLine) Toast.info('网络出错,请监测网络状况');\n else Toast.info(error instanceof Error ? error.message : '');\n }\n }\n }\n async firstLoad() {\n const res = await getListByOptionalSubject(Object.assign({ pageSize: 100, pageNumber: 1 }, this.queryValue));\n if (res.success) {\n this.provinceList = res.result.province;\n if (this.provinceList[0]) {\n const { provinceName } = this.provinceList[0];\n this.active = [provinceName];\n this.listMap[provinceName] = { data: res.result.academyOfFirstProvince, loading: false };\n }\n this.$emit(PageStatus.SUCCESS);\n } else {\n this.$emit(PageStatus.ERROR, res.msg);\n }\n }\n async created() {\n await this.firstLoad();\n }\n\n reload() {\n this.provinceList = [];\n this.active = [];\n this.listMap = {};\n this.$emit(PageStatus.LOADING);\n this.firstLoad();\n }\n\n render() {\n return (\n
\n \n {\n this.$router.replace({\n path: '/elective-course/tree-view',\n query: { params: qs.stringify(values) }\n }).then(() => {\n setTimeout(() => {\n this.reload();\n }, 300);\n }).catch(() => {});\n }}>\n {\n return defaultTitle;\n },\n }} />\n {\n return defaultTitle;\n },\n }}>\n \n {\n const panel = this.$refs.optionalSubjectPanel as any;\n if (panel) {\n panel.reset();\n }\n }}\n scopedSlots={{\n default: ({ instance }) => {\n return (\n {\n if (!values || values.length !== 3) {\n Toast.info('需选择三个科目');\n return false;\n }\n return true;\n }}\n onChange={(values: any) => {\n instance.triggerChange({ key: 'optionalSubject', value: values });\n }}>\n \n \n );\n },\n }}>\n \n {\n const panel = this.$refs.region as any;\n if (panel) {\n panel.reset();\n }\n }}\n scopedSlots={{\n default: ({ instance }) => (\n {\n instance.triggerChange({ key: 'region', value });\n }}>\n \n \n ),\n }} />\n \n \n
\n {\n this.provinceList.length === 0\n ? \n :\n \n {\n this.provinceList.map((p) => (\n this.handleCollapseExpand(p.provinceName)}\n loading={this.listMap[p.provinceName] ? this.listMap[p.provinceName].loading : false}>\n \n {p.provinceName}\n ({p.academyCount}个相关院校)\n \n {\n this.listMap[p.provinceName]\n &&\n \n {\n this.listMap[p.provinceName].data.map((item) => (\n
{\n this.$router.push({\n path: 'related-majors',\n append: true,\n query: {\n params: qs.stringify(Object.assign(\n {},\n this.queryValue,\n { sortByRegion: [p.provinceName, item.academyName] }\n )),\n },\n });\n }}>\n \n {/* */}\n {item.academyName}\n \n
\n {item.professionCount}个相关专业\n \n
\n
\n ))\n }\n
\n\n }\n \n ))\n }\n
\n }\n \n
\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport PageView from '@/components/page-view';\nimport TreeView from './TreeView';\nimport { Skeleton } from '@ohu-mobile/core';\nimport Fullscreen from '@/components/advert/fullscreen';\nimport './index.scss';\n\n@Component({ name: 'elective-course-tree-view' })\nexport default class extends TSXComponent {\n render() {\n return (\n \n \n \n \n \n );\n }\n}\n"],"sourceRoot":""}