diff --git a/admin/config/config.ts b/admin/config/config.ts index a28c586..eb2efbb 100644 --- a/admin/config/config.ts +++ b/admin/config/config.ts @@ -176,6 +176,13 @@ export default defineConfig({ component: './examinationrules/attestation/step', hideInMenu: true, }, + { + name: '修改资质考试规则维护', + icon: 'smile', + path: '/examinationrules/attestation/step/:id', + component: './examinationrules/attestation/step', + hideInMenu: true, + }, ], }, { diff --git a/admin/src/pages/examinationrules/attestation/index.tsx b/admin/src/pages/examinationrules/attestation/index.tsx index 99483ab..c6841a6 100644 --- a/admin/src/pages/examinationrules/attestation/index.tsx +++ b/admin/src/pages/examinationrules/attestation/index.tsx @@ -10,8 +10,7 @@ import { BetaSchemaForm, ModalForm, ProFormText, ProFormTextArea } from '@ant-de import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; import ProDescriptions from '@ant-design/pro-descriptions'; import type { FormValueType } from './components/UpdateForm'; -import UpdateForm from './components/UpdateForm'; -import { queryTagList, saveExamination, removeExamination, queryRulesList } from '../service'; +import { querySubjectList, saveExamination, removeExamination, queryRulesList } from '../service'; import type { TableListItem, TableListPagination } from './data'; import type { DataItem } from '@antv/data-set/lib/transform/tag-cloud'; @@ -116,7 +115,7 @@ const ExaminationRules: React.FC = () => { valueType: 'text', hideInTable: false, hideInForm: false, - hideInSearch: false, + hideInSearch: true, }, { title: '考试时长', @@ -135,16 +134,40 @@ const ExaminationRules: React.FC = () => { hideInTable: false, hideInForm: false, hideInSearch: true, + + }, + { + title: '关联主题', + dataIndex: 'subject_id', + valueType: 'text', + hideInTable: true, + hideInForm: false, + hideInSearch: false, + request: async () => { + const { data: Items } = await querySubjectList({}); + // console.log(Items, ')))'); + + const sinfo = [] + for (let i = 0; i < Items.list.length; i++) { + // console.log(Items.list[i], ">>>") + sinfo.push({ label: Items.list[i].subject_name, value: Items.list[i].subject_id }) + } + console.log(sinfo, 'sinfo'); + + return sinfo; + }, }, { title: '创建日期', dataIndex: 'create_time', - valueType: 'text', + valueType: 'dateRange', sorter: false, hideInTable: false, hideInForm: false, hideInSearch: false, - // renderText: (val: string) => `${val}`, + render: (dom, entity) => { + return entity.create_time + }, }, { @@ -185,8 +208,7 @@ const ExaminationRules: React.FC = () => { { - handleUpdateModalVisible(true); - setCurrentRow(record); + history.push('/examinationrules/attestation/step/' + record.id) }} > 编辑 @@ -226,10 +248,15 @@ const ExaminationRules: React.FC = () => { history.push('/examinationrules/attestation/step') }} > - 新建考试 + 新建考试规则 , ]} request={async (value) => { + const { create_time } = value; + if (create_time) { + value.start_time = create_time[0] + value.end_time = create_time[1] + } const _data = await queryRulesList( { ...value, diff --git a/admin/src/pages/examinationrules/attestation/step/index.tsx b/admin/src/pages/examinationrules/attestation/step/index.tsx index 5f134d8..241cb84 100644 --- a/admin/src/pages/examinationrules/attestation/step/index.tsx +++ b/admin/src/pages/examinationrules/attestation/step/index.tsx @@ -1,5 +1,5 @@ import React, { useRef } from 'react'; -import { history, useParams } from 'umi'; +import { history, useParams, useRequest } from 'umi'; import type { ProFormInstance } from '@ant-design/pro-form'; import { ProFormRadio } from '@ant-design/pro-form'; import ProForm, { @@ -16,7 +16,7 @@ import { Button, Checkbox, Col, Divider, List, Menu, message, Radio, Row, Space, import { PageContainer } from '@ant-design/pro-layout'; import ProDescriptions from '@ant-design/pro-descriptions'; import styles from './index.less' -import { queryProvince, querySubjectList } from '../service'; +import { saveRules, querySubjectList, queryRulesView } from '../../service'; const waitTime = (time: number = 100) => { @@ -34,6 +34,18 @@ export default () => { const formRef = useRef(); const params = useParams(); console.log(params, 'params'); + let ruleData = {} + if (params.id) { + console.log(JSON.stringify(params), "878"); + + const { data } = useRequest(async () => { + const { bean } = await queryRulesView(params); + return { data: bean } + }); + ruleData = data + } + console.log(ruleData, 'ruleData'); + return ( @@ -63,47 +75,74 @@ export default () => { stepProps={{ description: false, }} - onFinish={async () => { - console.log(formRef.current?.getFieldsValue()); - await waitTime(2000); + onFinish={async (fileds) => { + if (params.id) { + fileds = { ...fileds, id: params.id } + } + console.log(fileds, 'fileds', params); + // return false + await saveRules({ + ...fileds, + b_use: 0, + rules_type: 1, + start_time: fileds.dateRange[0], + end_time: fileds.dateRange[1] + }); + + // await waitTime(2000); return true; + }} > - - - + - request={async () => { - return querySubjectList().then(({ data }) => { - console.log(data) - return data.list.map((item) => { - return { - label: item.subject_name, - value: item.subject_id, - }; - }); - }); - }} - rules={[{ required: true, message: '请选择主题' }]} - name="unusedMode" - label="关联主题" - /> - + { + return querySubjectList().then(({ data }) => { + console.log(data, 'querySubjectList') + return data.list.map((item) => { + return { + label: item.subject_name, + value: item.subject_id, + }; + }); + }); + }} + rules={[{ required: true, message: '请选择主题' }]} + name="subject_id" + label="关联主题" + /> + + + + + + )} diff --git a/admin/src/pages/examinationrules/normal/index.tsx b/admin/src/pages/examinationrules/normal/index.tsx index 6436c7c..26cf245 100644 --- a/admin/src/pages/examinationrules/normal/index.tsx +++ b/admin/src/pages/examinationrules/normal/index.tsx @@ -11,7 +11,7 @@ import type { ProDescriptionsItemProps } from '@ant-design/pro-descriptions'; import ProDescriptions from '@ant-design/pro-descriptions'; import type { FormValueType } from './components/UpdateForm'; import UpdateForm from './components/UpdateForm'; -import { queryTagList, saveExamination, removeExamination, queryRulesList } from '../service'; +import { querySubjectList, saveExamination, removeExamination, queryRulesList } from '../service'; import type { TableListItem, TableListPagination } from './data'; import type { DataItem } from '@antv/data-set/lib/transform/tag-cloud'; @@ -116,7 +116,7 @@ const ExaminationRules: React.FC = () => { valueType: 'text', hideInTable: false, hideInForm: false, - hideInSearch: false, + hideInSearch: true, }, { title: '考试时长', @@ -135,6 +135,28 @@ const ExaminationRules: React.FC = () => { hideInTable: false, hideInForm: false, hideInSearch: true, + + }, + { + title: '关联主题', + dataIndex: 'subject_id', + valueType: 'text', + hideInTable: true, + hideInForm: false, + hideInSearch: false, + request: async () => { + const { data: Items } = await querySubjectList({}); + // console.log(Items, ')))'); + + const sinfo = [] + for (let i = 0; i < Items.list.length; i++) { + // console.log(Items.list[i], ">>>") + sinfo.push({ label: Items.list[i].subject_name, value: Items.list[i].subject_id }) + } + console.log(sinfo, 'sinfo'); + + return sinfo; + }, }, { title: '创建日期', @@ -144,7 +166,9 @@ const ExaminationRules: React.FC = () => { hideInTable: false, hideInForm: false, hideInSearch: false, - renderText: (val: string) => `${val}`, + render: (dom, entity) => { + return entity.create_time + }, }, { @@ -170,7 +194,6 @@ const ExaminationRules: React.FC = () => { dataIndex: 'option', valueType: 'option', render: (_dom: any, record: React.SetStateAction) => { - console.log(record, 'record') return [ // { , ]} request={async (value) => { + console.log(value, 'form value') + const { create_time } = value; + if (create_time) { + value.start_time = create_time[0] + value.end_time = create_time[1] + } const _data = await queryRulesList( { ...value, rules_type: 0, + page_number: value.current, page_size: value.pageSize }