Commit a59d9c74c5b26c9540bbb4f19eb6804ed7bb353e

Authored by 王强
1 parent 9ee00993

优化 学习项目设置,选择题库对接适用范围,并对接接口;

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 +}
... ...