{"version":3,"sources":["webpack:///./src/components/advert/search-tip/index.tsx","webpack:///./src/utils/dictionary.ts","webpack:///./src/utils/wrap-api.ts","webpack:///./src/store/index.ts","webpack:///./src/components/form-item/index.tsx","webpack:///./src/utils/random-array.ts","webpack:///./src/components/advert/base/index.tsx","webpack:///./src/components/select/area-select/area-tree-select.tsx","webpack:///../../src/utils/transform-properties.ts","webpack:///../../src/utils/create-query-array.ts","webpack:///../src/common.ts","webpack:///../src/user.ts","webpack:///../src/trinity.ts","webpack:///../src/pre-enrol.ts","webpack:///../src/academy.ts","webpack:///../src/profession.ts","webpack:///../src/apply-match.ts","webpack:///../src/advert.ts","webpack:///../src/zsb.ts","webpack:///../src/pay.ts","webpack:///../src/optional-subject.ts","webpack:///../src/separate-exam.ts","webpack:///../src/test.ts","webpack:///./src/components/select/major-select/load-major-data.ts","webpack:///./src/components/drop-menu-panel/index.tsx","webpack:///./src/store/utils/cache.ts","webpack:///./src/store/modules/common.ts","webpack:///./src/utils/download-file.ts","webpack:///./src/components/select/area-select/load-area-data.ts","webpack:///./src/components/select/college-property-select/index.tsx","webpack:///./src/router/upgradeTip.tsx","webpack:///./src/utils/share.ts","webpack:///./src/components/page-view/index.tsx","webpack:///./src/pages/index/user/common/phone-verify/index.tsx","webpack:///./src/store/modules/setting.ts","webpack:///./src/pages/index/trinity/trinity.store.ts","webpack:///../src/http.ts","webpack:///../src/index.ts","webpack:///./src/store/utils/storage.ts","webpack:///./src/components/list-view/index.tsx","webpack:///./src/utils/page.ts","webpack:///./src/components/select/subject-select/index.tsx","webpack:///./src/components/select/year-select/index.tsx","webpack:///./src/utils/get-tree-node.ts","webpack:///./src/components/rank-score-item/index.tsx","webpack:///./src/components/select/area-select/index.tsx","webpack:///./src/api/interceptors/global-request.ts","webpack:///./src/api/interceptors/global-response.ts","webpack:///./src/api/index.ts","webpack:///./src/components/advert/fullscreen/index.tsx","webpack:///./src/icons/MySheetsMultiColor.ts","webpack:///./src/utils/validate-rules.ts","webpack:///./src/pages/index/trinity/trinity-major/index.tsx","webpack:///./src/pages/index/trinity/trinity-academy/index.tsx","webpack:///./src/icons/SeparateExamMultiColor.ts","webpack:///./src/pages/index/home/components/features/config.ts","webpack:///./src/pages/index/home/feature-config/feature.ts","webpack:///./src/pages/index/elective-course/components/elective-major/index.tsx","webpack:///./src/components/major-item/index.tsx","webpack:///./src/components/async-select/index.tsx","webpack:///./src/utils/tsx-component.ts","webpack:///./src/utils/mosaic-phone.ts","webpack:///./src/store/utils/permission-scope.ts","webpack:///./src/store/modules/user.ts","webpack:///./src/components/select/major-select/major-multi-select.tsx","webpack:///./src/icons/MyOrdersMultiColor.ts","webpack:///./src/router/utils.ts","webpack:///./src/router/loginTip.tsx","webpack:///./src/router/index.ts","webpack:///./src/store/modules/page.ts","webpack:///./src/components/select/college-name-select/index.tsx","webpack:///./src/components/drop-input/index.tsx","webpack:///./src/components/auth/index.tsx","webpack:///./src/icons/AddCircleFillFilled.ts","webpack:///./src/components/advert/carousel/index.tsx","webpack:///./src/icons/BillFilled.ts","webpack:///./src/icons/WechatPayFilled.ts","webpack:///./src/icons/ApplyMatchingExtraMultiColor.ts","webpack:///./src/icons/ApplyMatchingMultiColor.ts","webpack:///./src/icons/ElectiveCourseMultiColor.ts","webpack:///./src/icons/EmptyMultiColor.ts","webpack:///./src/icons/FundsMultiColor.ts","webpack:///./src/icons/MajorSettingMultiColor.ts","webpack:///./src/icons/NotQueriedMultiColor.ts","webpack:///./src/icons/PreEnrolMultiColor.ts","webpack:///./src/icons/RocketMultiColor.ts","webpack:///./src/icons/SchoolSettingMultiColor.ts","webpack:///./src/icons/SearchMajorMultiColor.ts","webpack:///./src/icons/SearchSchoolMultiColor.ts","webpack:///./src/icons/TrinityMultiColor.ts","webpack:///./src/icons/UpgradeMultiColor.ts","webpack:///./src/icons/ArrowDownDoubleOutlined.ts","webpack:///./src/icons/BillOutlined.ts","webpack:///./src/icons/EditCircleOutlined.ts","webpack:///./src/icons/MyCollectionsMultiColor.ts","webpack:///./src/utils/detect.ts","webpack:///./src/icons/AreaSettingMultiColor.ts","webpack:///./src/components/edit-tags/index.tsx","webpack:///./src/components/floating-card/index.tsx","webpack:///./src/pages/index/trinity/TreeSkeleton.tsx","webpack:///./src/components/simple-table/index.tsx","webpack:///./src/store/modules/advert.ts","webpack:///./src/components/select/major-select/index.tsx","webpack:///./src/components/select/utils/load-data-before-open.ts","webpack:///./src/store/modules/wish-list.ts","webpack:///./src/icons/CircleAddFilled.ts","webpack:///./src/components/drop-area-select/index.tsx","webpack:///./src/components/select/multi-major-select/multi-major-select.tsx","webpack:///./src/utils/getSaveTip.ts"],"names":["SearchTip","TSXComponent","render","h","arguments","BaseAdvert","_mergeJSXProps","props","this","$props","scopedSlots","default","adList","_adList$","_Icon","_ErrorWarningOutlined","text1","__decorate","Prop","type","String","required","Boolean","Component","name","subjects","5","3","4","optionalSubjects","6","7","8","9","0","errorTipPop","tip","msg","_Toast","fail","_Dialog","alert","content","confirm","title","successTipPop","success","async","wrapApis","asyncFuncs","stateUpdater","loading","successTip","errorTip","timecost","partialSuccess","loadingState","startTime","performance","now","res","Promise","all","map","func","realTimecost","timer","resolve","then","setTimeout","finally","clearTimeout","result","code","reduce","pass","r","push","every","error","Error","message","wrapApi","asyncFunc","loadingTip","loader","close","Vue","use","Vuex","Store","FormItem","_Card","decoration","disabled","Header","$slots","note","randomArray","arr","copyArr","slice","l","length","i","randomIndex","Math","floor","random","splice","constructor","AdvertModule","getAdvert","showAreaCode","moduleCode","areaCode","key","iterateRandom","local","get","set","remainIndex","acc","_","index","indexOf","selectIdx","idx","undefined","$scopedSlots","rootClass","AreaTreeSelect","currentValue","value","currentOptions","options","onOptionsChang","cur","onValueChang","_TreeSelect","keyPath","multiple","treeData","loadData","change","currentValues","path","provinceNode","cityNode","label","join","selected","some","item","findIndex","option","$emit","Array","Watch","transformProperties","selectArr","properties","forEach","selectIndex","defaultCreateQueryArray","quotes","array","fixedSize","currentSize","dis","emptyStrArr","fill","filterArray","filter","CommonModule","Api","create","baseUrl","base","suffix","createArrayQuery","id","paramsArr","innerString","getProfessionInfo","define","http","query","reject","params","professionId","getHighSchoolInfo","highSchoolId","getRegionInfo","regionId","getWeChatShareParams","url","getArtSubject","UserModule","registry","registryBody","post","getVerifyCode","phone","login","loginBody","resetPassword","token","body","updateUserInfo","logout","updatePwd","setScoreRank","artSubject","rank","score","optionalSubject","createQueryArray","subjectScoreRank","feedback","getUserInfo","t","Date","freeTrial","TrinityModule","transformTrinityProfessionTree","list","prevAcademy","_prevAcademy","academyId","professionList","pick","getTrinityProfessionTree","getTrinityProfessionList","academyCount","professionCount","size","trees","academyName","professionName","getTrinityProfessionDetail","data","Object","entries","k","match","historyScores","setTrinityScore","subjectGrade","getTrinityUserInfo","deleteTrinityUserFav","professionPKArray","addTrinityUserFav","queryTrinityUserFav","exporTrinitytUserWish","PreEnrolModule","getPreEnrolProfessionList","getPreEnrolProfessionDetail","getPreEnrolAcademyList","AcademyModule","getAcademyList","region","toString","acadymyProperty","getAcademyDetail","getAcademyProfessionList","ProfessionModule","getProfessionList","professionPK","getYearList","ApplyMatchModule","ApplyMatchTestModule","getProfessionDetail","createWishListBody","assign","region1","region2","professionQueryMode","professionName1","professionName2","professionId1","professionId2","academyName1","academyName2","omitBy","isNil","professionLevel","subject","createGetWishList2Body","pageNumber","pageSize","scheme","recommendType","getWishList2","wishCount_bao","wishCount_chong","wishCount_wen","wishList","ExcelMoudle","getScoreSection","fileName","responseType","getEnrollmentPlanInfo","addUserWish","pk","deleteUserWish","queryUserWishList","sortField","sortType","sortUserWish","position","autoSortUserWish","exportUserWish","queryUserFavorites","dataType","deleteUserFavorite","addUserFavorite","param","c","page","rows","platformCode","process","VUE_APP_ADVERT_PLATFORMCODE","pic","text2","ZsbModule","getMajorTypeInfo","majorName","getMajorInfo","getZsbProfessionList","professionClass","getZsbProfessionDetail","setZsbMajor","args","majorTypeId","majorId","getZsbInfo","PayModule","getOutTradeNo","goodsName","getHistoricalTradeInfo","outTradeNo","sm","CardModule","payByCard","OptionalSubjectModule","getListByOptionalSubject","queryScope","sortByRegion","getListByProfession","SeparateExamModule","createGetSeparateExamProfessionListBody","_body$professionLevel","getSeparateExamProfessionList","getSeparateExamProfessionDetail","getZJRegionInfo","getSeparateExamSubjectInfo","TestModule","nextProfessionMap","professionLevelId","professionLevelName","professionSubjectId","professionSubjectName","professionClassId","professionClassName","loadMajorData","node","attach","treeNode","getTreeNode","isLeaf","hasChildren","DropMenuPanel","internalValue","useLabel","labalFunc","reset","clear","defaultValue","_cloneDeep","removeLabel","selfHold","cloneElement","prop","on","values","contentStyle","noPadding","padding","labels","_Tag","click","needReset","_Button","e","stopPropagation","beforeChange","Function","Cache","target","descriptor","store","useSession","session","namespace","oldFunc","storeKey","JSON","stringify","cache","setStore","timeout","util","apply","date","midnight","getFullYear","getMonth","getDate","getTime","Common","VuexModule","reverse","Action","Module","dynamic","getModule","downloadFile","link","docLink","document","createElement","href","style","display","appendChild","removeChild","nextAreaMap","provinceId","provinceName","cityId","cityName","unshift","acadymyProperties","CollegePropertySelect","_CheckboxGroup","_Checkbox","upgrade","permissions","onCancel","canBack","router","back","currentRoute","startsWith","isAction","endsWith","instance","actions","color","text","handle","redirect","permissionRecord","perm","okBtn","onOk","share","fullPath","advertParams","window","wx","wxapi","getConfigUrl","location","split","encodeCurrentUrl","encodeURIComponent","encodeFullPath","shareDataRes","ticketRes","shareData","desc","imgUrl","config","jsApiList","ready","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareQZone","console","PageStatus","_Result","statusMap","NotQueriedMultiColor","empty","EmptyMultiColor","PageView","tsx","status","initStatus","resultTitle","resultMinorText","resultType","pageTitle","wishListModule","wishNum","_this$$route$meta","$route","meta","isTab","showTab","_BackOutlined","singlePage","_HomeDoorOutlined","setStatus","event","resetResult","detail","handleClickLeft","history","$router","mounted","shareParams","navBarFixed","SUCCESS","LOADING","_event$type","ERROR","EMPTY","setTitle","resultMap","useSkeleton","skeleton","_Skeleton","_Loading","contentCls","targetClass","navbarData","navBarProps","divider","leftArrow","attrs","navBar","navbar","_NavBar","leftButtonIcon","needVolunteerList","_Badge","fullscreen","hasActionBar","whiteBgd","userModule","showNotice","_NoticeBar","freeTime","_VolumeDownOutlined","Provide","time","PhoneVerify","isSending","count","validatePhone","info","setInterval","resetCodeStatus","clearInterval","beforeDestroy","_Form","Field","_Input","sendVerifyCode","new","getPassword","TIP_SETTING","localTipSetting","sessionTipSetting","Setting","strategy","_this$sessionTipSetti","_this$localTipSetting","show","setLocalTip","setSessionTip","setTip","setting","dataTime","updateTime","closeTip","toggleTab","visible","Mutation","namespaced","SettingModule","Trinity","favsLoaded","professions","_userModule$trinityIn","_userModule$trinityIn2","trinityInfo","loaded","keys","_userModule$trinityIn3","_userModule$trinityIn4","userFavoritesProfessionMaxCount","updateProfessions","total","ps","pks","p","removeProfessions","delete","axios","defaults","baseURL","httpVuePlugin","install","prototype","$http","httpIndex","ApiModule","validateStatus","httpKey","interceptors","request","useInterceptors","reqInterceptors","resInterceptors","getNewInterceptors","interceptor","onFulfilled","onRejected","response","state","globalInterceptorManager","globalRequestInterceptors","globalResponseInterceptors","handler","promise","addGlobalRequestInterceptor","addGlobalResponseInterceptor","addPlugin","expirePlugin","engine","createStore","sessionStore","ListView","shouldInfinite","finished","currentPageNumber","infinite","isEmpty","pageError","loadMoreError","pageMessage","onSuspendChange","handleLoad","reload","$nextTick","continueLoad","activated","deactivated","suspend","emptyText","_List","finishText","scrollerContainer","showNoticeBar","renderItem","_Grid","finish","Number","querystr","qs","singlePagePath","SubjectSelect","sort","a","b","codeA","charCodeAt","codeB","_CheckTag","YearSelect","years","_this$years$","lastYearId","yearId","loadYearList","Item","_RadioGroup","yearName","_RadioTag","RankScoreItem","_this$subject","deletable","AreaSelect","labelValue","_Select","height","loadDataBeforeOpen","control","handleChange","method","hasLogin","isLogin","headers","Authorization","tokenValue","clearLogin","upgradeTip","err","globalRequest","globalResponse","seconds","Fullscreen","currentVisible","startCount","clearCount","$once","_ad$pic","ad","_Image","MySheetsMultiColor","uuid","theme","viewBox","children","yup","matches","trim","password","verifyCode","excludeEmptyString","cardNo","TrinityMajor","internalRemoving","removing","operating","afterTaste","onRemovingChange","major","isFav","cancelFav","fav","$on","profession","renderMajor","enrollmentPlan","editing","chargeStandard","convertedScore","year1","minScore1","firstTestMinScore1","inFavs","testTime","deleteFav","_CheckboxCircleOutlined","toggleFav","TrinityAcademy","checked","internalActiveKeys","activeKeys","onActiveKeysChange","academy","handleCheckGroupChange","handleCheckChange","renderProfile","academyNature","tel","registrationTime","scoringMethod","renderList","includes","_Collapse","indeterminate","SeparateExamMultiColor","features","zytb","iconAreaSize","textSize","icon","ApplyMatchingMultiColor","to","fixed","zytbyt","ApplyMatchingExtraMultiColor","badge","cyx","SearchSchoolMultiColor","czy","SearchMajorMultiColor","xkkm","ElectiveCourseMultiColor","swyt","TrinityMultiColor","gztqzs","PreEnrolMultiColor","zsb","UpgradeMultiColor","dkdz","LOCAL_FLAG_KEY","FEATURES_KEY","defaultPriorityItems","priority","transformPriorityToFeatureItems","items","defaultFeatureItems","Feature","localFlag","moreFeatures","clearLocal","save","saveToLocal","clearCache","remove","parseInt","isNaN","feature","ElectiveMajor","checkCode","optionalSubjectCondition","HistoricalMinRank","_ArrowRightSOutlined","MajorItem","wishBtnLoading","collectBtnLoading","wish","allow","addWish","removeWish","addFav","removeFav","displayType","isAddToVolunteerList","isCollect","showButton","lastYearMinRank","yearOfMinRank","isEffectiveProfession","toggleWish","toggleCollect","AsyncSelect","hide","maxHeight","fullScreen","placeholder","max","allowClear","beforeOpen","handleBeforeOpen","visibleChange","ref","mosaicPhone","replace","getScopes","permission","matchScope","source","currentScope","targetPermission","belongTo","sourcePermissions","allowed","checkedPermission","scope","PermissionsOfRoles","expert","expertvip","vip0","vip1","vip2","vip3","vip4","vip34","trial","User","User_1","TOKEN_KEY","firstLogin","userInfo","zsbInfo","_this$userInfo","_this$userInfo2","freeUsePaidFunction","experience","freeTrialTime","_this$userInfo3","userWishProfessionMaxCount","clearLoginState","addLoginState","setUserInfo","updateUserType","userType","setTrinityInfo","setZsbInfo","setFreeTrial","ft","_this$userInfo4","getPermissionsOfRole","role","_this$userInfo5","_this$userInfo6","_this$trinityInfo","_this$zsbInfo","isExportFavoritesPermission","refresh","userWishProfessionCount","updateWishNum","trinity","saveLoginState","MajorMultiSelect","reloading","inputValue","currentKeyPath","currentLevel","levels","forceLevel","currentQueryMode","queryMode","focusInput","autofocus","nameLevel","onForceLevelChange","reloadTreeSelect","onValueChange","onNameChange","onLevelsChange","getCurrentLevel","inputFocus","input","$refs","focus","onTabsChange","handleTreeSelectChange","concat","emitChange","professionLabel","inputEnter","treeNodes","v","find","_Tabs","_Tab","hasLevel","callback","$$v","blur","_Divider","MyOrdersMultiColor","beforeEnterTrinity","from","next","getTrinityInfo","beforeEnterZsb","cancelBtn","VueRouter","routes","component","auth","allowedEnter","guard","beforeEnter","popup","mode","progress","QProgress","colorful","beforeEach","_to$meta$guard","start","doAction","fromDest","dest","loginTip","afterEach","onError","getPagePriority","route","doPageAction","stack","activePages","toPriority","currentPageRoute","pop","activeIndex","lastIndexOf","toComponentName","Page","viewName","activePage","cleanCache","defaultPropertyValue","CollegeNameSelect","internalNameValue","internalPropertyValue","onEditTagsChange","EditTags","immediate","DropInput","nodeData","class","valueChange","Auth","needLogin","notAllowed","AddCircleFillFilled","AdvertCarousel","_Carousel","_item$pic","BillFilled","WechatPayFilled","FundsMultiColor","MajorSettingMultiColor","RocketMultiColor","SchoolSettingMultiColor","ArrowDownDoubleOutlined","BillOutlined","EditCircleOutlined","MyCollectionsMultiColor","Detect","require","detector","navigator","userAgent","isWechat","browser","isAndroid","os","isIos","AreaSettingMultiColor","closeInput","openInput","handleEnter","removeKeyword","inputKeyword","_AddOutlined","shouldClose","enter","Model","FloatingCard","$attrs","$listeners","TreeSkeleton","SimpleTable","Advert","each","n","MajorSelect","opened","loadFunc","onLoaded","initLoaded","pkNum","WishList","wishPool","listMap","_this$wishPool$pk","num","removeListInMap","removeList","batchRemove","saveToListMap","listItem","pool","listKeys","element","newPool","el","removeFromPool","updatePoolElement","updateElements","newItem","addToPool","addToWish","addWishList","removeWishList","sortWishList","fromKeys","leftKeys","toIndex","addFavorite","CircleAddFilled","DropAreaSelect","province","city","professionLevels","MultiMajorSelect","currentProfessionLevel","internalListValue","onQueryModeChange","onProfessionLevelChange","onOptionsChange","currentProfessionQueryMode","onLabelChange","currentTreeSelectValue","getSaveTip","disabledTip","setScoreMode","setScoreTime","deadline","dayjs","add","setScoreMinFrequency","current","isAfter","secondsLeft","duration","diff","hours","format","setScoreCount","setScoreMaxCount","extend","customParseFormat"],"mappings":"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","file":"js/common.d2fcab87.js","sourcesContent":["import { Icon } from '@ohu-mobile/core';\nimport { ErrorWarningOutlined } from '@ohu-mobile/icons';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport TSXComponent from '../../../utils/tsx-component';\nimport BaseAdvert, { BaseAdvertProps } from '../base';\nimport './index.scss';\n\n\nexport interface SearchTipProps extends BaseAdvertProps {}\n\n@Component({ name: 'search-tip' })\nexport default class SearchTip extends TSXComponent {\n @Prop({ type: String, required: true })\n public areaCode!: string;\n @Prop({ type: String, required: true })\n public moduleCode!: string;\n @Prop({ type: String, required: true })\n public showAreaCode!: string;\n @Prop({ type: Boolean, default: false })\n public random!: boolean;\n\n public render() {\n return (\n {\n if (!adList[0]) return;\n return (\n
\n \n 温馨提示:{adList[0]?.text1}\n
\n );\n },\n },\n }}>\n
\n );\n }\n}\n","\nexport const subjects: Record = {\n 5: '普通',\n 3: '艺术',\n 4: '体育',\n};\n\n\nexport const artSubjects: Record = {\n 31: '统考美术',\n 32: '统考音乐',\n 33: '统考舞蹈',\n 34: '统考时装表演',\n 35: '统考影视表演',\n 36: '统考播音与主持',\n 37: '统考编导',\n 38: '统考摄制',\n 39: '艺术校考',\n};\n\nexport function getSubject(key: string) {\n if (key.indexOf('3') === 0) { return artSubjects[key]; }\n return subjects[key];\n}\n\nexport const shortSubjects = ['语', '数', '英', '政', '史', '地', '物', '化', '生', '技'];\n\nexport const optionalSubjects: Record = {\n 4: '思政',\n 5: '历史',\n 6: '地理',\n 7: '物理',\n 8: '化学',\n 9: '生物',\n 0: '技术',\n};\n","import type{ ResponseFormat } from '@/api';\nimport { Toast, Dialog, ToastInfoOptions } from '@ohu-mobile/core';\nimport { PopupDepositComponent } from '@ohu-mobile/core/lib/_utils/createPopupMethodApi';\n\nexport type UseLoadingAsyncFunc = () => Promise>;\nexport type UseLoadingLoadingFunc = (loading: boolean) => void;\nexport interface UseLoadingOptions {\n loading?: boolean;\n successTip?: 'toast' | 'alert' | 'confirm';\n errorTip?: 'toast' | 'alert' | 'confirm';\n loadingTip?: ToastInfoOptions;\n /**\n * API调用耗时,为了让用户感知到操作已经更新,可以适当让整个API调用时间加长\n */\n timecost?: number;\n /**\n * 部分请求成功也算成功\n */\n partialSuccess?: boolean;\n}\n\nfunction errorTipPop(tip: 'toast' | 'alert' | 'confirm', msg?: string) {\n switch(tip) {\n case 'toast':\n return Toast.fail(msg || '操作失败');\n case 'alert':\n return Dialog.alert({ content: msg || '操作失败' });\n case 'confirm':\n return Dialog.confirm({ title: '确认', content: msg });\n }\n}\n\nfunction successTipPop(tip: 'toast' | 'alert' | 'confirm', msg?: string) {\n switch(tip) {\n case 'toast':\n return Toast.success(msg || '操作失败');\n case 'alert':\n return Dialog.alert({ content: msg || '操作失败' });\n case 'confirm':\n return Dialog.confirm({ title: '确认', content: msg });\n }\n}\n\nexport async function wrapApis(\n asyncFuncs: UseLoadingAsyncFunc[],\n stateUpdater: UseLoadingLoadingFunc,\n { loading, successTip, errorTip, timecost, partialSuccess }: UseLoadingOptions = { timecost: 0 }) {\n let loadingState = loading || false;\n try {\n loadingState = true;\n const startTime = timecost !== 0 ? performance.now() : 0;\n\n stateUpdater(loadingState);\n\n const res = await Promise.all(asyncFuncs.map(func => func()));\n\n if (startTime !== 0) {\n const realTimecost = performance.now() - startTime;\n if (realTimecost < timecost!) {\n let timer: NodeJS.Timeout | null = null;\n await Promise.resolve({\n then: (resolve: () => void) => {\n timer = setTimeout(resolve, timecost! - realTimecost);\n },\n }).finally(() => {\n timer && clearTimeout(timer);\n });\n }\n }\n const result: ResponseFormat['result'][] = [];\n let code = '';\n let msg = '';\n let success: boolean = false;\n if (partialSuccess) {\n success = res.reduce((pass: boolean, r) => {\n if (r.success) {\n result.push(r.result);\n }\n if (pass) return true;\n if (r.success) {\n msg = r.msg || '加载成功';\n code = r.code;\n return true;\n }\n return pass;\n }, success);\n } else {\n success = res.every(r => {\n result.push(r.result);\n if (r.success && !code) {\n code = r.code;\n }\n if (r.success && !msg) {\n msg = r.msg || '加载成功';\n }\n return r.success;\n });\n }\n\n if (!success && res?.[0]) {\n code = res[0].code;\n msg = res[0].msg || '加载失败';\n }\n\n if (success) {\n successTip && successTipPop(successTip, msg);\n return { success: true, result, code };\n } else {\n errorTip && errorTipPop(errorTip, msg);\n return { error: new Error(msg), code };\n }\n\n } catch (error) {\n errorTip && errorTipPop(errorTip, error instanceof Error ? error.message : '');\n return { error };\n } finally {\n loadingState = false;\n stateUpdater(loadingState);\n }\n}\n\nexport async function wrapApi(\n asyncFunc: UseLoadingAsyncFunc,\n stateUpdater: UseLoadingLoadingFunc,\n { loading, successTip, errorTip, timecost, loadingTip }: UseLoadingOptions = { timecost: 0 }) {\n let loadingState = loading || false;\n\n try {\n loadingState = true;\n let loader: PopupDepositComponent | undefined;\n if (loadingTip) {\n loader = Toast.loading(...loadingTip);\n }\n const startTime = timecost !== 0 ? performance.now() : 0;\n stateUpdater(loadingState);\n const res = await asyncFunc();\n\n if (startTime !== 0) {\n const realTimecost = performance.now() - startTime;\n if (realTimecost < timecost!) {\n let timer: NodeJS.Timeout | null = null;\n await Promise.resolve({\n then: (resolve: () => void) => {\n timer = setTimeout(resolve, timecost! - realTimecost);\n },\n }).finally(() => {\n timer && clearTimeout(timer);\n });\n }\n }\n if (loader) {\n loader.close();\n }\n if (res.success) {\n successTip && successTipPop(successTip, res.msg);\n return { success: true, result: res.result, code: res.code };\n } else {\n errorTip && errorTipPop(errorTip, res.msg);\n return { error: new Error(res.msg), code: res.code };\n }\n\n } catch (error) {\n errorTip && errorTipPop(errorTip, error instanceof Error ? error.message : '');\n return { error };\n } finally {\n loadingState = false;\n stateUpdater(loadingState);\n }\n}\n","import Vue from 'vue';\nimport Vuex from 'vuex';\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({});\n","\nimport TSXComponent from '../../utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport './index.scss';\nimport { Card, Divider } from '@ohu-mobile/core';\n\nexport interface FormItemProps {\n title?: string;\n tip?: string;\n required?: boolean;\n decoration?: boolean;\n disabled?: boolean;\n}\n\n@Component({ name: 'form-item' })\nexport default class FormItem extends TSXComponent {\n @Prop({ type: String })\n public title!: string;\n @Prop({ type: String })\n public tip!: string;\n @Prop({ type: Boolean, default: false })\n public required!: boolean;\n @Prop({ type: Boolean, default: true })\n public decoration!: boolean;\n @Prop({ type: Boolean, default: false })\n public disabled!: boolean;\n\n public render() {\n return (\n \n {\n this.title\n &&\n \n {this.title}\n \n { this.required && !this.tip ? '(必填)' : this.tip }\n \n { this.required && * }\n\n \n }\n {this.$slots.default}\n
\n {this.$slots.note}\n
\n
\n );\n }\n}\n","export default function randomArray(arr: any[]) {\n const copyArr = arr.slice();\n const l = copyArr.length;\n const result: any[] = [];\n for (let i = 0; i < l; i += 1) {\n const randomIndex = Math.floor(Math.random() * (l - i));\n result.push(copyArr[randomIndex]);\n copyArr.splice(randomIndex, 1);\n }\n return result;\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { AdvertModule } from '@/store/modules/advert';\nimport { Prop } from 'vue-property-decorator';\nimport { AdvertItem } from '@/api';\nimport randomArray from '@/utils/random-array';\nimport { local } from '@/store/utils/storage';\n\n\nexport interface BaseAdvertProps {\n areaCode: string;\n moduleCode: string;\n showAreaCode: string;\n random?: boolean;\n iterateRandom?: boolean;\n rootClass?: string;\n}\n\nexport interface BaseAdvertScopeSlots {\n default: AdvertItem[];\n}\n\n@Component({ name: 'base-advert' })\nexport default class BaseAdvert extends TSXComponent {\n @Prop({ type: String, required: true })\n public areaCode!: string;\n @Prop({ type: String, required: true })\n public moduleCode!: string;\n @Prop({ type: String, required: true })\n public showAreaCode!: string;\n @Prop({ type: Boolean, default: false })\n public random!: boolean;\n @Prop({ type: Boolean, default: false })\n public iterateRandom!: boolean;\n @Prop({ type: String })\n public rootClass!: string;\n\n public adList: AdvertItem[] = [];\n public async created() {\n try {\n const { result } = await AdvertModule.getAdvert({\n showAreaCode: this.showAreaCode,\n moduleCode: this.moduleCode,\n areaCode: this.areaCode,\n });\n const key = `${this.showAreaCode}${this.moduleCode}${this.areaCode}`;\n if (this.iterateRandom) {\n let arr = local.get(key) || [];\n if (arr.length === result.length) {\n local.set(key, []);\n arr = [];\n }\n const remainIndex = result.reduce((acc, _, index) => {\n if (arr.indexOf(index) < 0) {\n acc.push(index);\n }\n return acc;\n }, [] as number[]);\n let selectIdx;\n if (remainIndex.length > 1) {\n const idx = Math.floor(Math.random() * remainIndex.length);\n selectIdx = remainIndex[idx];\n } else {\n selectIdx = remainIndex[0];\n }\n if (selectIdx !== undefined) {\n arr.push(selectIdx);\n local.set(key, arr);\n this.adList = [result[selectIdx]];\n } else {\n local.set(key, []);\n this.adList = result;\n }\n } else {\n if (result.length > 1 && this.random) {\n this.adList = randomArray(result);\n } else {\n this.adList = result;\n }\n }\n } catch (error) {\n // 静默处理\n }\n }\n public render() {\n const { $scopedSlots, rootClass } = this;\n\n return (\n (!this.adList || this.adList.length === 0)\n ?
\n : $scopedSlots.default(this.adList)\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { TreeNode, TreeSelect, InternalTreeNode, Dialog } from '@ohu-mobile/core';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport loadData from './load-area-data';\nimport { Label } from '../../action-container';\n\n\nexport interface AreaTreeSelectProps {\n value?: any;\n keyPath?: any;\n treeData: TreeNode[];\n multiple?: boolean;\n options?: AreaTreeSelectOption[];\n useName?: boolean;\n}\n\nexport interface AreaTreeSelectEvents {\n onChange: AreaTreeSelectOption | AreaTreeSelectOption[];\n}\n\nexport type AreaTreeSelectOption = Label;\n\n@Component({ name: 'area-tree-select' })\nexport default class AreaTreeSelect extends TSXComponent {\n @Prop({ type: Array })\n public treeData!: TreeNode[];\n @Prop()\n public value!: any;\n @Prop()\n public keyPath!: any;\n @Prop({ type: Boolean, default: false })\n public multiple!: boolean;\n @Prop({ type: Array, default: () => [] })\n public options!: AreaTreeSelectOption[];\n @Prop({ type: Boolean, default: false })\n public useName!: boolean;\n\n public currentValue = this.value;\n\n public currentOptions = [...this.options];\n\n @Watch('options')\n public onOptionsChang(cur: AreaTreeSelectOption[]) {\n this.currentOptions = [...cur];\n }\n\n @Watch('value')\n public onValueChang(cur: any) {\n this.currentValue = cur;\n }\n\n public render() {\n return (\n {\n this.currentValue = currentValues;\n if (this.multiple && currentValues.length > 5) {\n return Dialog.alert({ title: '您已选5个地区', content: '请先删除或清空选项,重新选择' });\n }\n const [provinceNode, cityNode] = path;\n let label: string = provinceNode.title || '';\n const result = [provinceNode.value];\n if (provinceNode.value !== cityNode.value) {\n result.push(cityNode.value);\n label = [provinceNode.title, cityNode.title].join('-');\n } else {\n result.push('');\n }\n if (!this.multiple) {\n this.$emit('change', { label, value: result });\n } else {\n // 判断添加还是删除\n const selected = provinceNode.value === cityNode.value ?\n currentValues.some((item: string) => {\n if (item === provinceNode.value) {\n this.currentOptions.push({ label, value: result });\n return true;\n }\n return false;\n })\n : currentValues.some((item: string) => {\n if (item === cityNode.value) {\n this.currentOptions.push({ label, value: result });\n return true;\n }\n return false;\n });\n if (!selected) {\n const index = this.currentOptions.findIndex((option) =>\n option.value[0] === result[0] && option.value[1] === result[1],\n );\n if (index >= 0) {\n this.currentOptions.splice(index, 1);\n }\n }\n this.$emit('change', this.currentOptions);\n }\n }}\n loadData={loadData} />\n );\n }\n}\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"\nimport { InternalTreeNode, TreeNode } from '@ohu-mobile/core';\nimport { CommonModule } from '@/store/modules/common';\nimport { CommonQuery } from '@/api';\nimport getTreeNode from '@/utils/get-tree-node';\n\nconst nextProfessionMap: Record = {\n professionLevelId: 2,\n professionLevelName: 2,\n professionSubjectId: 3,\n professionSubjectName: 3,\n professionClassId: 4,\n professionClassName: 4,\n professionId: 5,\n professionName: 5,\n};\n\nexport default function loadMajorData(node?: InternalTreeNode): Promise {\n const query: CommonQuery = { type: 1 };\n if (node) {\n query.type = node.attach;\n }\n return CommonModule.getProfessionInfo(query).then(({ result }) => {\n return result.map((item: any) => {\n const { treeNode, id } = getTreeNode(item);\n if (id) {\n treeNode.attach = [nextProfessionMap[id], treeNode.key];\n }\n if (item.professionId) {\n treeNode.isLeaf = true;\n } else {\n treeNode.hasChildren = true;\n }\n return treeNode;\n });\n });\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Button, Tag } from '@ohu-mobile/core';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { cloneElement } from '@ohu-mobile/core/lib/_utils/vnode';\nimport { Label } from '../action-container';\nimport { cloneDeep } from 'lodash';\nimport './index.scss';\n\nexport interface DropMenuPanelProps {\n required?: boolean;\n tip?: string;\n noPadding?: boolean;\n value?: any;\n prop?: string;\n needReset?: boolean;\n beforeChange?: (values: any) => boolean;\n selfHold?: boolean;\n useLabel?: boolean;\n labalFunc?: (args: any) => Label[];\n defaultValue?: any;\n}\n\nexport interface DropMenuPanelEvents {\n onChange: any;\n}\n\n\n@Component({ name: 'drop-menu-panel' })\nexport default class DropMenuPanel extends TSXComponent {\n @Prop({ type: Boolean, default: true })\n public required!: boolean;\n @Prop({ type: String })\n public tip!: string;\n @Prop({ type: Boolean, default: false })\n public noPadding!: boolean;\n @Prop({ type: Boolean, default: false })\n public needReset!: boolean;\n @Prop({ type: Boolean, default: false })\n public selfHold!: boolean;\n @Prop()\n public value!: any;\n @Prop({ type: String, default: 'value' })\n public prop!: string;\n @Prop({ type: Boolean, default: false })\n public useLabel!: boolean;\n @Prop()\n public defaultValue!: any;\n\n @Prop({ type: Function })\n public labalFunc!: (args: any) => Label[];\n @Prop({ type: Function })\n public beforeChange!: (values: any) => boolean;\n\n get labels() {\n if (!this.useLabel) { return null; }\n return this.labalFunc ? this.labalFunc(this.internalValue.value) : this.internalValue.value as Label[];\n }\n\n internalValue: { value: any } = { value: this.value };\n\n public reset() {\n this.internalValue = { value: this.value };\n }\n\n public clear() {\n if (this.defaultValue) {\n if (typeof this.defaultValue === 'function') {\n this.internalValue = { value: this.defaultValue(this.internalValue.value) };\n } else {\n this.internalValue = { value: cloneDeep(this.defaultValue.value) };\n }\n } else {\n this.internalValue = { value: this.defaultValue };\n }\n }\n\n public removeLabel(index: number) {\n if (!this.labalFunc) {\n this.internalValue.value.splice(index, 1);\n } else {\n this.labalFunc(this.internalValue.value).splice(index, 1);\n }\n }\n\n public render() {\n const { $slots } = this;\n let node: any;\n if (this.selfHold) {\n node = $slots.default;\n } else {\n node = cloneElement($slots.default, {\n props: {\n [this.prop]: this.internalValue.value,\n },\n on: {\n change: (values: any) => {\n this.internalValue = { value: values };\n },\n },\n });\n }\n const contentStyle: Partial = {};\n if (this.noPadding) { contentStyle.padding = '0'; }\n return (\n
\n
\n {node}\n
\n
\n {\n !(this.useLabel && (this.labels instanceof Array && this.labels.length > 0))\n &&\n
\n {\n this.required && *\n }\n { !this.tip && this.required && '(必填三项)' }\n { this.tip }\n
\n }\n {\n this.labels instanceof Array && this.labels.length > 0\n &&\n
\n {\n this.labels.map(({ label, value }, index) => {\n return (\n this.removeLabel(index)} />\n );\n })\n }\n
\n }\n
0}}>\n {\n this.needReset\n &&\n \n }\n {\n !this.selfHold\n &&\n \n }\n
\n
\n
\n );\n }\n}\n","import { session, local } from './storage';\n\nexport interface CacheParams {\n timeout?: number;\n useSession?: boolean;\n util?: number;\n}\n\nexport function Cache(params: CacheParams) {\n return function(\n target: T,\n key: string | symbol,\n descriptor: TypedPropertyDescriptor,\n ) {\n const store = (params.useSession ? session : local).namespace(target.constructor.name);\n const oldFunc = descriptor.value;\n descriptor.value = function() {\n let storeKey = key.toString();\n if (arguments) {\n storeKey += JSON.stringify(arguments);\n }\n const cache = store.get(storeKey);\n if (cache) {\n return cache;\n }\n function setStore(result: any) {\n if (params.timeout !== undefined) {\n store.set(storeKey, result, Date.now() + params.timeout);\n } else if (params.util !== undefined) {\n store.set(storeKey, result, params.util);\n } else if (params.useSession) {\n store.set(storeKey, result);\n }\n }\n const result = oldFunc.apply(this, arguments);\n if (result instanceof Promise) {\n result.then((result) => {\n if (result.success !== false) {\n setStore(result);\n }\n return result;\n });\n } else {\n setStore(result);\n }\n return result;\n };\n };\n}\n","import { VuexModule, Module, getModule, Action } from 'vuex-module-decorators';\nimport store from '@/store';\nimport {\n getMajorTypeInfo,\n getMajorInfo,\n getHighSchoolInfo,\n CommonQuery,\n getRegionInfo,\n getAcademyList,\n GetAcademyListBody,\n getProfessionInfo,\n getYearList,\n getProfessionList,\n GetProfessionListBody,\n GetPreEnrolProfessionListBody,\n getPreEnrolProfessionList,\n GetZsbProfessionListBody,\n getZsbProfessionList,\n getPreEnrolAcademyList,\n PreEnrolAcademy,\n GetPreEnrolProfessionDetailBody,\n getPreEnrolProfessionDetail,\n TrinityProfessionListBody,\n getTrinityProfessionList,\n getEnrollmentPlanInfo,\n getScoreSection,\n getZJRegionInfo,\n getSeparateExamProfessionList,\n getSeparateExamSubjectInfo,\n GetSeparateExamProfessionListBody,\n getArtSubject\n} from '@/api';\nimport { Cache } from '../utils/cache';\n\nconst date = new Date();\nconst midnight = new Date(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n).getTime() + 25 * 60 * 60 * 1000;\n\n@Module({ name: 'common', store, dynamic: true })\nclass Common extends VuexModule {\n @Action\n @Cache({ useSession: true })\n public async fetchMajorType() {\n const { result, success, msg } = await getMajorTypeInfo();\n if (!success) { throw new Error(msg); }\n return result.slice(1);\n }\n @Action\n @Cache({ useSession: true })\n public async fetchMajor(majorTypeId: string, majorName = '') {\n const { result, success, msg } = await getMajorInfo({ majorTypeId, majorName });\n if (!success) { throw new Error(msg); }\n return result.slice(1);\n }\n\n @Action\n @Cache({ useSession: true })\n public async getHighSchoolInfo(query: CommonQuery) {\n const res = await getHighSchoolInfo(query);\n if (!res.success) { throw new Error(res.msg); }\n res.result = res.result.slice(1);\n return res;\n }\n\n @Action\n @Cache({ useSession: true })\n public async getRegionInfo(query: CommonQuery) {\n const res = await getRegionInfo(query);\n if (!res.success) { throw new Error(res.msg); }\n res.result = res.result.slice(1);\n return res;\n }\n\n @Action\n @Cache({ useSession: true })\n public async getYearList() {\n const res = await getYearList();\n if (res.result instanceof Array) {\n res.result = res.result.reverse();\n }\n if (!res.success) { throw new Error(res.msg); }\n return res;\n }\n\n\n @Action\n @Cache({ useSession: true })\n public async getArtSubject() {\n const res = await getArtSubject();\n if (!res.success) {\n throw new Error(res.msg);\n }\n return res.result;\n }\n\n // 首页API ↓\n @Action\n @Cache({ util: midnight })\n public async getEnrollmentPlanInfo() {\n const res = await getEnrollmentPlanInfo();\n return res;\n }\n\n @Action\n @Cache({ util: midnight })\n public async getScoreSection() {\n const res = await getScoreSection();\n return res;\n }\n\n // 高职提前招生部分操作 ↓\n @Action\n public async getPreEnrolProfessionDetail(body: GetPreEnrolProfessionDetailBody) {\n const { result } = await getPreEnrolProfessionDetail(body);\n return result;\n }\n\n @Action\n @Cache({ useSession: true })\n public async getPreEnrolAcademyList(): Promise {\n const { result } = await getPreEnrolAcademyList();\n return result;\n }\n\n @Action\n public async getPreEnrolProfessionList(body: GetPreEnrolProfessionListBody) {\n const res = await getPreEnrolProfessionList(body);\n return res;\n }\n\n // 高职提前招生部分操作 ↑\n\n // 三位一体操作 ↓\n\n @Action\n public async getTrinityProfessionList(body: TrinityProfessionListBody) {\n const res = await getTrinityProfessionList(body);\n return res;\n }\n\n // 三位一体操作↑\n\n @Action\n public async getAcademyList(body: GetAcademyListBody) {\n const res = await getAcademyList(body);\n return res;\n }\n\n // 专业操作 ↓\n\n @Action\n @Cache({ useSession: true })\n public async getProfessionInfo(query: CommonQuery) {\n const res = await getProfessionInfo(query);\n if (!res.success) { throw new Error(res.msg); }\n res.result = res.result.slice(1);\n return res;\n }\n\n @Action\n public async getProfessionList(body: GetProfessionListBody) {\n const res = await getProfessionList(body);\n return res.result;\n }\n\n // 专业操作 ↑\n\n // 专升本 ↓\n\n @Action\n public async getZsbProfessionList(body: GetZsbProfessionListBody) {\n const res = await getZsbProfessionList(body);\n return res;\n }\n\n // 专升本 ↑\n\n\n // 单考单招 ↓\n\n @Action\n @Cache({ useSession: true })\n public async getSeparateExamSubjectInfo() {\n const { result } = await getSeparateExamSubjectInfo();\n return result.slice(1);\n }\n\n @Action\n @Cache({ useSession: true })\n public async getZJRegionInfo() {\n const { result } = await getZJRegionInfo();\n return result.slice(1);\n }\n\n @Action\n public async getSeparateExamProfessionList(body: GetSeparateExamProfessionListBody) {\n return await getSeparateExamProfessionList(body);\n }\n\n\n // 单考单招 ↑\n}\n\nexport const CommonModule = getModule(Common);\n","\n\nexport default function downloadFile(link: string) {\n const docLink = document.createElement('a');\n docLink.href = link;\n docLink.style.display = 'none';\n document.body.appendChild(docLink);\n docLink.click();\n setTimeout(() => {\n document.body.removeChild(docLink);\n }, 0);\n}\n","import { InternalTreeNode, TreeNode } from '@ohu-mobile/core';\nimport { CommonModule } from '@/store/modules/common';\nimport { CommonQuery } from '@/api';\nimport getTreeNode from '@/utils/get-tree-node';\n\nconst nextAreaMap: Record = {\n provinceId: 2,\n provinceName: 2,\n cityId: 3,\n cityName: 3,\n};\n\nexport default function loadData(node?: InternalTreeNode): Promise {\n const query: CommonQuery = { type: 1 };\n if (node) {\n query.type = node.attach;\n }\n return CommonModule.getRegionInfo(query).then(({ result }) => {\n if (result[0].cityId && node?.attach) {\n result.unshift({ cityId: node.attach[1], cityName: '全部辖区' });\n }\n return result.map((item: any) => {\n const { treeNode, id } = getTreeNode(item);\n if (id) {\n treeNode.attach = [nextAreaMap[id], treeNode.key];\n }\n if (item.cityId) {\n treeNode.isLeaf = true;\n } else {\n treeNode.hasChildren = true;\n }\n return treeNode;\n });\n });\n}\n","/**\n * 院校标签选择\n */\nimport TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Checkbox, CheckboxGroup, CheckTag } from '@ohu-mobile/core';\nimport { Prop } from 'vue-property-decorator';\nimport './index.scss';\n\nexport interface CollegePropertySelectProps {\n value?: any[];\n}\n\nexport interface CollegePropertySelectEvents {\n onChange: any;\n}\n\nexport const acadymyProperties = ['985', '211', '公办院校', '民办院校', '独立院校', '中外合作'];\n\n@Component({ name: 'college-property-select' })\nexport default class CollegePropertySelect extends TSXComponent {\n @Prop({ type: Array })\n public value!: any[];\n public render() {\n return (\n {\n this.$emit('change', values);\n }}>\n {\n acadymyProperties.map((value, index) => {\n return {value};\n })\n }\n \n );\n }\n}\n","import { Button, Dialog, Divider } from '@ohu-mobile/core';\nimport { page } from '../store/modules/page';\nimport router from '.';\nimport { redirect } from '../utils/page';\n\nexport default function upgrade(permissions?: string[]) {\n function onCancel() {\n if (page.canBack) {\n router.back();\n } else if (router.currentRoute.path !== '/') {\n router.push('/');\n }\n }\n\n if (!permissions || (permissions[0].startsWith('apply'))) {\n const isAction = permissions && permissions[0].endsWith('action');\n const instance = Dialog.confirm({\n title: '升级服务',\n render: (h) => {\n return (\n
\n
海量权威数据 精准分析
\n
助您科学填报志愿
\n
\n );\n },\n // @ts-ignore\n actions: [\n {\n type: 'cancel',\n color: '#7383A2',\n text: isAction ? '取消' : '返回',\n handle: !isAction ? onCancel : () => {},\n },\n {\n text: '前往升级',\n handle: () => {\n redirect('pay');\n return false;\n },\n },\n ],\n });\n\n return instance;\n }\n\n const permissionRecord = permissions.reduce((acc, perm) => {\n acc[perm] = true;\n return acc;\n }, {} as Record);\n\n\n if (permissionRecord['trinity:complete-query']) {\n return Dialog.confirm({\n title: '提示',\n content: '升级三位一体服务',\n okBtn: '确定',\n onOk: () => {\n redirect('pay', { query: { type: 'SWYT' }});\n },\n onCancel,\n });\n } else if (permissionRecord['zsb:query']) {\n return Dialog.confirm({\n title: '提示',\n content: '升级专升本服务',\n okBtn: '确定',\n onOk: () => {\n redirect('pay', { query: { type: 'ZSB' }});\n },\n onCancel,\n });\n }\n}\n","import { getWeChatShareParams, getAdvert, GetAdvertParams } from '../api';\n\n\nexport default async function share(\n fullPath: string,\n advertParams: GetAdvertParams = {\n moduleCode: '主页',\n showAreaCode: 'C20',\n areaCode: '浙江',\n },\n) {\n if (!window.wx) { return; }\n const wxapi: WX = window.wx;\n const getConfigUrl = window.location.href.split('#')[0];\n const encodeCurrentUrl = encodeURIComponent(getConfigUrl);\n const encodeFullPath = encodeURIComponent(fullPath);\n const link = `${process.env.VUE_APP_BASE_URL}/auth.html?redirectUri=${encodeCurrentUrl}&fullPath=${encodeFullPath}`;\n try {\n const [shareDataRes, ticketRes] = await Promise.all([\n getAdvert(advertParams),\n getWeChatShareParams(getConfigUrl),\n ]);\n if (shareDataRes.success\n && shareDataRes.result instanceof Array\n && shareDataRes.result[0]\n && ticketRes.success) {\n const data = shareDataRes.result[0];\n const shareData = {\n title: data.text1,\n desc: data.text2,\n link,\n imgUrl: data.pic,\n };\n const config = ticketRes.result;\n wxapi.config({\n ...config,\n jsApiList: [\n 'onMenuShareTimeline',\n 'onMenuShareAppMessage',\n 'onMenuShareQQ',\n 'onMenuShareQZone',\n ],\n });\n wxapi.ready(() => {\n wxapi.onMenuShareTimeline(shareData);\n wxapi.onMenuShareAppMessage(shareData);\n wxapi.onMenuShareQQ(shareData);\n wxapi.onMenuShareQZone(shareData);\n });\n }\n } catch (error) {\n console.error(error);\n }\n}\n","import * as tsx from 'vue-tsx-support';\nimport Component from 'vue-class-component';\nimport { Prop, Provide } from 'vue-property-decorator';\nimport { NavBar, Skeleton, Loading, Result, Button, NavBarProps, Badge, NoticeBar } from '@ohu-mobile/core';\nimport { cloneElement } from '@ohu-mobile/core/lib/_utils/vnode';\nimport { VNode } from 'vue/types/umd';\nimport { page } from '../../store/modules/page';\nimport share from '../../utils/share';\nimport { GetAdvertParams } from '../../api';\nimport { HomeDoorOutlined, VolumeDownOutlined, BackOutlined } from '@ohu-mobile/icons';\nimport { userModule } from '../../store/modules/user';\nimport { wishListModule } from '../../store/modules/wish-list';\nimport { EmptyMultiColor, NotQueriedMultiColor } from '@/icons';\nimport './index.scss';\n\nResult.statusMap['not-queried'] = NotQueriedMultiColor;\nResult.statusMap.empty = EmptyMultiColor;\n\n\nexport interface PageProps {\n title?: string;\n navBarFixed?: boolean;\n useSkeleton?: boolean;\n initStatus?: PageStatus;\n targetClass?: string;\n navBar?: boolean;\n share?: boolean;\n shareParams?: GetAdvertParams;\n leftArrow?: boolean;\n hasActionBar?: boolean;\n whiteBgd?: boolean;\n needVolunteerList?: boolean;\n collect?: boolean;\n navBarProps?: NavBarProps;\n singlePage?: boolean;\n}\n\nexport enum PageStatus {\n LOADING = 'loading',\n SUCCESS = 'success',\n ERROR = 'error',\n EMPTY = 'empty',\n}\n\n\nexport interface PageEvent {\n message?: string;\n detail?: string;\n}\n\nexport interface PageErrorEvent extends PageEvent {\n type?: 'network-broken' | 'error';\n}\n\n@Component({ name: 'page' })\nexport default class PageView extends tsx.Component {\n\n @Provide()\n public page = this;\n\n\n @Prop({ type: String })\n public title!: string;\n @Prop({ type: Boolean, default: true })\n public navBarFixed!: boolean;\n @Prop({ type: Boolean, default: false })\n public useSkeleton!: boolean;\n @Prop({ type: String, default: PageStatus.LOADING })\n public initStatus!: PageStatus;\n @Prop({ type: String })\n public targetClass!: string;\n @Prop({ type: Boolean, default: true })\n public navBar!: boolean;\n @Prop({ type: Boolean, default: true })\n public leftArrow!: boolean;\n @Prop({ type: Boolean, default: true })\n public share!: boolean;\n @Prop({ type: Object })\n public shareParams!: GetAdvertParams;\n @Prop({ type: Object })\n public navBarProps!: NavBarProps;\n @Prop({ type: Boolean, default: true })\n public hasActionBar!: boolean;\n @Prop({ type: Boolean, default: true })\n public whiteBgd!: boolean;\n @Prop({ type: Boolean, default: false })\n public needVolunteerList!: boolean;\n @Prop({ type: Boolean, default: true })\n public singlePage!: boolean;\n\n private status: PageStatus = this.initStatus;\n private resultTitle = '';\n private resultMinorText = '';\n private resultType = '';\n private pageTitle = this.title;\n\n get canBack() {\n return page.canBack;\n }\n\n get wishNum() {\n return wishListModule.wishNum;\n }\n\n get leftButtonIcon() {\n if (this.$route) {\n if (this.$route.meta?.isTab) {\n if (this.$route.query.showTab === '0') { return BackOutlined; }\n return undefined;\n }\n }\n return this.singlePage ? (!this.canBack ? HomeDoorOutlined : BackOutlined) : BackOutlined;\n }\n\n public setStatus(status: PageStatus, event?: PageEvent) {\n this.status = status;\n this.resetResult();\n if (!event) { return; }\n if (event.message) { this.resultTitle = event.message; }\n if (event.detail) { this.resultMinorText = event.detail; }\n }\n\n public resetResult() {\n this.resultTitle = '';\n this.resultType = '';\n this.resultMinorText = '';\n }\n\n public handleClickLeft() {\n if (!this.singlePage) {\n return window.history.back();\n }\n if (!this.$router) { return; }\n if (this.canBack) {\n this.$router.back();\n } else {\n this.$router.push('/');\n }\n }\n\n public mounted() {\n if (!this.$route || !this.singlePage) { return; }\n if (this.share) {\n share(this.$route.fullPath, this.shareParams);\n }\n const { title } = this.$route.query;\n if (title) {\n this.pageTitle = title.toString();\n }\n }\n\n public render() {\n const { $slots, pageTitle, navBarFixed } = this;\n let content;\n if ($slots.default) {\n content = cloneElement($slots.default[0], {\n on: {\n setStatus: (status: PageStatus, event?: PageEvent) => {\n this.setStatus(status, event);\n },\n success: (event?: PageEvent) => {\n this.setStatus(PageStatus.SUCCESS, event);\n },\n loading: (event?: PageEvent) => {\n this.setStatus(PageStatus.LOADING, event);\n },\n error: (event?: PageErrorEvent) => {\n this.setStatus(PageStatus.ERROR, event);\n this.resultType = event?.type ?? 'error';\n },\n empty: (event?: PageEvent) => {\n this.setStatus(PageStatus.EMPTY, event);\n },\n setTitle: (title: string) => {\n this.pageTitle = title;\n },\n },\n }, true);\n }\n const resultMap: {[key: string]: VNode} = {\n loading: (\n this.useSkeleton\n ? ($slots.skeleton ? $slots.skeleton[0] : )\n : \n ),\n error: (\n this.resultType === 'network-broken'\n ? (\n \n \n \n )\n : \n ),\n empty: (\n \n ),\n };\n const contentCls: Record = {\n 'content-hidden': this.status !== 'success',\n };\n if (this.targetClass) {\n contentCls[this.targetClass] = true;\n }\n const navbarData = {\n props: {\n ...this.navBarProps,\n title: pageTitle,\n type: 'light',\n divider: true,\n leftArrow: false,\n } as NavBarProps,\n on: {\n } as any,\n attrs: {\n style: 'background: #FFF;',\n },\n };\n return (\n
\n {\n $slots.navbar\n ? $slots.navbar[0]\n : (\n this.navBar\n &&\n \n \n { this.leftButtonIcon === HomeDoorOutlined ? '首页' : '' }\n \n {\n this.needVolunteerList\n &&\n \n \n \n }\n \n )\n }\n {$slots.fullscreen}\n
\n
\n {\n userModule.showNotice && this.$route.path.startsWith('/apply-matching')\n &&\n \n }\n {content}\n
\n
\n {resultMap[this.status]}\n
\n
\n
\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Form, Input, Button, Toast } from '@ohu-mobile/core';\nimport { Prop } from 'vue-property-decorator';\nimport { getVerifyCode } from '../../../../../api';\n\nconst time = 60;\n\nexport interface PhoneVerifyProps {\n validatePhone: (name: string) => Promise;\n getPassword: () => string;\n new?: boolean;\n}\n\nexport interface PhoneVerifyEvents {}\n\n@Component({ name: 'phone-verify' })\nexport default class PhoneVerify extends TSXComponent {\n @Prop({ type: Function, required: true })\n public validatePhone!: (name: string) => Promise;\n @Prop({ type: Function, required: true })\n public getPassword!: () => string;\n @Prop({ type: Boolean, default: false })\n public new!: boolean;\n private isSending: boolean = false;\n private count = time;\n private timer!: NodeJS.Timeout | null;\n public async sendVerifyCode() {\n if (this.isSending) { return; }\n let value;\n try {\n value = await this.validatePhone('phone');\n } catch (error) {\n if (error instanceof Error) {\n Toast.info((error as any).message);\n }\n return;\n }\n this.isSending = true;\n this.timer = setInterval(() => {\n this.count -= 1;\n if (this.count === 0) {\n this.resetCodeStatus();\n }\n }, 1000);\n const { success, msg } = await getVerifyCode(value);\n if (!success) {\n this.isSending = false;\n Toast.fail(msg || '获取验证码失败');\n this.resetCodeStatus();\n } else {\n this.isSending = true;\n Toast.info('验证码发送成功');\n }\n }\n public resetCodeStatus() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n this.isSending = false;\n this.count = time;\n }\n public beforeDestroy() {\n this.resetCodeStatus();\n }\n public render() {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n {\n const error = '';\n if (!value) { return '确认密码不能为空'; }\n if (value !== this.getPassword()) {\n return '密码不一致';\n }\n return error;\n }}>\n \n \n
\n );\n }\n}\n","import { local, session } from '../utils/storage';\nimport { VuexModule, Module, getModule, Action, Mutation } from 'vuex-module-decorators';\nimport store from '@/store';\nimport { AdvertItem } from '../../api';\n\n/**\n *\n * 提示策略\n * 策略一\n * 如果用户主动关闭,则将会在数据更新时才会提示;用户不关闭则一直显示\n * 策略二\n * 用户关闭提示只能在使用期间不看到提示,下次进入还能看到\n * 策略三\n * 用户可以永久关闭提示(当然清空缓存就没办法了)\n * 策略四(暂无需求)\n * 在固定时间内可不显示\n */\n\ninterface TipItem {\n show: boolean;\n // 数据时间\n dataTime?: number | string;\n // 将于合适更新\n updateTime?: number | string;\n data?: AdvertItem;\n}\n\ninterface SetTipPayload {\n strategy: number;\n namespace: string;\n data?: AdvertItem;\n}\n\ninterface CloseTipPayload {\n namespace: string;\n strategy: number;\n}\n\ninterface AddTip {\n namespace: string;\n item: TipItem;\n}\n\ntype TipSetting = Record;\n\n\nconst TIP_SETTING = 'TIP_SETTING';\nconst localTipSetting = local.get(TIP_SETTING) || {};\nconst sessionTipSetting = session.get(TIP_SETTING) || {};\n\n@Module({ name: 'setting', namespaced: true, store, dynamic: true })\nclass Setting extends VuexModule {\n\n get showTip() {\n return (namespace: string, strategy: number) => {\n if (strategy === 1 || strategy === 3) { return !!this.localTipSetting[namespace]?.show; }\n return !!this.sessionTipSetting[namespace]?.show;\n };\n }\n\n public localTipSetting: TipSetting = localTipSetting;\n public sessionTipSetting: TipSetting = sessionTipSetting;\n\n\n\n public showTab = true;\n\n @Mutation public setLocalTip({ namespace, item }: AddTip) {\n this.localTipSetting = {\n ...this.localTipSetting,\n [namespace]: item,\n };\n }\n\n @Mutation public setSessionTip({ namespace, item }: AddTip) {\n this.sessionTipSetting = {\n ...this.sessionTipSetting,\n [namespace]: item,\n };\n }\n\n @Action public setTip({ strategy, namespace, data }: SetTipPayload) {\n if (strategy === 1 && data) {\n const setting = this.localTipSetting[namespace];\n if (!setting || setting.dataTime !== data.updateTime) {\n this.setLocalTip({\n namespace,\n item: { show: true, data, dataTime: data.updateTime },\n });\n local.set(TIP_SETTING, this.localTipSetting);\n }\n } else if (strategy === 2) {\n const setting = this.sessionTipSetting[namespace];\n if (!setting) {\n this.setSessionTip({ namespace, item: { show: true } });\n session.set(TIP_SETTING, this.sessionTipSetting);\n }\n } else if (strategy === 3) {\n const setting = this.localTipSetting[namespace];\n if (setting) { return; }\n this.setLocalTip({ namespace, item: { show: true } });\n local.set(TIP_SETTING, this.localTipSetting);\n }\n }\n @Action public closeTip({ namespace, strategy }: CloseTipPayload) {\n if (strategy === 1) {\n const setting = this.localTipSetting[namespace];\n if (!setting) { return; }\n this.setLocalTip({\n namespace,\n item: Object.assign(setting, { show: false }),\n });\n local.set(TIP_SETTING, this.localTipSetting);\n } else if (strategy === 2) {\n const setting = this.sessionTipSetting[namespace];\n if (!setting) { return; }\n this.setSessionTip({\n namespace,\n item: { show: false },\n });\n session.set(TIP_SETTING, this.sessionTipSetting);\n } else if (strategy === 3) {\n this.setLocalTip({ namespace, item: { show: false } });\n local.set(TIP_SETTING, this.localTipSetting);\n }\n }\n\n @Mutation public toggleTab(visible: boolean) {\n this.showTab = visible;\n }\n\n}\n\n\nexport const SettingModule = getModule(Setting);\n","import { Action, Module, Mutation, VuexModule, getModule } from 'vuex-module-decorators';\nimport store from '@/store';\nimport { userModule } from '@/store/modules/user';\nimport type { TrinityProfressionListItem } from 'server-api';\nimport { queryTrinityUserFav, deleteTrinityUserFav, addTrinityUserFav } from '@/api';\nimport Vue from 'vue';\n\n@Module({ name: 'trinity', namespaced: true, store, dynamic: true })\nclass Trinity extends VuexModule {\n get shouldFilledIn() {\n return !userModule.trinityInfo?.optionalSubject || !userModule.trinityInfo?.subjectGrade;\n }\n\n // 收藏夹的初始化\n favsLoaded = false;\n @Mutation loaded(loaded: boolean) {\n this.favsLoaded = loaded;\n }\n\n professions: Record = {};\n\n get count() {\n return Object.keys(this.professions).length;\n }\n\n get total() {\n return userModule?.trinityInfo?.userFavoritesProfessionMaxCount ?? 30;\n }\n\n get isFav() {\n return (pk: string) => !!this.professions[pk];\n }\n\n\n @Mutation\n updateProfessions(list: TrinityProfressionListItem[]) {\n const result = list.reduce((acc, item) => {\n acc[item.professionPK] = item;\n return acc;\n }, {} as Record);\n this.professions = Object.assign({}, this.professions, result);\n }\n\n @Action\n async getFavs() {\n if (!this.favsLoaded) {\n this.loaded(true);\n }\n const res = await queryTrinityUserFav({ pageSize: this.total, pageNumber: 1 });\n if (res.success) {\n this.updateProfessions(res.result);\n }\n return res;\n }\n\n @Action\n async fav(ps: TrinityProfressionListItem[]) {\n if (this.count >= this.total) {\n return { success: false, result: [], code: '401', msg: '已达到收藏上限' };\n }\n const pks = ps.map((p) => p.professionPK);\n const res = await addTrinityUserFav(pks);\n if (res.success) {\n this.updateProfessions(ps);\n }\n return res;\n }\n\n\n @Mutation\n removeProfessions(pks: string[]) {\n pks.forEach(pk => Vue.delete(this.professions, pk));\n }\n\n @Action\n async cancelFav(pks: string[]) {\n const res = await deleteTrinityUserFav(pks);\n if (res.success) {\n this.removeProfessions(pks);\n }\n return res;\n }\n\n\n\n\n}\n\nexport const TrinityModule = getModule(Trinity);\n",null,null,"import store from 'store';\nimport expirePlugin from 'store/plugins/expire';\nimport sessionStore from 'store/storages/sessionStorage';\nimport engine from 'store/src/store-engine';\n\nstore.addPlugin(expirePlugin);\n\nexport const local = store;\nexport const session = engine.createStore([\n sessionStore,\n]);\n","import TSXComponent from '../../utils/tsx-component';\nimport { PageProps, PageStatus } from '../page-view';\nimport Component from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { List, Result, NoticeBar, Button, Grid } from '@ohu-mobile/core';\nimport { Pagination } from '../../api';\nimport { VueConstructor } from 'vue/types/umd';\nimport { ResponseFormat } from '@/api';\n\nexport interface ListViewProps extends PageProps {\n pageNumber?: number;\n pageSize?: number;\n loadData: (pagination: Pagination) => any;\n emptyText?: string;\n finishText?: string;\n scrollerContainer?: (self: InstanceType) => Element;\n suspend?: boolean;\n showNoticeBar?: boolean;\n}\n\nexport interface ListViewScopedSlots {\n renderItem: any;\n}\n\n@Component({\n name: 'list-view',\n})\nexport default class ListView extends TSXComponent {\n\n @Prop({ type: Number, default: 1 })\n public pageNumber!: number;\n @Prop({ type: Number, default: 10 })\n public pageSize!: number;\n @Prop({ type: Function, required: true })\n public loadData!: (pagination: Pagination) => any;\n @Prop({ type: Function })\n public scrollerContainer!: (self: InstanceType) => Element;\n @Prop({ type: String, default: '暂无数据' })\n public emptyText!: string;\n @Prop({ type: String })\n public finishText!: string;\n @Prop({ type: Boolean, default: false })\n public suspend!: boolean;\n @Prop({ type: Boolean, default: true })\n public showNoticeBar!: boolean;\n\n private shouldInfinite = false;\n @Watch('suspend')\n onSuspendChange(value: boolean) {\n if (value) {\n if (this.infinite) {\n this.infinite = false;\n this.shouldInfinite = true;\n }\n } else {\n if (this.shouldInfinite) {\n this.infinite = true;\n this.shouldInfinite = false;\n }\n }\n this.handleLoad();\n }\n\n private list: any[] = [];\n private loading = false;\n private finished = false;\n private currentPageNumber = this.pageNumber;\n private infinite = true;\n private isEmpty = false;\n private pageError: any = null;\n private loadMoreError: any = null;\n public pageMessage = '';\n public disabled = false;\n\n public reload() {\n this.pageMessage = '';\n this.pageError = null;\n this.loadMoreError = null;\n this.pageNumber = 1;\n this.pageSize = 10;\n this.list = [];\n this.loading = false;\n this.finished = false;\n this.infinite = true;\n this.isEmpty = false;\n this.currentPageNumber = this.pageNumber;\n this.$nextTick(() => {\n this.handleLoad();\n });\n }\n\n public continueLoad() {\n this.infinite = true;\n this.loadMoreError = null;\n }\n\n public activated() {\n this.infinite = true;\n }\n public deactivated() {\n this.infinite = false;\n }\n\n public async handleLoad() {\n if (this.loading || this.finished || this.suspend) return;\n this.loading = true;\n try {\n const { result, msg, code }: ResponseFormat = await this.loadData({\n pageNumber: this.currentPageNumber,\n pageSize: this.pageSize,\n });\n if (this.currentPageNumber === 1) {\n if (code === '201') {\n this.pageMessage = msg || '';\n }\n }\n if (result.length === 0 && this.currentPageNumber === 1) {\n this.isEmpty = true;\n }\n if (result.length < this.pageSize) {\n this.finished = true;\n this.infinite = false;\n }\n this.list.push(...result);\n this.currentPageNumber += 1;\n } catch (error) {\n process.env.NODE_ENV !== 'production' && console.error(error);\n if (this.currentPageNumber === 1) {\n this.pageError = error;\n } else {\n this.loadMoreError = error;\n this.infinite = false;\n }\n } finally {\n this.loading = false;\n }\n }\n\n public mounted() {\n if (this.suspend) return;\n this.handleLoad();\n }\n public render() {\n return (\n this.pageError\n ? (\n \n \n \n )\n : (\n this.isEmpty\n ? (\n \n )\n : (\n \n {this.pageMessage && this.showNoticeBar && }\n {\n this.list.map((item) => {\n return this.$scopedSlots.renderItem(item);\n })\n }\n {\n this.loadMoreError\n &&\n (\n \n \n \n )\n }\n {this.finished && this.$slots.finish}\n \n \n )\n )\n );\n }\n}\n","import qs from 'qs';\n\nexport interface RedirectParams {\n query?: Record;\n singlePagePath?: string;\n}\n\nexport function redirect(\n name: string,\n params?: RedirectParams,\n) {\n let querystr = '';\n if (params && params.query) {\n querystr = qs.stringify(params.query);\n }\n let url = `${(process.env.VUE_APP_DEPOLY_BASE_URL || '')}${name}.html`;\n if (params && params.singlePagePath) {\n if (process.env.VUE_APP_ROUTE_MODE === 'history') {\n url += params.singlePagePath;\n } else {\n url += `#${params.singlePagePath}`;\n }\n }\n if (querystr) {\n url += `?${querystr}`;\n }\n window.location.href = url;\n}\n\n\n","/**\n * 选报科目选择\n */\n\nimport TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { CheckboxGroup, CheckTag } from '@ohu-mobile/core';\nimport { Prop } from 'vue-property-decorator';\nimport './index.scss';\n\n\nconst optionalSubjects = [\n { name: '思政', value: '4' },\n { name: '历史', value: '5' },\n { name: '地理', value: '6' },\n { name: '物理', value: '7' },\n { name: '化学', value: '8' },\n { name: '生物', value: '9' },\n { name: '技术', value: '0' },\n];\n\nexport interface SubjectSelectProps {\n value?: any[];\n}\n\nexport interface SubjectSelectEvents {\n onChange: any;\n}\n\n@Component({ name: 'subject-select' })\nexport default class SubjectSelect extends TSXComponent {\n @Prop({ type: Array })\n public value!: any[];\n public render() {\n return (\n {\n const result = values.sort((a: string, b: string) => {\n if (a === '0') { return 1; }\n if (b === '0') { return -1; }\n const codeA = a.charCodeAt(0);\n const codeB = b.charCodeAt(0);\n if (codeA > codeB) {\n return 1;\n }\n if (codeA < codeB) { return -1; }\n return 0;\n });\n this.$emit('change', result);\n }}\n >\n {\n optionalSubjects.map(({ name, value }) => {\n return (\n {name}\n );\n })\n }\n \n );\n }\n}\n","/**\n * 年份选择器\n */\n\nimport TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { RadioGroup, RadioTag, Toast, Skeleton, Grid } from '@ohu-mobile/core';\nimport { CommonModule } from '@/store/modules/common';\nimport { YearListItem } from '@/api';\nimport { Prop } from 'vue-property-decorator';\n\n\nexport interface YearSelectProps {\n value?: number;\n}\n\nexport interface YearSelectEvents {\n onChange: number;\n onLastYear: number;\n}\n\n@Component({ name: 'year-select' })\nexport default class YearSelect extends TSXComponent {\n @Prop({ type: Number })\n public value!: number;\n\n public years: YearListItem[] = [];\n public loading = false;\n\n public async loadYearList() {\n this.loading = true;\n const { result, success, msg } = await CommonModule.getYearList();\n if (!success) {\n Toast.fail(msg || '加载年份列表失败');\n } else {\n this.years = result;\n const lastYearId = this.years[0]?.yearId;\n this.$nextTick(() => {\n this.$emit('lastYear', lastYearId);\n });\n }\n this.loading = false;\n }\n public mounted() {\n this.loadYearList();\n }\n public render() {\n return (\n this.loading\n ?\n \n \n \n \n \n \n \n \n \n \n :\n {\n this.$emit('change', value);\n }}>\n {\n this.years.map(({ yearId, yearName }) => (\n {yearName}\n ))\n }\n \n );\n }\n}\n","import { TreeNode } from '@ohu-mobile/core';\n\nexport default function getTreeNode(item: any) {\n const keys = Object.keys(item);\n const treeNode: TreeNode = {};\n let id: string = '';\n keys.forEach((key) => {\n if (key.indexOf('Id') >= 0) {\n treeNode.key = item[key];\n treeNode.value = item[key];\n id = key;\n }\n if (key.indexOf('Name') >= 0) {\n treeNode.title = item[key];\n }\n });\n return { treeNode, id };\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { Button, Dialog } from '@ohu-mobile/core';\nimport './index.scss';\n\nexport interface RankScoreItemSubject {\n name: string;\n id: string;\n}\n\nexport interface RankScoreItemProps {\n score?: string;\n rank?: string;\n subject?: RankScoreItemSubject;\n deletable?: boolean;\n}\n\nexport interface RankScoreItemEvents {\n onEdit: void;\n onDelete?: void;\n}\n\n\n@Component({ name: 'rank-score-item' })\nexport default class RankScoreItem extends TSXComponent {\n\n @Prop(String)\n public score!: string;\n @Prop(String)\n public rank!: string;\n @Prop(Object)\n public subject!: RankScoreItemSubject;\n @Prop({ type: Boolean, default: false })\n public deletable!: boolean;\n\n public render() {\n return (\n
\n
\n
\n {this.subject?.name || '报考科目'}\n
\n
\n
\n 成绩 {this.score || '暂无'}\n
\n
\n 位次号 {this.rank || '暂无'}\n
\n
\n
\n
\n {\n this.deletable\n &&\n \n }\n \n
\n
\n );\n }\n}\n","/**\n * 院校地区选择器\n */\n\nimport TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Select, TreeNode } from '@ohu-mobile/core';\nimport AreaTreeSelect from './area-tree-select';\nimport loadDataBeforeOpen from '../utils/load-data-before-open';\nimport loadData from './load-area-data';\nimport './index.scss';\n\n\n@Component({ name: 'area-select' })\nexport default class AreaSelect extends TSXComponent {\n public treeData: TreeNode[] = [];\n public labelValue = '';\n public render() {\n return (\n {\n return loadData();\n }, (data: any) => {\n this.treeData = data;\n })}\n onChange={(args: any) => {\n if (!args) {\n this.labelValue = '';\n }\n }}\n scopedSlots={{\n control: () => {\n if (!this.labelValue) { return 选择院校所在地; }\n return this.labelValue;\n },\n content: ({ handleChange }) => (\n {\n if (!(option instanceof Array)) {\n this.labelValue = option.label;\n handleChange(option.value, option);\n }\n }} />\n ),\n }} />\n );\n }\n}\n","import { RequestInterceptor } from 'api-module';\nimport qs from 'qs';\nimport { userModule } from '@/store/modules/user';\n\nexport default {\n onFulfilled: (config) => {\n if (config.method !== 'get') {\n config.data = qs.stringify(config.data);\n }\n if (!(config.baseURL && config.baseURL.indexOf('api.html') >= 0)) {\n const hasLogin = userModule.isLogin;\n if (hasLogin) {\n config.headers.Authorization = userModule.tokenValue;\n }\n }\n return config;\n },\n onRejected: (error) => {\n return Promise.reject(error);\n },\n} as RequestInterceptor;\n","import { ResponseInterceptor } from 'api-module';\nimport { userModule } from '@/store/modules/user';\nimport upgradeTip from '@/router/upgradeTip';\n\n\nexport default {\n onFulfilled: (response) => {\n const { code } = response.data;\n if (code === '401') {\n userModule.clearLogin();\n } else if (code === '402') {\n userModule.getUserInfo(true).then(() => {\n upgradeTip();\n });\n }\n if (response.status >= 300) {\n response.data = {\n success: false,\n msg: response.data,\n };\n }\n return response;\n },\n onRejected: (err) => {\n return Promise.reject(err);\n },\n} as ResponseInterceptor;\n","import { Api } from 'api-module';\nimport globalRequest from './interceptors/global-request';\nimport globalResponse from './interceptors/global-response';\n\nApi.addGlobalRequestInterceptor(globalRequest);\nApi.addGlobalResponseInterceptor(globalResponse);\n\n\nexport * from 'api-module';\nexport * from 'server-api';\n","import TSXComponent from '../../../utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport BaseAdvert, { BaseAdvertProps } from '../base';\nimport { Image } from '@ohu-mobile/core';\nimport './index.scss';\n\nexport interface FullscreenProps extends BaseAdvertProps {\n visible?: boolean;\n}\n\nconst seconds = 4;\n\n@Component({ name: 'fullscreen' })\nexport default class Fullscreen extends TSXComponent {\n @Prop({ type: String, required: true })\n public areaCode!: string;\n @Prop({ type: String, required: true })\n public moduleCode!: string;\n @Prop({ type: String, required: true })\n public showAreaCode!: string;\n @Prop({ type: Boolean, default: false })\n public random!: boolean;\n @Prop({ type: Boolean, default: true })\n public visible!: boolean;\n\n private timer!: NodeJS.Timeout | null;\n private count = 0;\n private currentVisible = this.visible;\n\n public startCount() {\n this.clearCount();\n this.timer = setInterval(() => {\n this.count += 1;\n if (this.count === seconds) {\n this.timer && clearInterval(this.timer);\n this.timer = null;\n this.currentVisible = false;\n }\n }, 1000);\n this.$once('hook:beforeDestroyed', () => {\n this.timer && clearInterval(this.timer);\n this.timer = null;\n });\n }\n\n public clearCount() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n\n public beforeDestroy() {\n this.clearCount();\n }\n\n public mounted() {\n if (process.env.NODE_ENV === 'development') return;\n if (this.currentVisible) {\n this.startCount();\n }\n }\n\n public render() {\n const { visible, ...props } = this.$props as FullscreenProps;\n const { currentVisible } = this;\n if (process.env.NODE_ENV === 'development') return;\n return (\n currentVisible\n &&\n {\n const [ad] = adList;\n return (\n
\n
数据查询中 {seconds - this.count}s
\n
\n \n
\n
\n );\n },\n },\n }} />\n );\n }\n}\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst MySheetsMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'my-sheets',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default MySheetsMultiColor;\n\n","import * as yup from 'yup';\n\nexport const phone = yup.string()\n .required('手机号不能为空')\n .matches(/^1[3456789]\\d{9}$/g, '手机格式不正确').trim();\n\nexport const password = yup.string()\n .required('密码不能为空')\n .matches(/^[\\w\\s]{6,14}$/g, '密码长度为8-14字符,仅支持数字、字母');\n\nexport const verifyCode = yup.string()\n .required('验证码不能为空')\n .matches(/^\\d{6}$/g, '验证码为6位数字');\n\nexport const score = (excludeEmptyString = false) => {\n return yup.string()\n .matches(/^\\d{1,3}$/, { message: '分数格式不对', excludeEmptyString });\n};\n\nexport const rank = (excludeEmptyString = false) => {\n return yup.string()\n .matches(/^[1-9]\\d{0,6}$/, { message: '位次号格式不对', excludeEmptyString });\n};\n\nexport const cardNo = yup.string()\n .required('请输入卡密')\n .matches(/^[0-9a-z]{16}$/i, '卡密格式错误');\n","import TSXComponent from '@/utils/tsx-component';\nimport { Badge, Button, Checkbox, CheckboxProps, Grid, Loading, Toast } from '@ohu-mobile/core';\nimport type { TrinityProfressionListItem } from 'server-api';\nimport Component from 'vue-class-component';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { TrinityModule } from '../trinity.store';\nimport { wrapApi } from '@/utils/wrap-api';\nimport { CheckboxCircleOutlined } from '@ohu-mobile/icons';\nimport './style.scss';\n\nexport interface TrintyMajorProps extends CheckboxProps {\n major: TrinityProfressionListItem;\n editing?: boolean;\n removing?: boolean;\n}\n\nexport interface TrintyMajorEvents {\n onDelete: string;\n}\n\n@Component({ name: 'trinity-major' })\nexport class TrinityMajor extends TSXComponent {\n @Prop()\n major!: TrinityProfressionListItem;\n\n @Prop({ type: Boolean, default: false })\n editing!: boolean;\n\n @Prop({ type: Boolean, default: false })\n removing!: boolean;\n\n internalRemoving = this.removing;\n\n @Watch('removing')\n onRemovingChange(value) {\n this.internalRemoving = value;\n }\n\n operating = false;\n\n afterTaste = '';\n\n get inFavs() {\n return this.$route.name === 'trinity-favs-view';\n }\n\n get professionPK() {\n return this.major.professionPK;\n }\n\n get isFav() {\n return TrinityModule.isFav(this.professionPK);\n }\n\n get favsLoaded() {\n return TrinityModule.favsLoaded;\n }\n\n async deleteFav(e: Event) {\n e.stopPropagation();\n if (this.internalRemoving) return;\n await wrapApi(\n () => TrinityModule.cancelFav([this.professionPK]),\n (loading) => this.internalRemoving = loading,\n { errorTip: 'toast', successTip: 'toast' },\n );\n this.$emit('delete', this.professionPK);\n }\n\n async toggleFav() {\n if (this.operating || this.afterTaste) return;\n const isFav = this.isFav;\n const res = await wrapApi(\n isFav\n ? () => TrinityModule.cancelFav([this.professionPK])\n : () => TrinityModule.fav([this.major]),\n (loading) => this.operating = loading,\n { errorTip: 'toast' },\n );\n if (res.success) {\n if (isFav) {\n this.afterTaste = '取消成功';\n } else {\n this.afterTaste = '收藏成功';\n }\n const timer = setTimeout(() => {\n this.afterTaste = '';\n }, 1200);\n this.$on('hook:beforeDestroy', () => {\n if (timer) clearTimeout(timer);\n });\n }\n }\n\n render() {\n const profession = this.major;\n const renderMajor = () => (\n
\n
\n

\n {profession.professionLevel && }\n {profession.professionName}\n

\n
\n 招生计划:{profession.enrollmentPlan || '--'}\n 参考学费:{profession.chargeStandard || '--'}\n 我的折算分:{profession.convertedScore || '--'}\n
\n
\n \n {`${profession.year1.slice(profession.year1.length - 2)}年三一最低分:`}\n \n {profession.minScore1 || '--'}\n
\n
\n \n {`${profession.year1.slice(profession.year1.length - 2)}年初审入围分:`}\n \n {profession.firstTestMinScore1 || '--'}\n
\n
\n 我的折算分:\n {profession.convertedScore || '--'}\n
\n \n 综测时间:\n {profession.testTime}\n \n \n 选考科目:\n {profession.optionalSubject || '--'}\n \n
\n {\n this.editing\n ? (\n
e.stopPropagation()}>\n \n 删除\n \n
\n )\n : (\n
e.stopPropagation()}>\n {\n this.$router.push({\n name: 'trinity-detail-view',\n query: {\n academyId: profession.academyId,\n professionId: profession.professionId,\n title: `${profession.academyName}-${profession.professionName}`,\n },\n })\n }}\n >\n 详情\n \n \n {\n this.afterTaste\n ? this.afterTaste\n : this.isFav ? '取消收藏' : '加入收藏'\n }\n \n
\n )\n }\n\n
\n );\n let node: JSX.Element;\n if (!this.editing) {\n node = renderMajor();\n } else {\n node = (\n \n {renderMajor()}\n \n );\n }\n return (\n
\n {node}\n {\n this.internalRemoving\n && (\n
\n 正在删除...\n
\n )\n }\n
\n );\n }\n}\n","import Component from 'vue-class-component';\nimport TSXComponent from '@/utils/tsx-component';\nimport { Checkbox, CheckboxGroup, Collapse, Grid, List, Loading } from '@ohu-mobile/core';\nimport type { TrinityProfessionTree } from 'server-api';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { TrinityMajor } from '../trinity-major';\nimport './style.scss';\n\nexport interface TrinityAcademyProps {\n academy: TrinityProfessionTree;\n editing?: boolean;\n removing?: string[];\n activeKeys?: string[];\n}\n\nexport interface TrinityAcademyEvents {\n onDelete: void;\n onChange: string[];\n}\n\n@Component({ name: 'trinity-academy' })\nexport class TrinityAcademy extends TSXComponent {\n\n @Prop()\n academy!: TrinityProfessionTree;\n\n @Prop({ type: Boolean, default: false })\n editing!: boolean;\n\n @Prop({ type: Array, default: () => [] })\n removing!: string[];\n\n checked = false;\n\n @Prop({ type: Array, default: () => [] })\n activeKeys!: string[];\n\n internalActiveKeys = [...this.activeKeys];\n @Watch('activeKeys')\n onActiveKeysChange(keys: string[]) {\n this.internalActiveKeys = [...keys];\n }\n\n get total() {\n return this.academy.professionList.length;\n }\n\n get indeterminate() {\n return this.internalActiveKeys.length > 0\n && this.internalActiveKeys.length !== this.total;\n }\n\n get url() {\n if (!this.academy.url) return '';\n return this.academy.url.startsWith('http')\n ? this.academy.url\n : `http://${this.academy.url}`\n }\n\n handleCheckGroupChange(keys: string[]) {\n this.internalActiveKeys = keys;\n this.checked = keys.length === this.total;\n this.$emit('change', keys);\n }\n\n handleCheckChange(checked: boolean) {\n if (checked) {\n this.handleCheckGroupChange(this.academy.professionList.map(p => p.professionPK));\n } else {\n this.handleCheckGroupChange([]);\n }\n }\n\n render() {\n const { academy } = this;\n const renderProfile = () => (\n
\n

{academy.academyName}

\n
\n 院校代码:{academy.academyId}\n 院校性质:{academy.academyNature || '--'}\n
\n {\n academy.tel\n &&\n
\n 咨询电话:\n {academy.tel}\n
\n }\n {\n this.url\n &&\n
\n 招生网:\n {this.url}\n
\n }\n \n 报名时间:\n {academy.registrationTime}\n \n \n 计分办法:\n \n {academy.scoringMethod || '--'}\n \n \n
\n );\n\n const renderList = () => (\n \n {\n academy.professionList.map(profession => (\n {\n const index = this.internalActiveKeys.indexOf(key);\n if (index >= 0) {\n this.internalActiveKeys.splice(index, 1);\n this.handleCheckGroupChange(this.internalActiveKeys);\n }\n this.$emit('delete');\n }} />\n ))\n }\n \n );\n return (\n \n {\n this.editing\n ? (\n \n )\n : \n }\n {\n this.editing\n ?\n \n {renderList()}\n \n : renderList()\n }\n \n );\n }\n}\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst SeparateExamMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'separate-exam',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default SeparateExamMultiColor;\n\n","import { EntryItemEvents, EntryItemProps } from '@ohu-mobile/core';\nimport {\n ApplyMatchingMultiColor,\n SearchSchoolMultiColor,\n SearchMajorMultiColor,\n TrinityMultiColor,\n PreEnrolMultiColor,\n UpgradeMultiColor,\n ApplyMatchingExtraMultiColor,\n ElectiveCourseMultiColor,\n} from '@/icons';\nimport SeparateExamMultiColor from '@/icons/SeparateExamMultiColor';\n\n\nexport interface FeatureItem {\n props: EntryItemProps;\n events?: EntryItemEvents;\n text: string;\n to?: string;\n fixed?: boolean;\n}\n\nexport const features: Record = {\n zytb: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: ApplyMatchingMultiColor(),\n },\n to: '/apply-matching',\n text: '志愿定制',\n fixed: true,\n },\n zytbyt: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: ApplyMatchingExtraMultiColor(),\n badge: { text: '体' },\n },\n to: '/apply-matching?type=yt',\n text: '体艺类志愿',\n fixed: true,\n },\n cyx: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: SearchSchoolMultiColor(),\n },\n to: '/school-search',\n text: '查院校',\n },\n czy: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: SearchMajorMultiColor(),\n },\n to: '/major-search',\n text: '查专业',\n },\n xkkm: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: ElectiveCourseMultiColor(),\n },\n to: '/elective-course',\n text: '选考科目',\n },\n swyt: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: TrinityMultiColor(),\n },\n to: '/trinity',\n text: '三位一体',\n },\n gztqzs: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: PreEnrolMultiColor(),\n },\n to: '/pre-enrol',\n text: '高职提前招生',\n },\n zsb: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: UpgradeMultiColor(),\n },\n to: '/upgrade',\n text: '专升本',\n },\n dkdz: {\n props: {\n iconAreaSize: 'lg',\n textSize: 'sm',\n icon: SeparateExamMultiColor(),\n },\n to: '/separate-exam',\n text: '单考单招',\n },\n};\n","import { Action, getModule, Module, Mutation, VuexModule } from 'vuex-module-decorators';\nimport store from '@/store';\nimport { EntryItemEvents, EntryItemProps } from '@ohu-mobile/core';\nimport { local } from '@/store/utils/storage';\nimport { AdvertModule } from '@/store/modules/advert';\nimport { features } from '../components/features/config';\n\n\nexport interface FeatureItem {\n props: EntryItemProps;\n events?: EntryItemEvents;\n text: string;\n auth?: boolean;\n to?: string;\n permissions?: string[];\n fixed?: boolean;\n}\n\nexport interface PriorityItem {\n key: string;\n priority: number;\n}\n\n\nexport interface FeatureSaveBody {\n features: FeatureItem[];\n moreFeatures: FeatureItem[];\n localFlag?: string;\n}\n\nexport const LOCAL_FLAG_KEY = 'LOCAL_FLAG';\nconst FEATURES_KEY = 'FEATURES';\n\n\nconst defaultPriorityItems: PriorityItem[] = [\n { key: 'zytb', priority: 1 },\n { key: 'zytbyt', priority: 1.5 },\n { key: 'cyx', priority: 2 },\n { key: 'czy', priority: 3 },\n { key: 'swyt', priority: 4 },\n { key: 'xkkm', priority: 5 },\n { key: 'gztqzs', priority: 6 },\n { key: 'zsb', priority: 7 },\n { key: 'dkdz', priority: 8 },\n];\n\nfunction transformPriorityToFeatureItems(items: PriorityItem[]) {\n return items.map(({ key }) => features[key]);\n}\n\nconst defaultFeatureItems: FeatureItem[] = transformPriorityToFeatureItems(defaultPriorityItems);\n\n\n@Module({ name: 'feature', store, dynamic: true })\nclass Feature extends VuexModule {\n localFlag: string = local.get(LOCAL_FLAG_KEY) || '';\n features: FeatureItem[] = defaultFeatureItems;\n moreFeatures: FeatureItem[] = [];\n\n @Mutation clearLocal() {\n this.localFlag = '';\n }\n\n @Mutation save({ features, moreFeatures, localFlag }: FeatureSaveBody) {\n this.localFlag = localFlag || '';\n this.features = features;\n this.moreFeatures = moreFeatures;\n }\n\n @Action saveToLocal(body: FeatureSaveBody) {\n this.save(Object.assign(body, { localFlag: LOCAL_FLAG_KEY }));\n local.set(LOCAL_FLAG_KEY, LOCAL_FLAG_KEY);\n local.set(FEATURES_KEY, body)\n }\n\n @Action clearCache() {\n this.clearLocal();\n local.remove(LOCAL_FLAG_KEY);\n local.remove(FEATURES_KEY);\n }\n\n @Action async getFeatures() {\n if (this.localFlag === LOCAL_FLAG_KEY) {\n const body = local.get(FEATURES_KEY);\n this.save(body);\n return this.features;\n }\n try {\n const { result } = await AdvertModule.getAdvert({\n areaCode: '浙江',\n moduleCode: '主页',\n showAreaCode: 'C40',\n });\n if (result[0]) {\n const text = result[0].text1;\n if (text) {\n const items = text.split(';').reduce((arr, item) => {\n const [ key, priority ] = item.split(',');\n const p = parseInt(priority);\n arr.push({ key, priority: p })\n if (key === 'zytb') {\n arr.push({ key: 'zytbyt', priority: p + 0.5 });\n }\n return arr;\n }, [] as PriorityItem[]).filter((item) => {\n return !isNaN(item.priority);\n }).sort((a, b) => {\n return a.priority - b.priority;\n });\n this.save({\n features: transformPriorityToFeatureItems(items),\n moreFeatures: [],\n localFlag: '',\n });\n return this.features;\n }\n }\n } catch (error) {\n // 静默处理\n }\n return this.features;\n }\n\n}\n\nexport const feature = getModule(Feature);\n","\nimport TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { OptionalSubjectProfessionItem } from 'server-api';\nimport './index.scss';\nimport { Icon } from '@ohu-mobile/core';\nimport { ArrowRightSOutlined } from '@ohu-mobile/icons';\n\nexport interface ElectiveMajorProps {\n data: OptionalSubjectProfessionItem;\n}\n\n@Component({ name: 'elective-major' })\nexport default class ElectiveMajor extends TSXComponent {\n @Prop({ type: Object, required: true })\n data!: OptionalSubjectProfessionItem;\n render() {\n const { data } = this;\n return (\n
{\n this.$router.push({\n path: `/major-search/detail/${data.professionId}`,\n query: {\n title: data.professionName,\n academyId: data.academyId,\n checkCode: data.checkCode,\n academyName: data.academyName,\n professionName: data.professionName,\n },\n });\n }}>\n
\n

{data.academyName}

\n
\n {data.professionName}\n
\n
\n 选考科目:\n {data.optionalSubjectCondition}\n
\n
\n 上一年录取最低分位次号:\n {data.HistoricalMinRank}\n
\n
\n
\n \n
\n
\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { AcademyProfessionListItem, ArtSubject, GetWishListItem } from '@/api';\nimport { Prop } from 'vue-property-decorator';\nimport { Button, Toast, Tag } from '@ohu-mobile/core';\nimport { wishListModule, WishItem } from '@/store/modules/wish-list';\nimport { userModule } from '@/store/modules/user';\nimport upgradeTip from '@/router/upgradeTip';\nimport './index.scss';\n\nexport interface MajorItemProps {\n data: AcademyProfessionListItem | GetWishListItem;\n displayType?: ArtSubject['artDisplayType'];\n}\n\n@Component({ name: 'major-item' })\nexport default class MajorItem extends TSXComponent {\n @Prop()\n public data!: WishItem;\n @Prop({ default: '3' })\n displayType!: ArtSubject['artDisplayType'];\n\n public wishBtnLoading = false;\n public collectBtnLoading = false;\n\n get wish() {\n return wishListModule.wish(this.data.professionPK);\n }\n\n public async toggleWish(pk: string, item?: WishItem) {\n if (!userModule.allow('apply:add-wish-action')) {\n return upgradeTip(['apply:add-wish-action']);\n }\n this.wishBtnLoading = true;\n let res;\n if (item) {\n res = await wishListModule.addWish({ pk, item });\n } else {\n res = await wishListModule.removeWish(pk);\n }\n const { success, msg } = res;\n if (!success) {\n Toast.fail(item ? (msg || '添加失败') : '取消失败');\n } else {\n Toast.success((item ? '添加成功' : '取消成功'));\n }\n this.wishBtnLoading = false;\n }\n\n public async toggleCollect(pk: string, item?: WishItem) {\n if (!userModule.allow('apply:collect-action')) {\n return upgradeTip(['apply:collect-action']);\n }\n this.collectBtnLoading = true;\n let res;\n if (item) {\n res = await wishListModule.addFav({ pk, item });\n } else {\n res = await wishListModule.removeFav(pk);\n }\n const { success } = res;\n if (!success) {\n Toast.fail(item ? '收藏失败' : '取消失败');\n } else {\n Toast.success((item ? '收藏成功' : '取消成功'));\n }\n this.collectBtnLoading = false;\n }\n\n public render() {\n const { data, wish, displayType } = this;\n\n let isAddToVolunteerList: string = data.isAddToVolunteerList;\n let isCollect: string = data.isCollect;\n if (wish) {\n isAddToVolunteerList = wish.isAddToVolunteerList;\n isCollect = wish.isCollect;\n }\n return (\n
{\n this.$router.push({\n path: `/major-search/detail/${data.professionId}`,\n query: {\n title: data.professionName,\n academyId: data.academyId,\n checkCode: data.checkCode,\n academyName: data.academyName,\n professionName: data.professionName,\n },\n });\n }}>\n

\n {\n displayType === '3' && data.recommendType\n &&\n {data.recommendType}\n }\n {data.academyName}\n

\n
\n {data.professionName}\n \n {\n data.region\n &&\n {data.region}\n }\n {\n data.lastYearMinRank\n &&\n {data.professionLevel}\n }\n \n
\n {\n displayType === '3'\n &&\n
\n {data.yearOfMinRank}年最低(参考)位次号:{data.HistoricalMinRank || '未知'}\n
\n }\n {\n data.enrollmentPlan\n &&\n
\n 招生计划数:{data.enrollmentPlan || '未知'}\n
\n }\n {\n data.isEffectiveProfession === '0'\n &&\n
e.stopPropagation()}>\n 选考科目不符\n
\n }\n {\n data.showButton === '1'\n && data.isEffectiveProfession === '1'\n &&\n
e.stopPropagation()}>\n {\n isAddToVolunteerList === '0'\n ?\n {\n e.stopPropagation();\n this.toggleWish(data.professionPK, data);\n }}>加入志愿单\n :\n {\n e.stopPropagation();\n this.toggleWish(data.professionPK);\n }}>取消加入\n }\n {\n isCollect === '0'\n ?\n {\n e.stopPropagation();\n this.toggleCollect(data.professionPK, data);\n }}>收藏\n :\n {\n e.stopPropagation();\n this.toggleCollect(data.professionPK);\n }}>取消收藏\n }\n
\n }\n
\n );\n }\n}\n","import TSXComponent from '../../utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Select, IconDef, SelectProps, SelectOption, Toast, SelectEvents } from '@ohu-mobile/core';\nimport { Prop } from 'vue-property-decorator';\n\n\n@Component({ name: 'async-select' })\nexport class AsyncSelect extends TSXComponent Promise, placeholder?: string }, SelectEvents> {\n @Prop({ type: String })\n public title!: string;\n @Prop({ type: Object })\n public icon!: IconDef;\n @Prop({ type: String })\n public maxHeight!: string;\n @Prop({ type: Boolean, default: false })\n public fullScreen!: boolean;\n @Prop({ type: Boolean, default: false })\n public multiple!: boolean;\n @Prop({ type: Number })\n public max!: number;\n @Prop({ type: String })\n public placeholder!: string;\n @Prop({ type: Function })\n public loadData!: () => Promise;\n\n public options: SelectOption[] = [];\n public loading = false;\n public loaded = false;\n public visible = false;\n public clear() {\n this.visible = false;\n this.loading = false;\n this.loaded = false;\n this.options = [];\n }\n public async handleBeforeOpen() {\n if (this.loaded) { return true; }\n if (this.loading) { return false; }\n Toast.loading('正在加载');\n this.loading = true;\n try {\n const options = await this.loadData();\n this.loaded = true;\n this.options = options;\n } catch (error) {\n Toast.hide();\n this.$nextTick(() => {\n Toast.info(error instanceof Error ? error.message : '');\n });\n return false;\n } finally {\n this.loading = false;\n }\n Toast.hide();\n return true;\n }\n public render() {\n const {\n title,\n icon,\n maxHeight,\n fullScreen,\n placeholder,\n multiple,\n max\n } = this;\n return (\n \n );\n }\n}\n","import TSXComponent from '../../utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { cloneElement } from '@ohu-mobile/core/lib/_utils/vnode';\nimport { userModule } from '../../store/modules/user';\nimport { Prop } from 'vue-property-decorator';\nimport upgradeTip from '@/router/upgradeTip';\nimport { Dialog } from '@ohu-mobile/core';\n\ninterface AuthProps {\n to?: string;\n permissions?: string[];\n needLogin?: boolean;\n}\n\n@Component({ name: 'auth' })\nexport class Auth extends TSXComponent {\n @Prop({ type: String })\n public to!: string;\n @Prop({ type: Boolean, default: true })\n public needLogin!: string;\n @Prop({ type: Array })\n public permissions!: string[];\n\n public render() {\n return cloneElement(this.$slots.default, {\n on: {\n click: (e: Event) => {\n if (!this.needLogin) {\n return this.$router.push(this.to);\n }\n if (!userModule.isLogin) {\n e.stopPropagation();\n return this.$router.push('/login');\n }\n if (this.permissions) {\n const notAllowed = this.permissions.some((p) => !userModule.allow(p));\n if (notAllowed) {\n return upgradeTip();\n }\n }\n if (this.to) {\n return this.$router.push(this.to);\n } else {\n Dialog.alert({ title: '提示', content: '该功能尚未开放,敬请期待' });\n }\n },\n },\n });\n }\n}\n","import { IconDef } from '@ohu-mobile/core';\n\nconst AddCircleFillFilled: IconDef = {\n name: 'add-circle-fill',\n theme: 'filled',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: '',\n};\n\nexport default AddCircleFillFilled;\n\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Prop } from 'vue-property-decorator';\nimport { Carousel, Image } from '@ohu-mobile/core';\nimport BaseAdvert, { BaseAdvertProps } from '../base';\nimport './index.scss';\n\nexport type AdvertCarouselProps = BaseAdvertProps;\n\n@Component({ name: 'advert-carousel' })\nexport default class AdvertCarousel extends TSXComponent {\n @Prop({ type: String, required: true })\n public areaCode!: string;\n @Prop({ type: String, required: true })\n public moduleCode!: string;\n @Prop({ type: String, required: true })\n public showAreaCode!: string;\n @Prop({ type: Boolean, default: false })\n public random!: boolean;\n @Prop({ type: String, default: 'advert-carousel' })\n public rootClass!: string;\n\n public render() {\n return (\n {\n return (\n \n {\n adList.map((item) => {\n return (\n \n {item.text1}\n \n );\n })\n }\n \n );\n },\n },\n }}>\n \n );\n }\n}\n","import { IconDef } from '@ohu-mobile/core';\n\nconst BillFilled: IconDef = {\n name: 'bill',\n theme: 'filled',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: '',\n};\n\nexport default BillFilled;\n\n","import { IconDef } from '@ohu-mobile/core';\n\nconst WechatPayFilled: IconDef = {\n name: 'wechat-pay',\n theme: 'filled',\n attrs: {\n viewBox: '0 0 22 22',\n },\n children: '',\n};\n\nexport default WechatPayFilled;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst ApplyMatchingExtraMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'apply-matching-extra',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 40 40',\n },\n children: ``,\n };\n}\n\nexport default ApplyMatchingExtraMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst ApplyMatchingMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'apply-matching',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 40 40',\n },\n children: ``,\n };\n}\n\nexport default ApplyMatchingMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst ElectiveCourseMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'elective-course',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default ElectiveCourseMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst EmptyMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'empty',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 277 414',\n },\n children: ``,\n };\n}\n\nexport default EmptyMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst FundsMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'funds',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: ``,\n };\n}\n\nexport default FundsMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst MajorSettingMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'major-setting',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 40 40',\n },\n children: ``,\n };\n}\n\nexport default MajorSettingMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst NotQueriedMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'not-queried',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 377 380',\n },\n children: ``,\n };\n}\n\nexport default NotQueriedMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst PreEnrolMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'pre-enrol',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default PreEnrolMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst RocketMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'rocket',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: ``,\n };\n}\n\nexport default RocketMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst SchoolSettingMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'school-setting',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 40 40',\n },\n children: ``,\n };\n}\n\nexport default SchoolSettingMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst SearchMajorMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'search-major',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 45',\n },\n children: ``,\n };\n}\n\nexport default SearchMajorMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst SearchSchoolMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'search-school',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default SearchSchoolMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst TrinityMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'trinity',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 45',\n },\n children: `3A`,\n };\n}\n\nexport default TrinityMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst UpgradeMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'upgrade',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default UpgradeMultiColor;\n\n","import { IconDef } from '@ohu-mobile/core';\n\nconst ArrowDownDoubleOutlined: IconDef = {\n name: 'arrow-down-double',\n theme: 'outlined',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: '',\n};\n\nexport default ArrowDownDoubleOutlined;\n\n","import { IconDef } from '@ohu-mobile/core';\n\nconst BillOutlined: IconDef = {\n name: 'bill',\n theme: 'outlined',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: '',\n};\n\nexport default BillOutlined;\n\n","import { IconDef } from '@ohu-mobile/core';\n\nconst EditCircleOutlined: IconDef = {\n name: 'edit-circle',\n theme: 'outlined',\n attrs: {\n viewBox: '0 0 24 24',\n },\n children: '',\n};\n\nexport default EditCircleOutlined;\n\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst MyCollectionsMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'my-collections',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 44 44',\n },\n children: ``,\n };\n}\n\nexport default MyCollectionsMultiColor;\n\n","const Detect = require('ohu-detect');\n\nconst detector = new Detect.default(navigator.userAgent);\n\nexport function isWechat() {\n return detector.browser.name === 'wechat';\n}\n\nexport function isAndroid() {\n return detector.os.name === 'android';\n}\n\nexport function isIos() {\n return detector.os.name === 'ios';\n}\n\nexport default detector;\n","import { IconDef } from '@ohu-mobile/core';\nimport { v4 as uuid } from 'uuid';\n\nconst AreaSettingMultiColor: () => IconDef = () => {\n const id = uuid();\n return {\n name: 'area-setting',\n theme: 'multi-color',\n attrs: {\n viewBox: '0 0 40 40',\n },\n children: ``,\n };\n}\n\nexport default AreaSettingMultiColor;\n\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Dialog, Toast, Form, Input, Tag, Button } from '@ohu-mobile/core';\nimport { Label } from '../action-container';\nimport './index.scss';\nimport { Prop, Model, Watch } from 'vue-property-decorator';\nimport { AddOutlined } from '@ohu-mobile/icons';\n\nexport interface EditTagsProps {\n value?: Label[];\n label?: string;\n placeholder?: string;\n max?: number;\n}\n\nexport interface EditTagsEvents {\n onChange: Label[];\n}\n\n@Component({ name: 'edit-tags' })\nexport default class EditTags extends TSXComponent {\n @Model('change', { default: () => [] })\n public value!: Label[];\n @Prop({ type: String, default: '' })\n public label!: string;\n @Prop({ type: String, default: '' })\n public placeholder!: string;\n @Prop({ type: Number, default: 2 })\n public max!: number;\n\n public visible = false;\n public inputValue = '';\n\n public internalValue = [...this.value];\n\n @Watch('value')\n public onValueChange(cur: Label[]) {\n this.internalValue = [...cur];\n }\n\n public closeInput() {\n this.visible = false;\n }\n\n public openInput() {\n this.visible = true;\n }\n\n public handleEnter() {\n const value = this.inputValue.trim();\n if (!value) {\n Toast.info(`${this.label}不能为空`);\n return false;\n }\n if (this.internalValue.length >= this.max) {\n Toast.info(`只能添加${this.max}个专业名称`);\n return true;\n }\n this.internalValue.push({ label: value, value });\n this.inputValue = '';\n this.$emit('change', this.internalValue);\n return true;\n }\n\n public removeKeyword(index: number) {\n this.internalValue.splice(index, 1);\n this.$emit('change', this.internalValue);\n }\n\n public inputFocus() {\n const input = this.$refs.input as any;\n input && input.focus();\n }\n\n public inputKeyword() {\n if (this.internalValue.length >= this.max) {\n Toast.info(`只能添加${this.max}个专业名称`);\n return true;\n }\n this.openInput();\n this.$nextTick(() => {\n this.inputFocus();\n });\n }\n\n public render() {\n return (\n
\n
\n {\n this.internalValue.length > 0\n &&\n
\n {\n this.internalValue.map((label, index) =>\n this.removeKeyword(index)}>{label.label},\n )\n }\n
\n }\n \n 添加{this.label}\n \n
\n {\n return new Promise((resolve) => {\n const shouldClose = this.handleEnter();\n if (shouldClose) {\n resolve(true);\n } else {\n resolve(false);\n }\n });\n },\n }}>\n
\n {\n const shouldClose = this.handleEnter();\n shouldClose && this.closeInput();\n }}\n placeholder={this.placeholder} />\n \n \n
\n );\n }\n}\n","import Component from 'vue-class-component';\nimport TSXComponent from '@/utils/tsx-component';\nimport type { VNodeData } from 'vue';\nimport { Card } from '@ohu-mobile/core';\nimport { Prop } from 'vue-property-decorator';\n\nimport './style.scss';\n\nexport interface FloatingCardProps {\n disabled?: boolean;\n}\n\n@Component({ name: 'floating-card' })\nexport class FloatingCard extends TSXComponent {\n @Prop({ type: Boolean, default: false })\n disabled!: boolean;\n\n render() {\n const { $attrs, $listeners, $slots } = this;\n const props: VNodeData = {\n class: {\n 'floating-card': true,\n 'is-disabled': this.disabled,\n },\n attrs: $attrs,\n on: $listeners\n };\n return (\n
\n {$slots.default}\n
\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport { Grid, Skeleton } from '@ohu-mobile/core';\nimport Component from 'vue-class-component';\n\n@Component({ name: 'tree-skeleton' })\nexport class TreeSkeleton extends TSXComponent {\n render() {\n return (\n \n {\n new Array(5).fill('').map(() => (\n \n \n \n ))\n }\n \n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport './style.scss';\n\n@Component({ name: 'simple-table' })\nexport class SimpleTable extends TSXComponent {\n render() {\n return (\n
\n
\n \n {this.$slots.default}\n
\n
\n
\n );\n }\n}\n","import { VuexModule, Module, getModule, Action } from 'vuex-module-decorators';\nimport { GetAdvertParams, getAdvert } from '../../api';\nimport store from '@/store';\nimport { Cache } from '../utils/cache';\nimport { local } from '../utils/storage';\n\n\n@Module({ name: 'advert', namespaced: true, store, dynamic: true })\nclass Advert extends VuexModule {\n @Action\n @Cache({ timeout: 1000 * 60 * 10 })\n public async getAdvert(params: GetAdvertParams) {\n const res = await getAdvert(params);\n if (!res.success) {\n throw new Error(res.msg);\n }\n return res;\n }\n\n @Action\n public async immediateGetAdvert(params: GetAdvertParams) {\n const res = await getAdvert(params);\n if (!res.success) {\n throw new Error(res.msg);\n }\n return res;\n }\n\n @Action\n public async clearCache() {\n const keys: string[] = [];\n local.each((_, n) => {\n if (n !== 'token') {\n keys.push(n);\n }\n });\n keys.forEach((key) => {\n local.remove(key);\n });\n }\n}\n\n\nexport const AdvertModule = getModule(Advert);\n","/**\n * 专业选择器\n */\n\nimport Component from 'vue-class-component';\nimport TSXComponent from '@/utils/tsx-component';\nimport { Select, TreeNode } from '@ohu-mobile/core';\nimport loadDataBeforeOpen from '../utils/load-data-before-open';\nimport MajorMultiSelect from './major-multi-select';\nimport loadMajorData from './load-major-data';\nimport { Prop } from 'vue-property-decorator';\n\nexport interface MajorSelectProps {\n hasLevel?: boolean;\n forceLevel?: number;\n}\n\nexport interface MajorSelectEvents {\n onChange: {\n professionQueryMode: '1' | '2';\n professionName?: string;\n professionId?: string[];\n };\n}\n\n@Component({ name: 'major-select' })\nexport default class MajorSelect extends TSXComponent {\n\n @Prop({ type: Boolean, default: false })\n public hasLevel!: boolean;\n @Prop({ type: Number })\n public forceLevel!: number;\n\n private treeData: TreeNode[] = [];\n private labelValue = '';\n private opened = false;\n\n render() {\n return (\n {\n if (!args) {\n this.labelValue = '';\n }\n }}\n fullScreen\n beforeOpen={loadDataBeforeOpen(() => {\n return loadMajorData();\n }, (data: TreeNode[]) => {\n this.treeData = data;\n })}\n allowClear\n onShow={() => {\n setTimeout(() => {\n this.opened = true;\n }, 100);\n }}\n scopedSlots={{\n control: () => {\n if (!this.labelValue) { return 请选择专业; }\n return this.labelValue;\n },\n content: ({ handleChange, value }) => {\n return (\n this.opened ?\n {\n if (!event) {\n return handleChange(undefined, { label: '' });\n }\n const label = event.professionQueryMode === '1' ? event.professionName : event.professionLabel;\n this.labelValue = label || '';\n handleChange(event, { label, value: event.professionQueryMode });\n }} />\n : ''\n )\n },\n }} />\n );\n }\n}\n","import { Toast } from '@ohu-mobile/core';\n\nexport default function loadDataBeforeOpen(loadFunc: () => Promise, onLoaded: (data: any) => void) {\n let loading = false;\n let initLoaded = false;\n return async () => {\n if (loading) { return false; }\n if (initLoaded) { return true; }\n Toast.loading('正在加载');\n loading = true;\n try {\n const data = await loadFunc();\n initLoaded = true;\n onLoaded(data);\n } catch (error) {\n Toast.info(error.message);\n return false;\n } finally {\n loading = false;\n }\n Toast.hide();\n return true;\n };\n}\n","import { Module, VuexModule, getModule, Action, Mutation } from 'vuex-module-decorators';\nimport store from '@/store';\nimport Vue from 'vue';\nimport { AcademyProfessionListItem, queryUserWishList, QueryUserWishListBody, addUserWish, GetWishListItem, deleteUserWish, sortUserWish, addUserFavorite, deleteUserFavorite, queryUserFavorites, QueryUserFavoritesBody, Pagination, GetProfessionListBody, getProfessionList, getWishList, GetWishListBody, GetAcademyProfessionListBody, getAcademyProfessionList, getWishList2, GetWishList2Body, getWishList2Test } from '../../api';\n\nexport type WishItem = AcademyProfessionListItem & GetWishListItem;\n\ninterface PoolElement {\n data: WishItem;\n ref: number;\n}\n\ninterface AddItem {\n pk: string;\n item: WishItem;\n}\n\ninterface UpdateItem {\n pk: string | string[];\n item?: Partial;\n ref?: number;\n}\n\ninterface SortItem {\n from: string | string[];\n to: string;\n}\n\ninterface GetListParams {\n name: string;\n query: T;\n}\n\ninterface SaveToListMapParams extends GetListParams {\n list: WishItem[];\n}\n\n\nfunction pkNum(pk: string | string[]) {\n if (pk instanceof Array) { return pk.length; }\n return 1;\n}\n\n@Module({ name: 'wish-list', store, namespaced: true, dynamic: true })\nclass WishList extends VuexModule {\n\n\n public wishPool: Record = {};\n\n public listMap: Record = {};\n\n\n public wishNum = 0;\n\n\n get wish() {\n return (pk: string) => {\n return this.wishPool[pk]?.data;\n };\n }\n\n @Mutation\n public updateWishNum(num: number) {\n this.wishNum = num;\n }\n\n @Mutation\n public removeListInMap(name: string) {\n delete this.listMap[name];\n }\n\n @Action\n public removeList(name: string) {\n const list = this.listMap[name];\n if (!list) { return; }\n this.batchRemove(list);\n this.removeListInMap(name);\n }\n\n @Mutation\n public saveToListMap({ name, query, list }: SaveToListMapParams) {\n const listItem = this.listMap[name];\n if (!listItem) { this.listMap[name] = []; }\n if (list.length === 0) { return; }\n const pool: Record = {};\n const listKeys = list.map((item) => {\n const element = this.wishPool[item.professionPK];\n if (element) {\n pool[item.professionPK] = Object.assign({}, element, { ref: element.ref + 1 });\n } else {\n pool[item.professionPK] = {\n data: item,\n ref: 1,\n };\n }\n return item.professionPK;\n });\n this.wishPool = {\n ...this.wishPool,\n ...pool,\n };\n if (query.pageNumber === 1) {\n this.listMap = {\n ...this.listMap,\n [name]: listKeys,\n };\n Vue.set(this.listMap, name, listKeys);\n } else {\n listItem.push(...listKeys);\n this.listMap = {\n ...this.listMap,\n [name]: listItem,\n };\n }\n }\n\n @Mutation public batchRemove(pks: string[]) {\n const newPool: Record = {\n ...this.wishPool,\n };\n pks.forEach((pk) => {\n const el = this.wishPool[pk];\n if (el) {\n const { ref } = el;\n if (ref <= 1) {\n delete newPool[pk];\n } else {\n newPool[pk] = Object.assign(\n {},\n el,\n { ref: ref - 1 },\n );\n }\n }\n });\n this.wishPool = newPool;\n }\n\n @Mutation\n public removeFromPool(pk: string) {\n const element = this.wishPool[pk];\n if (element) {\n const { ref } = element;\n if (ref <= 1) {\n delete this.wishPool[pk];\n } else {\n this.wishPool = {\n ...this.wishPool,\n [pk]: Object.assign(\n {},\n element,\n { ref: ref - 1 },\n ),\n };\n }\n }\n }\n\n @Mutation\n public updatePoolElement({ pk, item, ref }: UpdateItem) {\n const pks = pk instanceof Array ? pk : [pk];\n const updateElements = {} as Record;\n pks.reduce((acc, p) => {\n const element = this.wishPool[p];\n if (element) {\n const newItem = Object.assign({}, element.data, item);\n acc[p] = Object.assign({}, element, {\n data: newItem,\n ref: ref !== undefined ? element.ref + ref : element.ref,\n });\n }\n return acc;\n }, updateElements);\n this.wishPool = {\n ...this.wishPool,\n ...updateElements,\n };\n }\n\n @Mutation\n public addToPool({pk, item}: AddItem) {\n const element = this.wishPool[pk];\n if (!element) {\n this.wishPool = {\n ...this.wishPool,\n [pk]: { ref: 1, data: item },\n };\n return;\n }\n const { ref } = element;\n const newItem = Object.assign({}, element.data, item);\n this.wishPool = {\n ...this.wishPool,\n [pk]: { ref: ref + 1, data: newItem },\n };\n }\n\n\n // ======================= 志愿操作 =======================\n\n\n @Action\n public addToWish({ pk }: UpdateItem) {\n this.updatePoolElement({ pk, item: { isAddToVolunteerList: '1' }, ref: 1 });\n this.updateWishNum(this.wishNum + pkNum(pk));\n this.addWishList(pk instanceof Array ? pk : [pk]);\n }\n\n @Mutation public addWishList(keys: string[]) {\n const list = this.listMap['wish-list'];\n this.listMap = {\n ...this.listMap,\n 'wish-list': !list ? keys : list.concat(keys),\n };\n }\n\n @Mutation public removeWishList(keys: string[]) {\n const list = this.listMap['wish-list'];\n if (!list) { return; }\n this.listMap = {\n ...this.listMap,\n 'wish-list': list.filter((item) => keys.indexOf(item) < 0),\n };\n }\n\n // 删除多个志愿\n @Action\n public async removeWish(pk: string | string[]) {\n const res = await deleteUserWish(pk);\n if (res.success) {\n this.updatePoolElement({ pk, item: { isAddToVolunteerList: '0' }, ref: -1 });\n this.updateWishNum(this.wishNum - pkNum(pk));\n this.removeWishList(pk instanceof Array ? pk : [pk]);\n }\n return res;\n }\n\n // 添加志愿\n @Action\n public async addWish({pk, item}: UpdateItem) {\n const res = await addUserWish(pk instanceof Array ? pk : [pk]);\n if (res.success) {\n this.addToWish({ pk, item });\n }\n return res;\n }\n\n\n get wishList() {\n return (this.listMap['wish-list'] || []).reduce((acc, key) => {\n const element = this.wishPool[key];\n if (element) {\n const { data } = element;\n acc.push(data);\n }\n return acc;\n }, [] as WishItem[]);\n }\n\n // 获取最新志愿列表\n @Action\n public async getWishList(query: QueryUserWishListBody) {\n const res = await queryUserWishList(query);\n if (res.success) {\n this.saveToListMap({ name: 'wish-list', query, list: res.result as WishItem[] });\n }\n return res;\n }\n\n @Mutation\n public sortWishList({ from, to }: SortItem) {\n const fromKeys = typeof from === 'string' ? [from] : from;\n const list = this.listMap['wish-list'];\n if (!list) {\n return;\n }\n const leftKeys: string[] = [];\n list.forEach((item) => {\n if (fromKeys.indexOf(item) < 0) {\n leftKeys.push(item);\n }\n });\n\n const toIndex = leftKeys.indexOf(to);\n if (toIndex < 0) { return; }\n leftKeys.splice(toIndex + 1, 0, ...fromKeys);\n this.listMap = {\n ...this.listMap,\n ['wish-list']: leftKeys,\n };\n }\n\n\n // \b调整顺序\n @Action\n public async moveWish({from, to}: SortItem) {\n const res = await sortUserWish({ professionPKArray: from, position: to });\n if (res.success) {\n this.sortWishList({ from, to });\n }\n return res;\n }\n // ======================= 收藏操作 =======================\n\n @Action\n public addFavorite({ pk }: UpdateItem) {\n this.updatePoolElement({ pk, item: { isCollect: '1'} });\n }\n\n // 添加到收藏\n @Action\n public async addFav({ pk }: UpdateItem) {\n const res = await addUserFavorite(pk instanceof Array ? pk : [pk]);\n if (res.success) {\n this.addFavorite({ pk });\n }\n return res;\n }\n\n // 删除收藏\n @Action\n public async removeFav(pk: string) {\n const res = await deleteUserFavorite([pk]);\n if (res.success) {\n this.updatePoolElement({ pk, item: { isCollect: '0' } });\n }\n return res;\n }\n\n\n // 获取最新收藏列表\n @Action\n public async getFavList({ name, query }: GetListParams) {\n const res = await queryUserFavorites(query);\n if (res.success) {\n this.saveToListMap({ name, query, list: res.result as WishItem[] });\n }\n return res;\n }\n\n @Action\n public async getProfessionList({ name, query }: GetListParams) {\n const res = await getProfessionList(query);\n if (res.success) {\n this.saveToListMap({ name, query, list: res.result as WishItem[] });\n }\n return res;\n }\n\n @Action\n public async getApplyMatchingList({ name, query }: GetListParams) {\n const res = await getWishList2(query);\n if (res.success) {\n const { wishList } = res.result;\n this.saveToListMap({ name, query, list: wishList as WishItem[] });\n }\n return res;\n }\n\n @Action\n public async getAcademyProfessionList({ name, query }: GetListParams) {\n const res = await getAcademyProfessionList(query);\n if (res.success) {\n this.saveToListMap({ name, query, list: res.result as WishItem[] });\n }\n return res;\n }\n\n}\n\nexport const wishListModule = getModule(WishList);\n","import { IconDef } from '@ohu-mobile/core';\n\nconst CircleAddFilled: IconDef = {\n name: 'circle-add',\n theme: 'filled',\n attrs: {\n viewBox: '0 0 20 20',\n },\n children: '',\n};\n\nexport default CircleAddFilled;\n\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport AreaTreeSelect from '@/components/select/area-select/area-tree-select';\nimport { Prop } from 'vue-property-decorator';\nimport { TreeNode, Loading } from '@ohu-mobile/core';\nimport loadData from '@/components/select/area-select/load-area-data';\nimport './index.scss';\n\nexport interface DropAreaSelectProps {\n value?: string[];\n}\n\nexport interface DropAreaSelectEvents {\n onChange: string[];\n}\n\n@Component({ name: 'drop-area-select' })\nexport default class DropAreaSelect extends TSXComponent {\n @Prop({ type: Array })\n public value!: string[];\n\n public treeData: TreeNode[] = [];\n public loading = false;\n public async created() {\n this.loading = true;\n const data = await loadData();\n this.treeData = data;\n this.loading = false;\n }\n public render() {\n const [province, city] = this.value || [];\n return (\n
\n {\n this.loading\n ? \n : {\n if (!(option instanceof Array)) {\n this.$emit('change', option.value);\n }\n }} />\n }\n
\n );\n }\n}\n","import TSXComponent from '@/utils/tsx-component';\nimport Component from 'vue-class-component';\nimport { Tabs, Tab, Form, Input, Divider, Button, Grid, Icon, TreeNode, RadioGroup, Skeleton, TreeSelect, RadioTag, InternalTreeNode, Toast, Tag, Dialog } from '@ohu-mobile/core';\nimport { Prop, Watch } from 'vue-property-decorator';\nimport { ErrorWarningOutlined, AddOutlined } from '@ohu-mobile/icons';\nimport loadMajorData from '../major-select/load-major-data';\nimport { Label } from '../../action-container';\nimport './multi-major-select.scss';\nimport EditTags from '../../edit-tags';\n\n\nexport interface MultiMajorSelectProps {\n options?: Array>;\n levels: TreeNode[];\n queryMode?: string;\n name?: string;\n professionLevel?: string;\n}\n\nexport interface MultiMajorSelectEvents {\n onChange: MultiMajorSelectChangeEvent;\n onTabChange: '1' | '2';\n}\n\nconst professionLevels = [\n { label: '全部', value: '0' },\n { label: '本科', value: '1' },\n { label: '专科', value: '2' },\n];\n\nexport type MultiMajorSelectLabel = Label;\n\nexport interface MultiMajorSelectChangeEvent {\n professionQueryMode?: '1' | '2';\n professionName?: Array>;\n professionId?: Array>;\n professionLevel?: string;\n}\n\n@Component({ name: 'multi-major-select' })\nexport default class MultiMajorSelect extends TSXComponent {\n @Prop({ type: Array })\n public levels!: TreeNode[];\n @Prop({ type: String, required: false, default: '1' })\n public queryMode!: string;\n @Prop({ type: String, required: false, default: '' })\n public name!: string;\n @Prop({ type: Array })\n public options!: Array>;\n @Prop({ type: String, default: '0' })\n public professionLevel!: string;\n\n public currentQueryMode = this.queryMode === '1' ? 0 : 1;\n public currentLevel: TreeNode = Object.assign({}, this.levels[0]);\n public currentProfessionLevel = this.professionLevel;\n\n public inputValue = this.name;\n\n\n public treeData: TreeNode[] = [];\n public reloading = false;\n\n\n public internalNameValue: Array> = [];\n public internalListValue: Array> = [];\n\n get currentProfessionQueryMode() {\n return this.currentQueryMode === 0 ? '1' : '2';\n }\n\n get currentTreeSelectValue() {\n return this.internalListValue.map((item) => {\n return item.value[item.value.length - 1];\n });\n }\n\n\n @Watch('queryMode')\n public onQueryModeChange(cur: string) {\n this.currentQueryMode = cur === '1' ? 0 : 1;\n }\n\n @Watch('name')\n public onNameChange(name: string) {\n this.inputValue = name;\n }\n\n @Watch('professionLevel')\n public onProfessionLevelChange(cur: string) {\n this.currentProfessionLevel = cur;\n }\n\n @Watch('options', { immediate: true })\n public onOptionsChange(options: Array>) {\n if (this.currentQueryMode === 0) {\n this.internalNameValue = options;\n } else {\n this.internalListValue = options;\n }\n }\n\n // =================== 事件处理 ========================\n\n public onTabsChange(value: number) {\n this.currentQueryMode = value;\n this.$emit('tabChange', this.currentProfessionQueryMode);\n this.emitChange();\n }\n public onLabelChange(labels: Label[]) {\n this.internalNameValue = labels;\n this.emitChange();\n }\n\n public emitChange() {\n let event: MultiMajorSelectChangeEvent;\n if (this.currentProfessionQueryMode === '1') {\n event = {\n professionQueryMode: this.currentProfessionQueryMode,\n professionLevel: this.currentProfessionLevel,\n professionName: this.internalNameValue,\n };\n } else {\n event = {\n professionQueryMode: this.currentProfessionQueryMode,\n professionId: this.internalListValue,\n };\n }\n this.$emit('change', event);\n }\n\n\n // ================= 初始加载 ===================\n public async reloadTreeSelect() {\n this.reloading = true;\n const treeNodes = await loadMajorData(this.currentLevel as InternalTreeNode);\n this.treeData = treeNodes;\n this.reloading = false;\n }\n\n public getCurrentLevel(v: string) {\n return this.levels.find(({ value }) => value === v);\n }\n\n public async mounted() {\n this.reloadTreeSelect();\n }\n\n public render() {\n return (\n this.onTabsChange(value as number)}>\n \n
\n
\n 专业层次:\n {\n this.currentProfessionLevel = value;\n this.emitChange();\n }}>\n {\n professionLevels.map((item) => (\n \n {item.label}\n \n ))\n }\n \n
\n
\n \n
\n \n 您可添加0-5个专业名称关键词\n
\n
\n
\n \n
0,\n }}>\n
\n 专业层次:\n {\n this.levels.length > 0\n &&\n {\n this.currentLevel = Object.assign({}, attach);\n this.reloadTreeSelect();\n }}>\n {\n this.levels.map((item) => (\n \n {item.title}\n \n ))\n }\n \n }\n
\n
\n \n {\n const selected = value.indexOf(node.value) >= 0;\n const values = path.map((node) => node.value);\n const professionId = [this.currentLevel.value].concat(values);\n if (selected) {\n this.internalListValue.push({ label: node.title || '', value: professionId });\n } else {\n const index = this.internalListValue.findIndex((i) => i.value[i.value.length - 1] === node.value);\n this.internalListValue.splice(index, 1);\n }\n this.emitChange();\n }} />\n \n
\n
\n \n );\n }\n}\n","import type { TrinityUserInfo, UserInfo, ZsbUserInfo } from 'server-api';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport duration from 'dayjs/plugin/duration';\ndayjs.extend(customParseFormat);\ndayjs.extend(duration);\n\nexport function getSaveTip(info?: UserInfo | ZsbUserInfo | TrinityUserInfo | null, disabledTip = '当前账号不允许保存') {\n if (!info) return '';\n if (info.setScoreMode === '0') {\n return disabledTip;\n } else if (info.setScoreMode === '1') {\n if (!info.setScoreTime) return '';\n const deadline = dayjs(info.setScoreTime, 'YYYY/M/D HH:mm:ss')\n .add(+info.setScoreMinFrequency, 's');\n const current = dayjs();\n if (current.isAfter(deadline)) return '';\n let secondsLeft = '';\n const seconds = dayjs.duration(deadline.diff(current));\n if (seconds.hours() > 0) {\n secondsLeft = seconds.format('HH时mm分ss秒');\n } else {\n secondsLeft = seconds.format('mm分ss秒');\n }\n return `您的最近一次保存时间为${info.setScoreTime},还剩${secondsLeft}即可再次保存`;\n } else {\n return `您已保存了${info.setScoreCount}次,还可以保存${(+info.setScoreMaxCount) - (+info.setScoreCount)}次`\n }\n}\n"],"sourceRoot":""}