From eb9de2f1e34da85aba1d61748a773ae4abce8ce1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B0=81=E7=BE=BD?= <2360164671@qq.com> Date: Sat, 7 Jan 2023 11:39:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../subpage/DepartmentConfig.tsx | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/pages/configuration/subpage/DepartmentConfig.tsx b/src/pages/configuration/subpage/DepartmentConfig.tsx index e12fa89..b0a777b 100644 --- a/src/pages/configuration/subpage/DepartmentConfig.tsx +++ b/src/pages/configuration/subpage/DepartmentConfig.tsx @@ -34,10 +34,10 @@ class DepartmentConfig extends React.Component { } }) if (newRow) { - let data={ + let data = { departmentName: row.departmentName, departmentManagerId: row.departmentManagerId, - staffIds:[] + staffIds: [] } axiosInstance.post("management/department", data).then((res) => { this.update() @@ -45,11 +45,11 @@ class DepartmentConfig extends React.Component { this.update() }) } else { - let data={ + let data = { departmentName: row.departmentName, departmentManagerId: row.departmentManagerId, } - axiosInstance.put("management/department/"+row.departmentId, data).then((res) => { + axiosInstance.put("management/department/" + row.departmentId, data).then((res) => { this.update() }).catch((err) => { this.update() @@ -76,15 +76,16 @@ class DepartmentConfig extends React.Component { return [] } let res = [] + console.log(columns) for (let i = 0; i < columns.length; i++) { - console.log(columns[i].departmentName) - res.push({ - id: columns[i].departmentId, - departmentId: columns[i].departmentId, - departmentName: columns[i].departmentName, - departmentManagerId: columns[i].departmentManager.staffId, - departmentManagerName: columns[i].departmentManager.staffName, - }) + if (columns[i].deletedAt == null) + res.push({ + id: columns[i].departmentId, + departmentId: columns[i].departmentId, + departmentName: columns[i].departmentName, + departmentManagerId: columns[i].departmentManager.staffId, + departmentManagerName: columns[i].departmentManager.staffName, + }) } console.log(res); return res From a39d3ce14a361dd7682a4b6e324c03212f006ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E5=B0=81=E7=BE=BD?= <2360164671@qq.com> Date: Sat, 7 Jan 2023 12:30:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=9A=84=E7=AD=89=E5=BE=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../approval/ReimbursementApproval.tsx | 20 +++++++++++++++---- .../reimbursement/mine/MyReimbursement.tsx | 17 ++++++++++++++++ 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/src/pages/reimbursement/approval/ReimbursementApproval.tsx b/src/pages/reimbursement/approval/ReimbursementApproval.tsx index a346c71..67ff45a 100644 --- a/src/pages/reimbursement/approval/ReimbursementApproval.tsx +++ b/src/pages/reimbursement/approval/ReimbursementApproval.tsx @@ -1,8 +1,8 @@ import React, {useRef, useState} from "react"; import {Button, Popover, Tabs, TabsProps, theme} from "antd"; -import {ActionType, ProColumns, ProTable} from "@ant-design/pro-components"; +import {ActionType, ProColumns, ProFormInstance, ProTable} from "@ant-design/pro-components"; import Search from "antd/es/input/Search"; -import {statusEnum} from "../mine/MyReimbursement"; +import {preStatusFilter, statusEnum} from "../mine/MyReimbursement"; import axiosInstance from "../../../utils/axiosInstance"; import {ExclamationCircleOutlined} from "@ant-design/icons"; import {openNotification} from "../mine/utils"; @@ -31,6 +31,7 @@ export type TableListItem = { class ReimbursementTab extends React.Component { tableAction = React.createRef(); + formRef: React.MutableRefObject = React.createRef() as any; departments = new Map() columns: ProColumns[] = [ { @@ -89,6 +90,7 @@ class ReimbursementTab extends React.Component { onFilter: false, search: false, valueEnum: statusEnum, + // defaultFilteredValue:preStatusFilter(), //render: (_) => {_}, }, { @@ -138,6 +140,7 @@ class ReimbursementTab extends React.Component { mode: props.mode, detailedReimbursement: undefined, activate: props.activate, + initialized: false, reload: () => { this.tableAction.current?.reload() }, @@ -149,6 +152,7 @@ class ReimbursementTab extends React.Component { prevState.reload() if (nextProps.activate !== prevState.activate) { return { + initialized: false, mode: nextProps.mode, activate: nextProps.activate, detailedReimbursement: undefined, @@ -165,7 +169,7 @@ class ReimbursementTab extends React.Component { axiosInstance.get('common/department').then(response => { this.departments.clear() response.data.forEach((value: any) => { - this.departments.set(value.departmentId, value.departmentName) + this.departments.set(value.departmentId, value.departmentName) } ) this.tableAction.current?.reload() @@ -190,7 +194,14 @@ class ReimbursementTab extends React.Component { async updateRequest(current: number | undefined, pageSize: number | undefined, sort: Record, filter: Record) { let tableListDataSource: TableListItem[] = [] let totalRecordLength = 0 - + if(this.departments.size===0){ + await new Promise(resolve => setTimeout(resolve, 100)); + } + if (!this.state.initialize && this.state.mode === 0) { + console.log({status: [statusEnum[0]]}) + this.formRef.current?.setFieldsValue({status: [statusEnum[0]]}) + this.setState({initialize: true}) + } current = (current === undefined ? 1 : current) pageSize = (pageSize === undefined ? 5 : pageSize) let params: any = { @@ -288,6 +299,7 @@ class ReimbursementTab extends React.Component { accessLevel={this.props.accessLevel} /> + formRef={this.formRef} actionRef={this.tableAction} columns={this.columns} request={async (params, sorter, filter) => { diff --git a/src/pages/reimbursement/mine/MyReimbursement.tsx b/src/pages/reimbursement/mine/MyReimbursement.tsx index 73362f3..a960f76 100644 --- a/src/pages/reimbursement/mine/MyReimbursement.tsx +++ b/src/pages/reimbursement/mine/MyReimbursement.tsx @@ -15,6 +15,20 @@ import ReimbursementDetail from "./ReimbursementDetail"; import {openNotification} from "./utils"; import {store} from "../../../models/store"; +export function preStatusFilter(mode:number) { + let d1 = store.getState().staff.managingDepartment + let d2 = store.getState().staff.staffDepartments + if (store.getState().token.staffId === "manager") { + return ["3"] + } else if ((d1 && d1.departmentId === 1)) { + return ["2"] + } else if ((d2 && d2.find((value, index, obj) => value.departmentId === 1))) { + return ["4"] + } else { + return ["0"] + } +} + const valueEnum = { 0: 'success', 1: 'wait1', @@ -277,6 +291,9 @@ class Subpage extends React.Component { async updateRequest(current: number | undefined, pageSize: number | undefined, sort: Record, filter: Record) { let tableListDataSource: TableListItem[] = [] let totalRecordLength = 0 + if(this.departments.size === 0){ + await new Promise(resolve => setTimeout(resolve, 100)); + } if (this.state.searchWord.trim() === "") { current = (current === undefined ? 0 : current) pageSize = (pageSize === undefined ? 5 : pageSize)