XuZinan 2 سال پیش
والد
کامیت
dff25cce26

+ 11 - 4
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/WorkList.js

@@ -2,7 +2,7 @@ import React, { useState, useEffect } from 'react';
 import { InputNumber, Popover, Divider, Table, message } from 'antd';
 
 function WorkList(props) {
-  const { list, onAuth, onSave, allType } = props;
+  const { list, onAuth, onSave, onDelete, allType } = props;
   const [expandedRowKeys, setExpandedRowKeys] = useState([]);
   const [dataSource, setDataSource] = useState([]);
   let workHour = {};
@@ -10,7 +10,7 @@ function WorkList(props) {
     {
       title: '分类',
       dataIndex: 'type_id',
-      width: '25%',
+      width: '20%',
       render: type_id => allType[type_id]?.name,
     },
     {
@@ -50,10 +50,11 @@ function WorkList(props) {
     },
     {
       title: '操作',
-      width: '15%',
+      width: '20%',
       render: item => {
         if (item.zIndex === 0) return '';
-        if (item.audit_state == 1 || item.audit_state == 2) return;
+        if (item.audit_state == 2) return;
+        if (item.audit_state == 1) return <a onClick={() => handleDelete(item)}>删除</a>;
         return (
           <>
             <a
@@ -71,6 +72,8 @@ function WorkList(props) {
             >
               上报审批
             </a>
+            <Divider type="vertical"></Divider>
+            <a onClick={() => handleDelete(item)}>删除</a>
           </>
         );
       },
@@ -106,6 +109,10 @@ function WorkList(props) {
     onSave(item, data);
   };
 
+  const handleDelete = item => {
+    onDelete(item);
+  };
+
   const getList = () => {
     let data = {},
       expandedRowKeys = [];

+ 21 - 1
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/index.js

@@ -176,6 +176,20 @@ function List(props) {
     });
   };
 
+  const onDelete = item => {
+    dispatch({
+      type: 'workload/deleteWorkHour',
+      payload: { id: item.id },
+      callback: list => {
+        let time = current.date.format('YYYY-MM-DD');
+        setCurrent({
+          ...current,
+          list: list.filter(item => item.time == time),
+        });
+      },
+    });
+  };
+
   const onAddWork = data => {
     dispatch({
       type: 'workload/addWorkHours',
@@ -348,7 +362,13 @@ function List(props) {
               )}
             </div>
 
-            <WorkList allType={allType} list={current.list} onAuth={onAuth} onSave={onSave} />
+            <WorkList
+              allType={allType}
+              list={current.list}
+              onAuth={onAuth}
+              onSave={onSave}
+              onDelete={onDelete}
+            />
           </Col>
         </Row>
       </Spin>

+ 10 - 0
src/pages/PurchaseAdmin/PurchaseList/WorkingHours/models/workingHours.js

@@ -6,6 +6,7 @@ import {
   addAuthWorkHours,
   authWorkload,
   queryProject,
+  deleteWorkHour,
 } from '@/services/workHours';
 import { queryRole } from '@/services/SysAdmin';
 import { message } from 'antd';
@@ -186,6 +187,15 @@ export default {
         callback && callback();
       }
     },
+    *deleteWorkHour({ payload, callback }, { call, put }) {
+      const res = yield call(deleteWorkHour, payload);
+      if (!res) return;
+      yield put({
+        type: 'queryWorkHours',
+        payload: {},
+        callback,
+      });
+    },
   },
 
   reducers: {

+ 12 - 3
src/services/workHours.js

@@ -94,6 +94,15 @@ export async function queryDepCompareUser(params) {
   return request(`/api/v2/workload/dep/compare/users?${stringify(params)}`);
 }
 
-export async function queryUserProject(params){
-  return request(`/api/v2/workload/dep/compare/users/project?${stringify(params)}`)
-}
+export async function queryUserProject(params) {
+  return request(`/api/v2/workload/dep/compare/users/project?${stringify(params)}`);
+}
+
+export async function queryProjectReportNew(params) {
+  return request(`/api/v2/workload/rpt/projects_news?${stringify(params)}`);
+}
+
+//删除工时
+export async function deleteWorkHour(params) {
+  return request(`/api/v2/workload/unaudit/delete/${params.id}`, { method: 'DELETE' });
+}