zhengpengju 4 years ago
commit e246b7e8f9

@ -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,
},
],
},
{

@ -11,9 +11,9 @@ 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, queryExaminationList } from '../service';
import { querySubjectList, saveExamination, removeExamination, queryExaminationList } from '../service';
import type { TableListItem, TableListPagination } from './data';
import { DataItem } from '@antv/data-set/lib/transform/tag-cloud';
import type { DataItem } from '@antv/data-set/lib/transform/tag-cloud';
import RegistrationList from '../registration';
/**
@ -108,7 +108,7 @@ const ExaminationList: React.FC = () => {
valueType: 'text',
hideInTable: false,
hideInForm: false,
hideInSearch: true,
hideInSearch: false,
},
{
title: '创建日期',
@ -116,29 +116,55 @@ const ExaminationList: React.FC = () => {
valueType: 'text',
sorter: false,
hideInTable: false,
hideInForm: false,
hideInForm: true,
hideInSearch: true,
renderText: (val: string) => `${val}`,
},
{
title: '报名开始日期',
title: '报名日期',
dataIndex: 'apply_start_time',
valueType: 'text',
valueType: 'datetimeRange',
sorter: false,
hideInTable: false,
hideInForm: false,
hideInSearch: true,
renderText: (val: string) => `${val}`,
render: (dom, entity) => {
return entity.apply_start_time + " - " + entity.apply_end_time;
},
},
{
title: '考试开始时间',
valueType: 'text',
title: '考试时间',
valueType: 'datetimeRange',
dataIndex: 'examination_start_time',
sorter: false,
hideInTable: false,
hideInForm: false,
hideInSearch: true,
renderText: (val: string) => `${val}`,
render: (dom, entity) => {
return entity.examination_start_time + " - " + entity.examination_end_time;
},
},
{
title: '关联1主题',
dataIndex: 'subject_id',
valueType: 'text',
hideInTable: true,
hideInForm: false,
hideInSearch: true,
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: '试卷数量',
@ -227,12 +253,26 @@ const ExaminationList: React.FC = () => {
</Button>,
]}
request={async (value) => {
const _data = await queryExaminationList(value);
const { create_time } = value;
if (create_time) {
value.start_time = create_time[0]
value.end_time = create_time[1]
}
const _data = await queryExaminationList(
{
...value,
page_number: value.current,
page_size: value.pageSize
}
);
console.log(_data, 'form _data')
return {
current: _data?.page_number,
data: _data?.data?.list,
pageSize: _data?.page_size,
total: _data?.total_row || 0,
current: _data?.pageNumber,
data: _data?.table_List,
pageSize: _data?.pageSize,
total: _data?.totalRow || 0,
};
}}
// dataSource={list}
@ -277,16 +317,36 @@ const ExaminationList: React.FC = () => {
}}
footer={null}
centered
>{ console.log('currentRow',currentRow)}
>{console.log('currentRow', currentRow)}
{currentRow?.name && (
<ProDescriptions<TableListItem>
column={2}
/* title={currentRow?.name} */
dataSource={currentRow}
/*
request={async () => ({
data: currentRow || {},
})}*/
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 getExaminationList(
{
...value,
rules_type: 0,
page_number: value.current,
page_size: value.pageSize
}
);
return {
current: _data?.pageNumber,
data: _data?.table_List,
pageSize: _data?.pageSize,
total: _data?.totalRow || 0,
};
}}
params={{
id: currentRow?.examination_id,
}}

@ -19,7 +19,7 @@ export async function queryExaminationList(
/** 页面的容量 */
page_size?: number;
success?: boolean;
}>('/api/zygh/training/examination/getExaminationList', {
}>('/dsideal_yy/zygh/training/examination/getExaminationList', {
method: 'GET',
params: {
...params,
@ -28,6 +28,22 @@ export async function queryExaminationList(
});
}
/**
*
* http://10.10.14.252:8080/workspace/myWorkspace.do?projectId=382#6426
* @param params
* @returns
*/
export async function querySubjectList(params: {
page_size: number;
//count: number;
}): Promise<{ data: { list: CardListItemDataType[] } }> {
return request('/dsideal_yy/ypt/careerTraining/subject/listSubject', {
params,
});
}
/** 获取证书列表 GET /dsideal_yy/zygh/training/examination/getExaminationList */
export async function queryCertificateList(
params: {

@ -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';
@ -111,12 +110,12 @@ const ExaminationRules: React.FC = () => {
width: 48,
},
{
title: '考试名称',
dataIndex: 'subject_name',
title: '规则名称',
dataIndex: 'rules_name',
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 = () => {
<a
key="update"
onClick={() => {
handleUpdateModalVisible(true);
setCurrentRow(record);
history.push('/examinationrules/attestation/step/' + record.id)
}}
>
@ -226,10 +248,15 @@ const ExaminationRules: React.FC = () => {
history.push('/examinationrules/attestation/step')
}}
>
<PlusOutlined />
<PlusOutlined />
</Button>,
]}
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,

@ -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<ProFormInstance>();
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 (
<PageContainer content={''} extraContent={''}>
@ -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;
}}
>
<Row gutter={24}>
<Col lg={24} md={24} sm={24}>
<ProFormText
name="name"
label="考试名称"
width="md"
// tooltip="最长为 6 位汉字,需要与考生身份证一致"
placeholder="请输入名称"
rules={[{ required: true, message: '请输入考试名称' }]}
// value="锦书"
// disabled
/>
<ProFormSelect
width="md"
{ruleData && (
<>
<ProFormText
name="rules_name"
label="考试名称"
width="md"
initialValue={ruleData.rules_name}
// tooltip="最长为 6 位汉字,需要与考生身份证一致"
placeholder="请输入名称"
rules={[{ required: true, message: '请输入考试名称' }]}
// value="锦书"
// disabled
/>
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="关联主题"
/>
<ProFormText name="time" label="考试时长"
rules={[{ required: true, message: '请输入考试时长' }]}
tooltip="限制考试时长的情况下,用户考试中离开,倒计时不会停止。" />
<ProFormSelect
width="md"
initialValue={ruleData.subject_id}
request={async () => {
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="关联主题"
/>
<ProFormText name="examination_time" label="考试时长"
initialValue={ruleData.examination_time}
rules={[{ required: true, message: '请输入考试时长' }]}
// tooltip="限制考试时长的情况下,用户考试中离开,倒计时不会停止。"
/>
<ProFormText name="paper_count" label="试卷数量"
initialValue={ruleData.paper_count}
rules={[{ required: true, message: '请输入数量' }]}
// tooltip="限制考试时长的情况下,用户考试中离开,倒计时不会停止。"
/>
<ProFormDateRangePicker name="dateRange" label="试卷有效期" initialValue={[ruleData.start_time, ruleData.end_time]} />
</>
)}
</Col>
</Row>

@ -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<TableListItem | undefined>) => {
console.log(record, 'record')
return [
// <a
// key="detail"
@ -230,10 +253,17 @@ const ExaminationRules: React.FC = () => {
</Button>,
]}
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
}

Loading…
Cancel
Save