Commit a59d9c74c5b26c9540bbb4f19eb6804ed7bb353e
1 parent
9ee00993
优化 学习项目设置,选择题库对接适用范围,并对接接口;
Showing
4 changed files
with
55 additions
and
9 deletions
src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts
1 | 1 | /* |
2 | 2 | * @Date: 2021-02-24 09:57:33 |
3 | 3 | * @LastEditors: wangqiang@feewee.cn |
4 | - * @LastEditTime: 2023-02-09 17:42:00 | |
4 | + * @LastEditTime: 2023-02-10 14:49:06 | |
5 | 5 | */ |
6 | 6 | declare namespace QuestionBank { |
7 | 7 | interface QueryParams { |
... | ... | @@ -11,6 +11,7 @@ declare namespace QuestionBank { |
11 | 11 | scopeType?: number; // 适配范围 1通用 2部分 |
12 | 12 | roleCode?: string; // 角色码 |
13 | 13 | adapterType?: number; // 适配类型 1品牌 2车系 3门店 4通用 |
14 | + adapterIds?: string; // ids ,分割 | |
14 | 15 | adapterId?: number; |
15 | 16 | adapterName?: string; |
16 | 17 | } | ... | ... |
src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx
... | ... | @@ -30,7 +30,7 @@ import { |
30 | 30 | getStudyDetailApi, |
31 | 31 | } from "../api"; |
32 | 32 | import moment, { Moment } from "moment"; |
33 | -import { cloneDeepWith } from "lodash"; | |
33 | +import { cloneDeep } from "lodash"; | |
34 | 34 | |
35 | 35 | export default function ProgramOfStudySettingsModal() { |
36 | 36 | const { |
... | ... | @@ -59,6 +59,23 @@ export default function ProgramOfStudySettingsModal() { |
59 | 59 | api(current.id) |
60 | 60 | .then((res) => { |
61 | 61 | tempItem.current = res.data; |
62 | + | |
63 | + // 查询题库列表 | |
64 | + questionBankInitial.setParams( | |
65 | + { | |
66 | + standardId: res.data?.typeId, | |
67 | + adapterType: res.data?.adapterType, | |
68 | + adapterIds: res.data?.adapterList | |
69 | + ?.map((adapter) => adapter.adapterId) | |
70 | + .join(","), | |
71 | + scopeType: res.data?.roleRangeType, | |
72 | + roleCode: res.data?.roleRangeList | |
73 | + ?.map((role) => role.roleCode) | |
74 | + .join(","), | |
75 | + }, | |
76 | + true | |
77 | + ); | |
78 | + | |
62 | 79 | form.setFieldsValue({ |
63 | 80 | ...res.data, |
64 | 81 | adapter: { |
... | ... | @@ -156,9 +173,10 @@ export default function ProgramOfStudySettingsModal() { |
156 | 173 | return message.error("考试和实操至少需要一个"); |
157 | 174 | } |
158 | 175 | const params: EHrProgramOfStudySettings.ListVO = { |
159 | - id: listType === "列表" ? undefined : current?.id, | |
176 | + id: listType === "列表" ? undefined : tempItem.current?.id, | |
160 | 177 | // referId: submitType.current === "draft" ? (current?.referId || current?.id) : current?.id, |
161 | - referId: listType === "列表" ? current?.id : current?.referId, | |
178 | + referId: | |
179 | + listType === "列表" ? tempItem.current?.id : tempItem.current?.referId, | |
162 | 180 | name: val.name, |
163 | 181 | typeId: val.typeId, |
164 | 182 | roleRangeType: val?.rangeRole?.type, |
... | ... | @@ -196,8 +214,8 @@ export default function ProgramOfStudySettingsModal() { |
196 | 214 | tempItem.current && |
197 | 215 | !(listType === "草稿" && submitType.current === "save") |
198 | 216 | ) { |
199 | - const _p = cloneDeepWith(params), | |
200 | - _c = cloneDeepWith(tempItem.current); | |
217 | + const _p = cloneDeep(params), | |
218 | + _c = cloneDeep(tempItem.current); | |
201 | 219 | delete _p.id; |
202 | 220 | delete _p.referId; |
203 | 221 | delete _p.draft; |
... | ... | @@ -242,6 +260,7 @@ export default function ProgramOfStudySettingsModal() { |
242 | 260 | onCancel={() => setVisible(false)} |
243 | 261 | afterClose={() => { |
244 | 262 | form.resetFields(); |
263 | + tempItem.current = undefined; | |
245 | 264 | setCureent(undefined); |
246 | 265 | setIsView(false); |
247 | 266 | }} |
... | ... | @@ -331,6 +350,19 @@ export default function ProgramOfStudySettingsModal() { |
331 | 350 | message: "请选择适用范围", |
332 | 351 | }, |
333 | 352 | ]} |
353 | + getValueFromEvent={(value?: { | |
354 | + type?: number; | |
355 | + list?: { value?: string; label?: string }[]; | |
356 | + }) => { | |
357 | + questionBankInitial.setParams( | |
358 | + { | |
359 | + adapterType: value?.type, | |
360 | + adapterIds: value?.list?.map((item) => item.value).join(","), | |
361 | + }, | |
362 | + true | |
363 | + ); | |
364 | + return value; | |
365 | + }} | |
334 | 366 | > |
335 | 367 | <SelectBrandOrSeries disabled={isView} mode="multiple" /> |
336 | 368 | </Form.Item> | ... | ... |
src/pages/ehr/ProgramOfStudy/Settings/store.ts
... | ... | @@ -2,18 +2,18 @@ |
2 | 2 | * @Author: wangqiang@feewee.cn |
3 | 3 | * @Date: 2022-11-19 10:58:19 |
4 | 4 | * @LastEditors: wangqiang@feewee.cn |
5 | - * @LastEditTime: 2022-12-09 16:08:36 | |
5 | + * @LastEditTime: 2023-02-10 14:50:19 | |
6 | 6 | */ |
7 | 7 | import useInitial from "@/hooks/useInitail"; |
8 | 8 | import usePagination from "@/hooks/usePagination"; |
9 | 9 | import { |
10 | 10 | AbilitDraftType, |
11 | + getQuestionBankSelectListApi, | |
11 | 12 | getUserAbilityTypeListApi, |
12 | 13 | } from "@/pages/ehr/ProgramOfStudy/api"; |
13 | 14 | import { useEffect, useMemo, useRef, useState } from "react"; |
14 | 15 | import { getStudyListApi, checkStudyCanEditApi } from "./api"; |
15 | 16 | import { getAbilityDraftListApi } from "../api"; |
16 | -import { getQuestionBankSelectListApi } from "@/pages/ehr/StandardSetting/ExamSetting/api"; | |
17 | 17 | import { Form, message } from "antd"; |
18 | 18 | |
19 | 19 | // 使用角色类型 1全部角色 2部分角色 | ... | ... |
src/pages/ehr/ProgramOfStudy/api.ts
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | * @Author: wangqiang@feewee.cn |
3 | 3 | * @Date: 2022-11-30 14:34:52 |
4 | 4 | * @LastEditors: wangqiang@feewee.cn |
5 | - * @LastEditTime: 2022-11-30 15:32:26 | |
5 | + * @LastEditTime: 2023-02-10 14:50:23 | |
6 | 6 | */ |
7 | 7 | /* |
8 | 8 | * @Author: wangqiang@feewee.cn |
... | ... | @@ -37,3 +37,16 @@ export function getAbilityDraftListApi( |
37 | 37 | ): http.PromisePageResp<EHrAbilityCommon.DraftVo> { |
38 | 38 | return request.get(`${ABILITY_HOST}/erp/ability/draft/list`, { params }); |
39 | 39 | } |
40 | + | |
41 | +/** | |
42 | + * @description: 题库选择列表(标准中选择题库) | |
43 | + * @param {ExamSetting.QuestionBankSelectParams} params | |
44 | + * @return {common.Page<QuestionBank.List>} | |
45 | + */ | |
46 | +export function getQuestionBankSelectListApi( | |
47 | + params: QuestionBank.QueryParams | |
48 | +): http.PromiseRespA<QuestionBank.List> { | |
49 | + return request.get(`${ABILITY_HOST}/erp/question/choose/factory/list`, { | |
50 | + params, | |
51 | + }); | |
52 | +} | ... | ... |