生涯考试历史(质考试数据)

master
Administrator 3 years ago
parent 7890ee9dd0
commit 72cb389fa6

@ -5,12 +5,13 @@ import numeral from 'numeral';
import { ChartCard, Field } from './Charts'; import { ChartCard, Field } from './Charts';
import type { DataItem } from '../data.d'; import type { DataItem } from '../data.d';
import { getAsyncOrgTree, getEduUnitList } from '../service'; import { getAsyncOrgTree, getEduUnitList,getExaminationStatistics } from '../service';
const { Option } = Select; const { Option } = Select;
import styles from '../style.less'; import styles from '../style.less';
import ProForm, { ProFormSelect } from '@ant-design/pro-form'; import ProForm, { ProFormSelect } from '@ant-design/pro-form';
import { useRequest } from 'umi'; import { useRequest } from 'umi';
import {listMyLearningChapterCourse} from "../../../../../../web/src/pages/course/list/service";
const { RangePicker } = DatePicker; const { RangePicker } = DatePicker;
const topColResponsiveProps = { const topColResponsiveProps = {
@ -28,6 +29,9 @@ const layout = {
wrapperCol: { span: 16 }, wrapperCol: { span: 16 },
}; };
let city_id=0;
let area_id=0;
let school=0;
const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: DataItem[] }) => { const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: DataItem[] }) => {
const [provinceId, setProvinceId] = useState("100007") const [provinceId, setProvinceId] = useState("100007")
const [cityList, setCityList] = useState([]); const [cityList, setCityList] = useState([]);
@ -57,6 +61,30 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
}); });
const {data: examinationData, run } = useRequest(() => {
return getExaminationStatistics({
bureau_id:school,
city_id:city_id,
district_id: area_id,
province_id: provinceId
});
},{
formatResult: (result) => {
if(result.credential_person_count===0||result.apply_person_count===0){
const num=0;
result.num=num;
}else {
const percent=result.credential_person_count/result.apply_person_count;
const num=percent.toFixed(4);
result.num=num;
}
return result;
}
});
// 获取市数据 // 获取市数据
const { data: cityData, loading: cityLoading } = useRequest(() => { const { data: cityData, loading: cityLoading } = useRequest(() => {
return getAsyncOrgTree({ return getAsyncOrgTree({
@ -66,7 +94,6 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
}); });
},{ },{
formatResult: (result) => { formatResult: (result) => {
console.log('result')
return result; return result;
} }
}); });
@ -75,13 +102,11 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
// eslint-disable-next-line react-hooks/exhaustive-deps // eslint-disable-next-line react-hooks/exhaustive-deps
useEffect(() => { useEffect(() => {
console.log('cityData', cityData);
setCityList(cityData || []); setCityList(cityData || []);
}, [cityData]); }, [cityData]);
const getAreaData = async (e: any) => { const getAreaData = async (e: any) => {
// console.log(e, 'eeeeeeeeeeeee2ee');
const areaData = await getAsyncOrgTree({ const areaData = await getAsyncOrgTree({
org_id: e, org_id: e,
org_type: 2, org_type: 2,
@ -89,28 +114,29 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
}); });
form.setFieldsValue({ area: 0 }) form.setFieldsValue({ area: 0 })
setAreaList(areaData || []); setAreaList(areaData || []);
run()
} }
const getSchoolData = async () => { // const getSchoolData = async (e) => {
//
const schoolData = await getEduUnitList({ // const schoolData = await getEduUnitList({
random_num: 277470, // random_num: 277470,
area_id: provinceId, // area_id: provinceId,
edu_type: -1, // edu_type: -1,
// main_school_id: 200125116, // // main_school_id: 200125116,
org_name: e, // org_name: e,
org_type: 2, // org_type: 2,
pageNumber: 1, // pageNumber: 1,
pageSize: 1000, // pageSize: 1000,
school_type: -1, // school_type: -1,
showPassWord: true, // showPassWord: true,
}) // })
retrun [{label:'aaaa', value:'1111'},{label:'aaaa', value:'1111'}] // retrun [{label:'aaaa', value:'1111'},{label:'aaaa', value:'1111'}]
} // }
const onFinish = (values: any) => { const onFinish = (values: any) => {
console.log(values); // console.log(values);
}; };
const onGenderChange = (value: string) => { const onGenderChange = (value: string) => {
@ -129,7 +155,8 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
return false; return false;
} }
if (value) { if (value) {
console.log('value::', value) school=value;
// console.log('value::', value)
// setOptions([{ORG_NAME:"aaa", ORG_ID:"111"},{ORG_NAME:"aab", ORG_ID:"112"}]) // setOptions([{ORG_NAME:"aaa", ORG_ID:"111"},{ORG_NAME:"aab", ORG_ID:"112"}])
const { table_List } = await getEduUnitList({ const { table_List } = await getEduUnitList({
random_num: 277470, random_num: 277470,
@ -143,10 +170,13 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
school_type: -1, school_type: -1,
showPassWord: true, showPassWord: true,
}); });
setOptions(table_List); setOptions(table_List);
} else { } else {
setOptions([]); setOptions([]);
} }
}; };
return ( return (
@ -157,28 +187,39 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
<Form.Item name="city" label="市" > <Form.Item name="city" label="市" >
<Select <Select
style={{ width: 120 }} style={{ width: 120 }}
onChange={(id) => { getAreaData(id) }} defaultValue={0}
onChange={(id) => {
city_id=id;
getAreaData(id)
}}
// defaultValue={provinceId} // defaultValue={provinceId}
> >
<Option key={provinceId} value={provinceId}></Option> <Option key={0} value={0}></Option>
{ {
cityList.forEach((e) => { cityList.length!==0?
return <Option key={e?.id} value={e?.id}>{e?.name}</Option> cityList.map((item)=>{
}) return <Option key={item.id+'city'} value={item.id}>{item.name}</Option>
}):''
} }
</Select> </Select>
</Form.Item> </Form.Item>
<Form.Item name="area" label="区" > <Form.Item name="area" label="区" >
<Select <Select
style={{ width: 120 }} style={{ width: 120 }}
// defaultValue={0} defaultValue={0}
onChange={(id) => { getSchoolData(id) }} onChange={(id) => {
area_id=id;
handleSearch('');
}}
> >
<Option key={0} value={0}></Option> <Option key={0} value={0}></Option>
{/* {areaList.map((e, i) => { {
areaList.length!==0?
return <Option key={e.id} value={e.id}>{e.name}</Option> areaList.map((item)=>{
})} */} return <Option key={item.id+'area'} value={item.id}>{item.name}</Option>
}):''
}
</Select> </Select>
</Form.Item> </Form.Item>
<Form.Item name="school" label="学校"> <Form.Item name="school" label="学校">
@ -194,13 +235,32 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
filterOption={false} filterOption={false}
// onChange={getSchoolData} // onChange={getSchoolData}
notFoundContent={fetching ? <Spin size="small" /> : null} notFoundContent={fetching ? <Spin size="small" /> : null}
fieldNames={{ value: "ORG_ID", label: "ORG_NAME" }} // fieldNames={{ value: "ORG_ID", label: "ORG_NAME" }}
onSearch={handleSearch} onSearch={handleSearch}
options={options} allowClear={true}
/> onClear={()=>{
{console.log(schoolList, 'schoolList111')} console.log('清空')
school=0;
run();
}}
onChange={(e)=>{
console.log('e.target.value',e)
if(e!==undefined){
school=e;
run();
}
}}
// options={options}
>
{
options.length!==0?
options.map((item)=>{
return <Option key={item.ORG_ID+'school'} value={item.ORG_ID}>{item.ORG_NAME}</Option>
}):''
}
</Select>
</Form.Item> </Form.Item>
<Button></Button>
</Form> </Form>
</Col> </Col>
</Row> </Row>
@ -208,13 +268,13 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
<Col xs={14} sm={14} md={14} lg={14} xl={14} style={{padding:12}}> <Col xs={14} sm={14} md={14} lg={14} xl={14} style={{padding:12}}>
<Row gutter={24} style={{padding:12, border:'solid 1px #f0f0f0', height:'100%'}} > <Row gutter={24} style={{padding:12, border:'solid 1px #f0f0f0', height:'100%'}} >
<Col xs={8} sm={8} md={8} lg={8} xl={8}> <Col xs={8} sm={8} md={8} lg={8} xl={8}>
<Statistic title="资质考试数" value={93} suffix="次" style={{fontSize:16,fontWeight:500}} /> <Statistic title="资质考试数" value={examinationData?examinationData.examination_count:'--'} suffix="次" style={{fontSize:16,fontWeight:500}} />
</Col> </Col>
<Col xs={8} sm={8} md={8} lg={8} xl={8}> <Col xs={8} sm={8} md={8} lg={8} xl={8}>
<Statistic title="累计报名人数" value={93} suffix="人" style={{fontSize:16,fontWeight:500}} /> <Statistic title="累计报名人数" value={examinationData?examinationData.apply_person_count:'--'} suffix="人" style={{fontSize:16,fontWeight:500}} />
</Col> </Col>
<Col xs={8} sm={8} md={8} lg={8} xl={8}> <Col xs={8} sm={8} md={8} lg={8} xl={8}>
<Statistic title="取得证书人数" value={93} suffix="人" style={{fontSize:16,fontWeight:500}} /> <Statistic title="取得证书人数" value={examinationData?examinationData.credential_person_count:'--'} suffix="人" style={{fontSize:16,fontWeight:500}} />
</Col> </Col>
</Row> </Row>
</Col> </Col>
@ -230,7 +290,7 @@ const IntroduceRow = ({ loading, visitData }: { loading: boolean; visitData: Dat
style={{ textAlign: 'center', marginBottom: 0 , padding:12, border:'solid 1px #f0f0f0'}} style={{ textAlign: 'center', marginBottom: 0 , padding:12, border:'solid 1px #f0f0f0'}}
bodyStyle={{padding:0}} bodyStyle={{padding:0}}
> >
<Progress type="circle" percent={75} width={80} strokeWidth={10} style={{ position: 'relative', margin: '15px auto 0 auto' }} /> <Progress type="circle" percent={examinationData?.num*100} width={80} strokeWidth={10} style={{ position: 'relative', margin: '15px auto 0 auto' }} />
</ChartCard> </ChartCard>
</Col> </Col>
</Row> </Row>

@ -96,7 +96,17 @@ export async function getExaminationPersonStatistics(params: {
}); });
} }
//获取 获取资质考试数据
export async function getExaminationStatistics(params: {
bureau_id: number,
city_id: number,
district_id: number,
province_id: number,
}): Promise<{ data: { list: CardListItemDataType[] } }> {
return request('/dsideal_yy/zygh/training/statistics/getExaminationStatistics', {
params,
});
}

Loading…
Cancel
Save