Jelajahi Sumber

feat: 统计下树选择默认全部展开,时间区间修改

lanjianrong 4 tahun lalu
induk
melakukan
7a11c603ad

+ 7 - 4
src/pages/Statistic/Product/InvoiceAggregate/index.jsx

@@ -1,6 +1,7 @@
 import BasicTable from '@/components/Table'
 import consts from '@/consts'
 import { querySoftInvoiceAggregateList } from '@/services/statistic'
+import { disabledDate } from '@/utils/utils'
 import { Column } from '@ant-design/charts'
 import { Table, DatePicker } from 'antd'
 import dayjs from 'dayjs'
@@ -80,6 +81,7 @@ const InvoiceAggregate = () => {
     color: ['#A7D2F9', '#C4E9C1', '#E9C8C1'],
     colorField: 'type'
   }
+
   return (
     <div className="flex flex-col">
       <div className="flex flex-row justify-between mb-4">
@@ -101,7 +103,8 @@ const InvoiceAggregate = () => {
             <DatePicker.RangePicker
               picker="month"
               key="DatePicker"
-              disabled={[false, true]}
+              disabledDate={current => disabledDate(current, 'month')}
+              // disabled={[false, true]}
               value={state.startMonth}
               onChange={val => setState({ ...state, params: { ...state.params, startMonth: val } })}
             />
@@ -127,13 +130,13 @@ const InvoiceAggregate = () => {
             <>
               <Table.Summary.Row>
                 <Table.Summary.Cell className="text-center">{state.sum?.name}</Table.Summary.Cell>
-                <Table.Summary.Cell className="text-center">
+                <Table.Summary.Cell className="text-right">
                   {state.sum?.creditPrice}
                 </Table.Summary.Cell>
-                <Table.Summary.Cell className="text-center">
+                <Table.Summary.Cell className="text-right">
                   {state.sum?.receivablesPrice}
                 </Table.Summary.Cell>
-                <Table.Summary.Cell className="text-center">
+                <Table.Summary.Cell className="text-right">
                   {state.sum?.invoicePrice}
                 </Table.Summary.Cell>
               </Table.Summary.Row>

+ 2 - 2
src/pages/Statistic/Product/InvoiceTrends/index.jsx

@@ -1,6 +1,7 @@
 import BasicTable from '@/components/Table'
 import consts from '@/consts'
 import { querySoftInvoiceTrendsList } from '@/services/statistic'
+import { disabledDate } from '@/utils/utils'
 import { DualAxes } from '@ant-design/charts'
 import { DatePicker, Select } from 'antd'
 import dayjs from 'dayjs'
@@ -214,7 +215,7 @@ const InvoiceTrends = () => {
             <DatePicker.RangePicker
               picker="month"
               key="DatePicker"
-              disabled={[false, true]}
+              disabledDate={current => disabledDate(current, 'month')}
               value={state.startMonth}
               onChange={val => setState({ ...state, params: { ...state.params, startMonth: val } })}
             />
@@ -231,7 +232,6 @@ const InvoiceTrends = () => {
             ...sort,
             ...filter
           })
-          console.log(chart)
           setState({ ...state, chart })
           return {
             data: list,

+ 2 - 1
src/pages/Statistic/Product/SoftwareUsage/index.jsx

@@ -6,6 +6,7 @@ import consts from '@/consts'
 import dayjs from 'dayjs'
 import { Pie } from '@ant-design/charts'
 import OptionSelect from '../../components/OptionSelect'
+import { disabledDate } from '@/utils/utils'
 
 const { Text } = Typography
 
@@ -140,7 +141,7 @@ const Usage = () => {
             <DatePicker.RangePicker
               picker="month"
               key="DatePicker"
-              disabled={[false, true]}
+              disabledDate={current => disabledDate(current, 'month')}
               value={state.startMonth}
               onChange={val => setState({ ...state, params: { ...state.params, startMonth: val } })}
             />

+ 1 - 1
src/pages/Statistic/components/OptionSelect.tsx

@@ -87,7 +87,7 @@ const OptionSelect: React.FC<OptionSelectProps> = ({ multiple = true, type, onCh
       className: 'min-w-180px',
       dropdownMatchSelectWidth: true,
       onChange: value => trySetOpIds(value),
-      defaultOpen: true
+      treeDefaultExpandAll: true
     }
     if ([statisticOptionMap.STAFF, statisticOptionMap.DEPARTMENT].includes(state.optionType)) {
       base.multiple = true

+ 6 - 0
src/utils/utils.js

@@ -62,6 +62,12 @@ export const generateFilterField = filter => {
   }
   return nFiter
 }
+
 // 可控长度的随机数拼接时间戳成产唯一id
 export const createUid = () => URL.createObjectURL(new Blob()).substr(-36)
 // Number(Math.random().toString().substr(3, length) + Date.now()).toString(36)
+
+// 禁用当前日期后面的日期,根据类型而定
+export function disabledDate(current, type) {
+  return current && current > dayjs(new Date()).endOf(type)
+}