Bladeren bron

fix: EditForm日常维护

lanjianrong 5 jaren geleden
bovenliggende
commit
82ad44333b

+ 6 - 4
src/components/EditableForm/src/components/ChangeDatePicker.jsx

@@ -1,20 +1,22 @@
 import React, { forwardRef, useState } from 'react'
 import { DatePicker } from 'antd'
+import dayjs, { isDayjs } from 'dayjs'
 
 const ChangeDatePicker = props => {
   const { defaultValue, refinstance, onSave } = props
   const [val, setVal] = useState(defaultValue)
-  const handleOnChange = dayjs => {
-    const date = dayjs.format('YYYY-MM-DD HH:mm:ss')
+  const handleOnChange = d => {
+    const date = d.format('YYYY-MM-DD')
     setVal(date)
   }
   return (
     <DatePicker
-      className="w-full"
+      defaultOpen={true}
+      style={{ width: '100%' }}
       placeholder="请选择日期"
       ref={refinstance}
       allowClear
-      defaultValue={defaultValue}
+      defaultValue={isDayjs(defaultValue) ? defaultValue : dayjs(defaultValue)}
       onBlur={() => onSave({ currentTarget: { value: val } })}
       onChange={handleOnChange}
     />

+ 6 - 2
src/components/EditableForm/src/components/ChangeSelect.jsx

@@ -3,7 +3,11 @@ import { Select } from 'antd'
 
 const ChangeSelect = props => {
   const { defaultValue, refinstance, options, onSave } = props
-  const [selectedObj, setSelectedObj] = useState({ value: defaultValue, label: '' })
+  const extraDefaultValue =
+    options.findIndex(item => item.value === defaultValue || item.key === defaultValue) !== -1
+      ? defaultValue
+      : null
+  const [selectedObj, setSelectedObj] = useState({ value: extraDefaultValue, label: '' })
 
   const handleOnChange = (value, option) => {
     let local = ''
@@ -23,7 +27,7 @@ const ChangeSelect = props => {
 
   return (
     <Select
-      defaultValue={defaultValue}
+      defaultValue={extraDefaultValue}
       ref={refinstance}
       onBlur={() => onSave({ currentTarget: { ...selectedObj } })}
       options={options}

+ 5 - 18
src/components/EditableForm/src/editableFormItem.jsx

@@ -1,6 +1,6 @@
 import consts from '@/basic/consts'
 import { editFormApi } from '@/services/common'
-import { Input, Row, Col, DatePicker } from 'antd'
+import { Input, Row, Col } from 'antd'
 import React, { useState, useEffect, useRef } from 'react'
 import LazyCascader from '../../LazyCascader'
 import { connect } from 'dva'
@@ -8,6 +8,7 @@ import './index.less'
 import useOptions from './useOptions'
 import ChangeSelect from './components/ChangeSelect'
 import ChangeTreeSelect from './components/ChangeTreeSelect'
+import ChangeDatePicker from './components/ChangeDatePicker'
 
 const extraValArr = ['cascader', 'select', 'treeSelect'] // 需要设置ExtraVal的类型
 
@@ -159,25 +160,11 @@ const EditableFormItem = ({
         )
         break
       case 'select':
-        cell = (
-          <ChangeSelect
-            ref={iRef}
-            defaultValue={state.val}
-            options={options}
-            onSave={save}
-            onBlur={save}
-          />
-        )
+        cell = <ChangeSelect ref={iRef} defaultValue={state.val} options={options} onSave={save} />
         break
       case 'treeSelect':
         cell = (
-          <ChangeTreeSelect
-            ref={iRef}
-            defaultValue={state.val}
-            options={options}
-            onSave={save}
-            onBlur={save}
-          />
+          <ChangeTreeSelect ref={iRef} defaultValue={state.val} options={options} onSave={save} />
         )
         break
       case 'textarea':
@@ -192,7 +179,7 @@ const EditableFormItem = ({
         )
         break
       case 'datePicker':
-        cell = <DatePicker onBlur={save} defaultValue={state.val} />
+        cell = <ChangeDatePicker onSave={save} defaultValue={state.val} />
         break
       default:
         cell = (

+ 4 - 0
src/components/EditableForm/src/useOptions.js

@@ -40,5 +40,9 @@ export default function useOptions(type) {
   if (type === typeEnum.DEPARTMENTID) {
     return store.getState().staff.departments
   }
+  if (type === typeEnum.BUSINESSIDS[0]) {
+    return store.getState().business.groupList
+  }
+
   return null
 }

+ 1 - 2
src/layouts/BasicLayout.jsx

@@ -12,8 +12,7 @@ import Authorized from '@/utils/auth/Authorized'
 import RightContent from '@/components/GlobalHeader/RightContent'
 import logo from '../../public/logo.svg'
 import styles from './BasicLayout.less'
-import BasicModal from '@/components/Modal'
-import { BasicDrawer } from '@/components/Modal'
+import BasicModal, { BasicDrawer } from '@/components/Modal'
 import { matchPath } from 'umi'
 
 const noMatch = <Result status={403} title="403" subTitle="抱歉, 您没有权限访问此页面" />

+ 0 - 1
src/pages/Staff/Employee/components/EmployeeDetail/EmployeeLowerList.jsx

@@ -1,6 +1,5 @@
 import React from 'react'
 import { Tabs } from 'antd'
-import StaffModal from '../StaffModal'
 
 const EmployeeLowerList = () => {
   const { TabPane } = Tabs