浏览代码

fix: types issues

ZhaoJun 1 年之前
父节点
当前提交
2abef6abd1

+ 23 - 13
src/pages/TaskManage/Detail/TaskDetail/TaskDetail.tsx

@@ -1,28 +1,28 @@
 import PageContent from '@/components/PageContent';
 import PageContent from '@/components/PageContent';
 import PageTitle from '@/components/PageTitle';
 import PageTitle from '@/components/PageTitle';
 import {
 import {
-IMandateDetailType,
-IUserType,
-IWorkOrderType,
+  IMandateDetailType,
+  IUserType,
+  IWorkOrderType,
 } from '@/pages/TaskManage/Detail/TaskList/taskList.types';
 } from '@/pages/TaskManage/Detail/TaskList/taskList.types';
 import {
 import {
-MandateClass,
-MandateStatus,
-MandateType,
-OrderStatus,
-OrderType,
+  MandateClass,
+  MandateStatus,
+  MandateType,
+  OrderStatus,
+  OrderType,
 } from '@/pages/TaskManage/constent';
 } from '@/pages/TaskManage/constent';
 import { getMandateDetail } from '@/services/TaskManage';
 import { getMandateDetail } from '@/services/TaskManage';
 import { useLocation } from '@@/exports';
 import { useLocation } from '@@/exports';
-import { connect,useRequest } from '@umijs/max';
-import { Button,Col,Divider,Row,Table } from 'antd';
-import { useState } from 'react';
+import { connect, useRequest } from '@umijs/max';
+import { Button, Col, Divider, Row, Table } from 'antd';
+import { useEffect, useState } from 'react';
 import { useNavigate } from 'umi';
 import { useNavigate } from 'umi';
 import styles from './taskDetail.less';
 import styles from './taskDetail.less';
 
 
 interface IPropsType {
 interface IPropsType {
   userList: IUserType[];
   userList: IUserType[];
-  dispatch: (args: { type: string; payload: object }) => {};
+  dispatch: (args: { type: string; payload: object }) => void;
 }
 }
 
 
 function TaskDetail(props: IPropsType) {
 function TaskDetail(props: IPropsType) {
@@ -76,6 +76,16 @@ function TaskDetail(props: IPropsType) {
       setHandledWorkOrder(tempOrder);
       setHandledWorkOrder(tempOrder);
     },
     },
   });
   });
+
+  useEffect(() => {
+    if (userList.length === 0) {
+      dispatch({
+        type: 'taskUser/fetchUserList',
+        payload: { project_id },
+      });
+    }
+  }, []);
+
   const goTaskOrder = (orderID: number) => {
   const goTaskOrder = (orderID: number) => {
     navigate(
     navigate(
       `/task-manage/list/order-detail?project_id=${project_id}&order_id=${orderID}`,
       `/task-manage/list/order-detail?project_id=${project_id}&order_id=${orderID}`,
@@ -114,7 +124,7 @@ function TaskDetail(props: IPropsType) {
           <h3 style={{ marginLeft: '15px' }}>关联工单</h3>
           <h3 style={{ marginLeft: '15px' }}>关联工单</h3>
           {handledWorkOrder.map((order) => {
           {handledWorkOrder.map((order) => {
             return (
             return (
-              <div className={styles.workOrderCard}>
+              <div key={order.Id} className={styles.workOrderCard}>
                 <div className={styles.leftInfo}>
                 <div className={styles.leftInfo}>
                   <Row className={styles.infoRow}>
                   <Row className={styles.infoRow}>
                     <Col span={12}>工单编号:{order.Id}</Col>
                     <Col span={12}>工单编号:{order.Id}</Col>

+ 6 - 4
src/pages/TaskManage/Detail/TaskList/TaskList.tsx

@@ -32,7 +32,7 @@ import styles from './taskList.less';
 
 
 const TaskList: React.FC<IPropsType> = (props) => {
 const TaskList: React.FC<IPropsType> = (props) => {
   const { userList, mandateList, loading, dispatch } = props;
   const { userList, mandateList, loading, dispatch } = props;
-  const md5 = require('md5');
+  // const md5 = require('md5');
   const location = useLocation();
   const location = useLocation();
   const queryParams = new URLSearchParams(location.search);
   const queryParams = new URLSearchParams(location.search);
   const project_id = Number(queryParams.get('project_id'));
   const project_id = Number(queryParams.get('project_id'));
@@ -53,7 +53,7 @@ const TaskList: React.FC<IPropsType> = (props) => {
    * @param item
    * @param item
    * @param index
    * @param index
    */
    */
-  const onTopFilterChange = (value: any, item: ITopFilter, index: number) => {
+  const onTopFilterChange = (value: any) => {
     if (topFilters.length === 0) {
     if (topFilters.length === 0) {
       return;
       return;
     }
     }
@@ -89,6 +89,7 @@ const TaskList: React.FC<IPropsType> = (props) => {
       });
       });
     }
     }
   }, []);
   }, []);
+  
   // 获取列表
   // 获取列表
   useEffect(() => {
   useEffect(() => {
     setMandateListShow(
     setMandateListShow(
@@ -111,6 +112,7 @@ const TaskList: React.FC<IPropsType> = (props) => {
             key: item.value + '任务类别',
             key: item.value + '任务类别',
           };
           };
         }
         }
+        return undefined;
       }).filter((item) => item),
       }).filter((item) => item),
     });
     });
 
 
@@ -142,7 +144,7 @@ const TaskList: React.FC<IPropsType> = (props) => {
     );
     );
   };
   };
 
 
-  const buildTaskList = (item: IMandateType, index: number) => {
+  const buildTaskList = (item: IMandateType) => {
     const formatItem = {
     const formatItem = {
       ...item,
       ...item,
       Status: MandateStatus.find((status) => status.value === item.Status),
       Status: MandateStatus.find((status) => status.value === item.Status),
@@ -172,7 +174,7 @@ const TaskList: React.FC<IPropsType> = (props) => {
         ),
         ),
         children: workOrder.map((order) => {
         children: workOrder.map((order) => {
           return (
           return (
-            <div className={styles.workOrderCard}>
+            <div key={order.Id} className={styles.workOrderCard}>
               <div className={styles.leftInfo}>
               <div className={styles.leftInfo}>
                 <Row style={{ marginBottom: '15px' }}>
                 <Row style={{ marginBottom: '15px' }}>
                   <Col span={12}>工单编号:{order.Id}</Col>
                   <Col span={12}>工单编号:{order.Id}</Col>

+ 1 - 5
src/pages/TaskManage/Detail/TaskList/taskList.less

@@ -1,7 +1,6 @@
-
 .cardContainer {
 .cardContainer {
   width: 100%;
   width: 100%;
-  padding: 20px 20px;
+  padding: 20px;
   background-color: white;
   background-color: white;
 
 
   .collapseLabel {
   .collapseLabel {
@@ -42,6 +41,3 @@
     }
     }
   }
   }
 }
 }
-
-
-

+ 2 - 2
src/pages/TaskManage/Detail/TaskOrder/taskOrder.less

@@ -1,7 +1,7 @@
 .selfCardBox {
 .selfCardBox {
   margin-top: 15px;
   margin-top: 15px;
   border-radius: 8px;
   border-radius: 8px;
-  box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.3);
+  box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 30%);
   background-color: white;
   background-color: white;
 }
 }
 
 
@@ -12,4 +12,4 @@
 
 
 .rowMargin {
 .rowMargin {
   margin-bottom: 15px;
   margin-bottom: 15px;
-}
+}

+ 3 - 3
src/pages/TaskManage/components/TopFilter.tsx

@@ -4,7 +4,7 @@ import { useState } from 'react';
 
 
 interface IProps {
 interface IProps {
   filters: ITopFilter[];
   filters: ITopFilter[];
-  onChange: (value: any, item: ITopFilter, index: number) => void;
+  onChange: (value: any) => void;
 }
 }
 
 
 const TopFilter: React.FC<IProps> = ({ filters, onChange }) => {
 const TopFilter: React.FC<IProps> = ({ filters, onChange }) => {
@@ -23,7 +23,7 @@ const TopFilter: React.FC<IProps> = ({ filters, onChange }) => {
               placeholder={item.placeholder}
               placeholder={item.placeholder}
               options={item.options}
               options={item.options}
               allowClear
               allowClear
-              onChange={(value, option) => {
+              onChange={(value) => {
                 const temp = filters.map((f, i) => {
                 const temp = filters.map((f, i) => {
                   if (index === i) {
                   if (index === i) {
                     return value !== undefined ? value : null;
                     return value !== undefined ? value : null;
@@ -31,7 +31,7 @@ const TopFilter: React.FC<IProps> = ({ filters, onChange }) => {
                   return values[i] || null;
                   return values[i] || null;
                 });
                 });
                 setValues(temp);
                 setValues(temp);
-                onChange(temp, item, index);
+                onChange(temp);
               }}
               }}
             />
             />
             {filters.length > 1 && index !== filters.length - 1 && (
             {filters.length > 1 && index !== filters.length - 1 && (

+ 15 - 13
src/pages/TaskManage/index.tsx

@@ -3,16 +3,15 @@ import PageTitle from '@/components/PageTitle';
 import { MandateType } from '@/pages/TaskManage/constent';
 import { MandateType } from '@/pages/TaskManage/constent';
 import styles from '@/pages/TaskManage/index.less';
 import styles from '@/pages/TaskManage/index.less';
 import { IMandateType, IPropTypes } from '@/pages/TaskManage/index.types';
 import { IMandateType, IPropTypes } from '@/pages/TaskManage/index.types';
-import { getMandateList } from '@/services/TaskManage';
 import { RightOutlined } from '@ant-design/icons';
 import { RightOutlined } from '@ant-design/icons';
-import { connect, useParams, useRequest } from '@umijs/max';
+import { connect, useParams } from '@umijs/max';
 import { List, Spin } from 'antd';
 import { List, Spin } from 'antd';
 import { BaseOptionType } from 'rc-select/es/Select';
 import { BaseOptionType } from 'rc-select/es/Select';
 import React, { useEffect, useState } from 'react';
 import React, { useEffect, useState } from 'react';
 import { useNavigate } from 'umi';
 import { useNavigate } from 'umi';
 
 
 const TaskManage: React.FC<IPropTypes> = (props) => {
 const TaskManage: React.FC<IPropTypes> = (props) => {
-  const { mandateList,loading, dispatch } = props;
+  const { mandateList, loading, dispatch } = props;
   const { projectID } = useParams();
   const { projectID } = useParams();
   const project_id = Number(projectID === '' ? '0' : projectID);
   const project_id = Number(projectID === '' ? '0' : projectID);
 
 
@@ -20,7 +19,7 @@ const TaskManage: React.FC<IPropTypes> = (props) => {
   const [mandateCount, setMandateCount] = useState<number[]>([0, 0, 0]);
   const [mandateCount, setMandateCount] = useState<number[]>([0, 0, 0]);
 
 
   useEffect(() => {
   useEffect(() => {
-    if (mandateList.length == 0) {
+    if (mandateList.length === 0) {
       dispatch({
       dispatch({
         type: 'mandate/fetchMandateList',
         type: 'mandate/fetchMandateList',
         payload: { project_id, pageSize: 9999 },
         payload: { project_id, pageSize: 9999 },
@@ -39,9 +38,7 @@ const TaskManage: React.FC<IPropTypes> = (props) => {
   }, [mandateList]);
   }, [mandateList]);
 
 
   const goTaskList = (item: number) => {
   const goTaskList = (item: number) => {
-    navigate(
-      `/task-manage/list?project_id=${project_id}&mandateType=${item}`,
-    );
+    navigate(`/task-manage/list?project_id=${project_id}&mandateType=${item}`);
   };
   };
 
 
   const makeList = (item: BaseOptionType, index: number) => {
   const makeList = (item: BaseOptionType, index: number) => {
@@ -79,9 +76,14 @@ const TaskManage: React.FC<IPropTypes> = (props) => {
   );
   );
 };
 };
 
 
-export default connect(({ mandate,loading }: any): { mandateList: IMandateType[], loading:boolean } => {
-  return {
-    mandateList: mandate.mandateList,
-    loading: loading.models['mandate']
-  };
-})(TaskManage);
+export default connect(
+  ({
+    mandate,
+    loading,
+  }: any): { mandateList: IMandateType[]; loading: boolean } => {
+    return {
+      mandateList: mandate.mandateList,
+      loading: loading.models['mandate'],
+    };
+  },
+)(TaskManage);

+ 1 - 1
src/pages/TaskManage/index.types.ts

@@ -4,7 +4,7 @@ import { BaseOptionType } from 'rc-select/es/Select';
 export interface IPropTypes {
 export interface IPropTypes {
   mandateList: IMandateType[];
   mandateList: IMandateType[];
   loading: boolean;
   loading: boolean;
-  dispatch: (args: { type: string; payload: object }) => {};
+  dispatch: (args: { type: string; payload: object }) => void;
 }
 }
 
 
 export interface IMandateType {
 export interface IMandateType {