Эх сурвалжийг харах

财务报表 资源总表 按人搜索/导出

XuZinan 2 жил өмнө
parent
commit
89a19650ad

+ 21 - 5
src/pages/PurchaseAdmin/PurchaseList/Report/Finance.js

@@ -8,7 +8,7 @@ import { downloadFile, getToken } from '@/utils/utils.js';
 const { RangePicker } = DatePicker;
 
 function Finance(props) {
-  const { dispatch, loading, finance } = props;
+  const { dispatch, loading, finance, userList } = props;
   const [form] = Form.useForm();
   const [modalFilter, setModalFilter] = useState({});
 
@@ -42,7 +42,7 @@ function Finance(props) {
     { title: '有效工时', dataIndex: 'workload' },
     { title: '工时类型', dataIndex: 'type_name' },
   ];
-  
+
   const STATUS = [
     { value: 0, label: '售前' },
     { value: 1, label: '转执行' },
@@ -62,9 +62,10 @@ function Finance(props) {
     });
   };
   const handleSearch = () => {
-    const { time, project_name, project_status } = form.getFieldsValue();
+    const { time, user_id, project_name, project_status } = form.getFieldsValue();
     filterRef.current.s_time = time[0] ? moment(time[0]).format('YYYY-MM-DD') : null;
     filterRef.current.e_time = time[1] ? moment(time[1]).format('YYYY-MM-DD') : null;
+    filterRef.current.user_id = user_id;
     filterRef.current.project_name = project_name;
     filterRef.current.project_status = project_status;
 
@@ -79,10 +80,11 @@ function Finance(props) {
     const token = getToken();
     const s_time = filterRef.current?.s_time || '';
     const e_time = filterRef.current?.e_time || '';
+    const user_id = filterRef.current?.user_id || '';
     const project_name = filterRef.current?.project_name || '';
     const project_status = filterRef.current?.project_status || '';
     downloadFile(
-      `/api/v2/workload/finance/export2excel?JWT-TOKEN=${token}&s_time=${s_time}&e_time=${e_time}&project_name=${project_name}&project_status${project_status}`,
+      `/api/v2/workload/finance/export2excel?JWT-TOKEN=${token}&s_time=${s_time}&e_time=${e_time}&user_id=${user_id}&project_name=${project_name}&project_status${project_status}`,
       `财务报表${moment().format('YYYYMMDDHHMMSS')}.xlsx`
     );
   };
@@ -92,6 +94,16 @@ function Finance(props) {
         <Form.Item label="时间" name="time" initialValue={initDate}>
           <RangePicker placeholder="选择时间" allowClear={false} />
         </Form.Item>
+        <Form.Item label="资源名称" name="user_id">
+          <Select
+            options={userList}
+            fieldNames={{ label: 'CName', value: 'ID' }}
+            style={{ width: 150 }}
+            showSearch
+            filterOption={(inputValue, option) => option.CName.includes(inputValue)}
+            allowClear
+          />
+        </Form.Item>
         <Form.Item label="项目名称" name="project_name">
           <Input />
         </Form.Item>
@@ -113,6 +125,9 @@ function Finance(props) {
   };
   useEffect(() => {
     handleSearch();
+    dispatch({
+      type: 'user/fetch',
+    });
   }, []);
 
   return (
@@ -136,7 +151,8 @@ function Finance(props) {
   );
 }
 
-export default connect(({ report, loading }) => ({
+export default connect(({ report, user, loading }) => ({
   finance: report.finance,
+  userList: user.list,
   loading: loading.models.report,
 }))(Finance);