From a59d9c74c5b26c9540bbb4f19eb6804ed7bb353e Mon Sep 17 00:00:00 2001 From: 王强 Date: Fri, 10 Feb 2023 15:31:06 +0800 Subject: [PATCH] 优化 学习项目设置,选择题库对接适用范围,并对接接口; --- src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts | 3 ++- src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx | 42 +++++++++++++++++++++++++++++++++++++----- src/pages/ehr/ProgramOfStudy/Settings/store.ts | 4 ++-- src/pages/ehr/ProgramOfStudy/api.ts | 15 ++++++++++++++- 4 files changed, 55 insertions(+), 9 deletions(-) diff --git a/src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts b/src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts index 0e8d47d..e3b65a2 100644 --- a/src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts +++ b/src/pages/ehr/ProgramOfStudy/QuestionBank/interface.d.ts @@ -1,7 +1,7 @@ /* * @Date: 2021-02-24 09:57:33 * @LastEditors: wangqiang@feewee.cn - * @LastEditTime: 2023-02-09 17:42:00 + * @LastEditTime: 2023-02-10 14:49:06 */ declare namespace QuestionBank { interface QueryParams { @@ -11,6 +11,7 @@ declare namespace QuestionBank { scopeType?: number; // 适配范围 1通用 2部分 roleCode?: string; // 角色码 adapterType?: number; // 适配类型 1品牌 2车系 3门店 4通用 + adapterIds?: string; // ids ,分割 adapterId?: number; adapterName?: string; } diff --git a/src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx b/src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx index 1f39061..f9ec2a0 100644 --- a/src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx +++ b/src/pages/ehr/ProgramOfStudy/Settings/components/Modal.tsx @@ -30,7 +30,7 @@ import { getStudyDetailApi, } from "../api"; import moment, { Moment } from "moment"; -import { cloneDeepWith } from "lodash"; +import { cloneDeep } from "lodash"; export default function ProgramOfStudySettingsModal() { const { @@ -59,6 +59,23 @@ export default function ProgramOfStudySettingsModal() { api(current.id) .then((res) => { tempItem.current = res.data; + + // 查询题库列表 + questionBankInitial.setParams( + { + standardId: res.data?.typeId, + adapterType: res.data?.adapterType, + adapterIds: res.data?.adapterList + ?.map((adapter) => adapter.adapterId) + .join(","), + scopeType: res.data?.roleRangeType, + roleCode: res.data?.roleRangeList + ?.map((role) => role.roleCode) + .join(","), + }, + true + ); + form.setFieldsValue({ ...res.data, adapter: { @@ -156,9 +173,10 @@ export default function ProgramOfStudySettingsModal() { return message.error("考试和实操至少需要一个"); } const params: EHrProgramOfStudySettings.ListVO = { - id: listType === "列表" ? undefined : current?.id, + id: listType === "列表" ? undefined : tempItem.current?.id, // referId: submitType.current === "draft" ? (current?.referId || current?.id) : current?.id, - referId: listType === "列表" ? current?.id : current?.referId, + referId: + listType === "列表" ? tempItem.current?.id : tempItem.current?.referId, name: val.name, typeId: val.typeId, roleRangeType: val?.rangeRole?.type, @@ -196,8 +214,8 @@ export default function ProgramOfStudySettingsModal() { tempItem.current && !(listType === "草稿" && submitType.current === "save") ) { - const _p = cloneDeepWith(params), - _c = cloneDeepWith(tempItem.current); + const _p = cloneDeep(params), + _c = cloneDeep(tempItem.current); delete _p.id; delete _p.referId; delete _p.draft; @@ -242,6 +260,7 @@ export default function ProgramOfStudySettingsModal() { onCancel={() => setVisible(false)} afterClose={() => { form.resetFields(); + tempItem.current = undefined; setCureent(undefined); setIsView(false); }} @@ -331,6 +350,19 @@ export default function ProgramOfStudySettingsModal() { message: "请选择适用范围", }, ]} + getValueFromEvent={(value?: { + type?: number; + list?: { value?: string; label?: string }[]; + }) => { + questionBankInitial.setParams( + { + adapterType: value?.type, + adapterIds: value?.list?.map((item) => item.value).join(","), + }, + true + ); + return value; + }} > diff --git a/src/pages/ehr/ProgramOfStudy/Settings/store.ts b/src/pages/ehr/ProgramOfStudy/Settings/store.ts index 37a11d9..a38e08d 100644 --- a/src/pages/ehr/ProgramOfStudy/Settings/store.ts +++ b/src/pages/ehr/ProgramOfStudy/Settings/store.ts @@ -2,18 +2,18 @@ * @Author: wangqiang@feewee.cn * @Date: 2022-11-19 10:58:19 * @LastEditors: wangqiang@feewee.cn - * @LastEditTime: 2022-12-09 16:08:36 + * @LastEditTime: 2023-02-10 14:50:19 */ import useInitial from "@/hooks/useInitail"; import usePagination from "@/hooks/usePagination"; import { AbilitDraftType, + getQuestionBankSelectListApi, getUserAbilityTypeListApi, } from "@/pages/ehr/ProgramOfStudy/api"; import { useEffect, useMemo, useRef, useState } from "react"; import { getStudyListApi, checkStudyCanEditApi } from "./api"; import { getAbilityDraftListApi } from "../api"; -import { getQuestionBankSelectListApi } from "@/pages/ehr/StandardSetting/ExamSetting/api"; import { Form, message } from "antd"; // 使用角色类型 1全部角色 2部分角色 diff --git a/src/pages/ehr/ProgramOfStudy/api.ts b/src/pages/ehr/ProgramOfStudy/api.ts index d134683..b85c3af 100644 --- a/src/pages/ehr/ProgramOfStudy/api.ts +++ b/src/pages/ehr/ProgramOfStudy/api.ts @@ -2,7 +2,7 @@ * @Author: wangqiang@feewee.cn * @Date: 2022-11-30 14:34:52 * @LastEditors: wangqiang@feewee.cn - * @LastEditTime: 2022-11-30 15:32:26 + * @LastEditTime: 2023-02-10 14:50:23 */ /* * @Author: wangqiang@feewee.cn @@ -37,3 +37,16 @@ export function getAbilityDraftListApi( ): http.PromisePageResp { return request.get(`${ABILITY_HOST}/erp/ability/draft/list`, { params }); } + +/** + * @description: 题库选择列表(标准中选择题库) + * @param {ExamSetting.QuestionBankSelectParams} params + * @return {common.Page} + */ +export function getQuestionBankSelectListApi( + params: QuestionBank.QueryParams +): http.PromiseRespA { + return request.get(`${ABILITY_HOST}/erp/question/choose/factory/list`, { + params, + }); +} -- libgit2 0.22.2