| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- import type {ApiResponse, ApiResponseList, DictItem, News} from "@/types";
- import flyio from "../flyio";
- import {
- EnrollRule,
- VoluntaryRecord,
- VoluntaryResult,
- SelectedUniversityMajor
- } from "@/types/voluntary";
- // import {sleep} from "@/uni_modules/uv-ui-tools/libs/function";
- export function getRenderRules(um: SelectedUniversityMajor) {
- // return new Promise(async (resolve, reject) => {
- // await sleep(300)
- // const mock: EnrollRule[] = [{
- // category: '文化素质',
- // content: '语数物300分',
- // details: [{
- // defaultValue: 80,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '语',
- // label: '语文',
- // options: ['100'],
- // readonly: false,
- // }, {
- // defaultValue: 80,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '数',
- // label: '数学',
- // options: ['100'],
- // readonly: false,
- // }, {
- // defaultValue: 80,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '物',
- // label: '物理',
- // options: ['100'],
- // readonly: false,
- // }]
- // }, {
- // category: '职业技能',
- // content: '职业技能300分',
- // details: [{
- // defaultValue: 80,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '技',
- // label: '技能',
- // options: ['200'],
- // readonly: false,
- // }, {
- // defaultValue: 80,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '职',
- // label: '职业适应',
- // options: ['100'],
- // readonly: false,
- // }]
- // }]
- // resolve({code: 200, data: mock})
- // })
- // 普通高中,EnrollRuleItem.readonly=true 取学考成绩
- const {universityId, majorId} = um
- return flyio.post('/voluntary/getRenderRules', {universityId, majorId}) as Promise<ApiResponse<EnrollRule[]>>
- }
- export function getSkillRules(um: SelectedUniversityMajor) {
- // return new Promise(async (resolve, reject) => {
- // await sleep(300)
- // const mock: EnrollRule[] = [{
- // category: '文化素质',
- // content: '语数物300分',
- // details: [{
- // defaultValue: 67,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '语',
- // label: '语文',
- // options: ['100'],
- // readonly: false,
- // }, {
- // defaultValue: 78,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '数',
- // label: '数学',
- // options: ['100'],
- // readonly: false,
- // }, {
- // defaultValue: 90,
- // enumInputType: 'Score',
- // enumRuleCategory: 'Enroll',
- // fieldName: '物',
- // label: '物理',
- // options: ['100'],
- // readonly: false,
- // }]
- // }, {
- // category: '职业技能',
- // content: '职业技能300分',
- // details: []
- // }]
- // resolve({code: 200, data: mock})
- // })
- // EnrollRule 需要返回文化+职业,但职业EnrollRule.details = []不需要返回字段规则
- const {universityId, majorId} = um
- return flyio.post('/voluntary/getSkillRules', {universityId, majorId}) as Promise<ApiResponse<EnrollRule[]>>
- }
- export function postRenderRules(target: SelectedUniversityMajor, model: Record<string, any>) {
- // return new Promise(async (resolve, reject) => {
- // await sleep(300)
- // const mock: Partial<VoluntaryResult> = {
- // ...target,
- // "enumPickType": "Danger",
- // "enrollRate": 66,
- // "enrollRateText": '风险极高',
- // "histories": [{
- // "year": '2025',
- // "score": null, // 最低分
- // "plan": 5, // 计划人数
- // "enroll": 5, // 录取人数
- // "diff": -12, // 负表示低于录取分;正数表示高于录取分
- // "ruleContent": '完整的说明', // 招录规则
- // "application": 3.3, // 报名人数比值
- // "admission": 1 // 计划人数比值
- // }, {
- // "year": '2024',
- // "score": null, // 最低分
- // "plan": 5, // 计划人数
- // "enroll": 5, // 录取人数
- // "diff": -12, // 负表示低于录取分;正数表示高于录取分
- // "ruleContent": '完整的说明', // 招录规则
- // "application": 3.3, // 报名人数比值
- // "admission": 1 // 计划人数比值
- // }, {
- // "year": '2023',
- // "score": null, // 最低分
- // "plan": 5, // 计划人数
- // "enroll": 5, // 录取人数
- // "diff": -12, // 负表示低于录取分;正数表示高于录取分
- // "ruleContent": '完整的说明', // 招录规则
- // "application": 3.3, // 报名人数比值
- // "admission": 1 // 计划人数比值
- // }],
- // "skill": {
- // year: '2025',
- // cultureScore: 233,
- // cultureRule: '语数物300分',
- // enrollScore: 496,
- // skillScore: 263, // 反向测技能分
- // diff: -44 // 负数表示低于skillScore,正数高于
- // }
- // }
- // resolve({code: 200, data: mock})
- // })
- const {universityId, majorId} = target
- return flyio.post('/voluntary/postRenderRules', {
- target: {universityId, majorId},
- model
- }) as Promise<ApiResponse<VoluntaryResult>>
- }
- export function postSkillRules(target: SelectedUniversityMajor, model: Record<string, any>) {
- // return new Promise(async (resolve, reject) => {
- // await sleep(300)
- // const mock: Partial<VoluntaryResult> = {
- // ...target,
- // "enumPickType": "Danger",
- // "enrollRate": 66,
- // "enrollRateText": '风险极高',
- // "skill": {
- // year: '2025',
- // cultureScore: 233,
- // cultureRule: '语数物300分',
- // enrollScore: 496,
- // skillScore: 263, // 反向测技能分
- // diff: -44 // 负数表示低于skillScore,正数高于
- // }
- // }
- // resolve({code: 200, data: mock})
- // })
- // VoluntaryResult.histories 不需要返回
- const {universityId, majorId} = target
- return flyio.post('/voluntary/postSkillRules', {
- target: {universityId, majorId},
- model
- }) as Promise<ApiResponse<VoluntaryResult>>
- }
- export function getVoluntaryList() {
- // return new Promise(async (resolve, reject) => {
- // await sleep(300)
- // const mock: VoluntaryRecord[] = [{
- // id: 1,
- // universityLogo: "https://mingxuejingbang.oss-cn-beijing.aliyuncs.com/ie/universityLog/e6027a8c35f7426592f161c47f336fe7.jpg",
- // universityId: '1',
- // universityName: "长沙民政职业技术学院",
- // majors: [{
- // majorId: "1",
- // majorName: "随便起名1",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "2",
- // majorName: "随便起名2",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "3",
- // majorName: "随便起名3",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }]
- // }, {
- // id: 2,
- // universityLogo: "https://mingxuejingbang.oss-cn-beijing.aliyuncs.com/ie/universityLog/ed33a51d6ffa43ff89d93337f4a4369e.jpg",
- // universityId: '2',
- // universityName: "湖南信息职业技术学院",
- // majors: [{
- // majorId: "1",
- // majorName: "随便起名1",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "2",
- // majorName: "随便起名2",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "3",
- // majorName: "随便起名3",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }]
- // }, {
- // id: 3,
- // universityLogo: "https://mingxuejingbang.oss-cn-beijing.aliyuncs.com/ie/universityLog/83386e105f03474b91d7c1824e81fa0c.jpg",
- // universityId: '3',
- // universityName: "湖南工业职业技术学院",
- // majors: [{
- // majorId: "1",
- // majorName: "随便起名1",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "2",
- // majorName: "随便起名2",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }, {
- // majorId: "3",
- // majorName: "随便起名3",
- // majorAncestors: "",
- // majorGroup: "专业组一"
- // }]
- // }]
- // resolve({code: 200, data: mock})
- // })
- // 此接口不分页,全部返回
- return flyio.get('/voluntary/getVoluntaryList') as Promise<ApiResponse<VoluntaryRecord[]>>
- }
- export function addVoluntary(data: Partial<SelectedUniversityMajor>) {
- // 注意合并,数量限制(1个院校6个?确认一下),
- const {universityId, majorId} = data
- return flyio.post('/voluntary/addVoluntary', {universityId, majorId})
- }
- export function removeVoluntaryByUniversity(universityId: string) {
- // 删除院校下的所有 // SelectedUniversityMajor.universityId
- return flyio.post('/voluntary/removeVoluntaryByUniversity/' + universityId)
- }
- export function removeVoluntaryByMajor(majorId: string) {
- // 删除指定专业,注意合并 // SelectedUniversityMajor.majorId
- return flyio.post('/voluntary/removeVoluntaryByMajor/' + majorId)
- }
- export function sortVoluntaryByMajor(universityId: string, majorIdList: string[]) {
- // 按传入专业id顺序,保存专业排序优先级
- return flyio.post('/voluntary/sortVoluntaryByMajor', {universityId, majorIdList})
- }
- export function sortVoluntaryByUniversity(universityIdList: string[]) {
- // 按传入院校id顺序,保存排序优先级
- return flyio.post('/voluntary/sortVoluntaryByUniversity', {universityIdList})
- }
- /**
- * 获取志愿填报规则
- * @returns
- */
- export function getVoluntaryRule() {
- return flyio.get('/front/news/getMainListV2') as Promise<ApiResponseList<News.Guide>>
- }
|