Jelajahi Sumber

Merge branch 'dev' of http://192.168.1.41:3000/outaozhen/cldV2react into dev

outaozhen 4 tahun lalu
induk
melakukan
8dc1c7f8a8

+ 1 - 0
src/pages/Customer/Business/index.jsx

@@ -43,6 +43,7 @@ const Business = ({ dispatch, groupList, shouldUpdate, loading }) => {
 
   const { initialState: { permData } = { permData: {} } } = useModel('@@initialState')
   const handleSearch = value => {
+    tRef.current?.reloadAndRest()
     setState({ ...state, params: { ...state.params, search: value } })
   }
 

+ 30 - 24
src/pages/Customer/Client/index.jsx

@@ -6,7 +6,7 @@ import { connect, useModel } from 'umi'
 import React, { useEffect, useState, useRef, useMemo } from 'react'
 import consts from '@/consts'
 import { useModal } from '@/components/Modal'
-import { formatValues } from '@/components/LazyCascader'
+import LazyCascader, { formatValues } from '@/components/LazyCascader'
 import PersonLabel from '../Company/components/PersonLabel'
 import {
   TagTypeEnum,
@@ -21,7 +21,7 @@ import { refactorFilterField, refactorSortField } from '@/utils/utils'
 import { PermDataTypeEunm } from '../Company/components/PermSelect'
 import BasicTable from '@/components/Table'
 import { getPermAuthCache } from '@/utils/auth'
-import FilterCascader from '@/components/Table/src/components/FilterCascader'
+// import FilterCascader from '@/components/Table/src/components/FilterCascader'
 
 const Client = props => {
   const { toggleDrawer, setDrawerProps } = useModal()
@@ -172,7 +172,8 @@ const Client = props => {
       render: (clientName, record) => (
         <span
           onClick={() => showDrawer(record.id)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {clientName}
         </span>
       ),
@@ -189,7 +190,8 @@ const Client = props => {
         record.companyId !== consts.ENCRYPTION_ZERO ? (
           <span
             onClick={() => showDrawerComapny(record.companyId)}
-            className="text-primary cursor-pointer hover:text-[#967bbd]">
+            className="text-primary cursor-pointer hover:text-[#967bbd]"
+          >
             {companyName}
           </span>
         ) : (
@@ -261,7 +263,7 @@ const Client = props => {
       width: 75,
       search: false,
       ellipsis: true,
-      filterDropdown: filterDropdownProps => <FilterCascader {...filterDropdownProps} />,
+      // filterDropdown: filterDropdownProps => <FilterCascader {...filterDropdownProps} />,
       renderText: text => text?.replaceAll(' / ', ' , ')
     },
     {
@@ -295,7 +297,8 @@ const Client = props => {
             tagType={TagTypeEnum.PERSONTAG}
             tagColumn={TagDataTypeEnum.CLIENT}
             checkCallBack={refreshData}
-            modeType={LabelModeType.column}>
+            modeType={LabelModeType.column}
+          >
             <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
           </PersonLabel>
         </div>
@@ -332,7 +335,8 @@ const Client = props => {
             tagType={TagTypeEnum.TEAMTAG}
             tagColumn={TagDataTypeEnum.CLIENT}
             checkCallBack={refreshData}
-            modeType={LabelModeType.column}>
+            modeType={LabelModeType.column}
+          >
             <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
           </PersonLabel>
         </div>
@@ -440,12 +444,12 @@ const Client = props => {
     setState({ ...state, params: { ...state.params, search: value } })
   }
 
-  // const onDistrictChange = value => {
-  //   if (!value) return
-  //   tRef.current.reset()
-  //   const [province = '', city = '', area = ''] = value || []
-  //   setState({ ...state, params: { ...state.params, province, city, area } })
-  // }
+  const onDistrictChange = value => {
+    if (!value) return
+    tRef.current.reset()
+    const [province = '', city = '', area = ''] = value || []
+    setState({ ...state, params: { ...state.params, province, city, area } })
+  }
 
   // 批量设置-确认触发
   const tagsSettingConfirm = async clientIds => {
@@ -483,7 +487,8 @@ const Client = props => {
             tagType={TagTypeEnum.PERSONTAG}
             tagColumn={TagDataTypeEnum.CLIENT}
             checkCallBack={toolbarOptionsChange}
-            modeType={LabelModeType.toolbar}>
+            modeType={LabelModeType.toolbar}
+          >
             {tagState.tagIds.length ? (
               <Button>
                 {tagState.tagIds.map(item => (
@@ -508,7 +513,8 @@ const Client = props => {
             tagType={TagTypeEnum.TEAMTAG}
             tagColumn={TagDataTypeEnum.CLIENT}
             checkCallBack={toolbarOptionsChange}
-            modeType={LabelModeType.toolbar}>
+            modeType={LabelModeType.toolbar}
+          >
             {tagState.tagCooperationIds.length ? (
               <Button>
                 {tagState.tagCooperationIds.map(item => (
@@ -568,7 +574,7 @@ const Client = props => {
           search: (
             <Tooltip placement="bottom" title="输入客户、单位名称、电话邮箱等">
               <Input.Search
-                style={{ width: '300px' }}
+                style={{ width: '250px' }}
                 allowClear={true}
                 placeholder={`在${
                   permData[PermDataTypeEunm.CUSTOMER]?.find(
@@ -581,14 +587,14 @@ const Client = props => {
           ),
 
           actions: [
-            // <LazyCascader
-            //   key="lazyCascader"
-            //   onChange={onDistrictChange}
-            //   changeOnSelect={true}
-            //   bordered={false}
-            //   showFooter={true}
-            //   className="hover:bg-[rgba(0,0,0,0.1)]"
-            // />,
+            <LazyCascader
+              key="lazyCascader"
+              onChange={onDistrictChange}
+              changeOnSelect={true}
+              bordered={false}
+              showFooter={true}
+              className="hover:bg-[rgba(0,0,0,0.1)]"
+            />,
             <AddClient
               modalProps={{ zIndex: 1050 }}
               onConfirm={handleAddClient}

+ 27 - 22
src/pages/Customer/Company/index.jsx

@@ -16,7 +16,7 @@ import { refactorFilterField, refactorSortField } from '@/utils/utils'
 import { PermDataTypeEunm } from './components/PermSelect'
 import BasicTable from '@/components/Table'
 import { getPermAuthCache } from '@/utils/auth'
-import FilterCascader from '@/components/Table/src/components/FilterCascader'
+// import FilterCascader from '@/components/Table/src/components/FilterCascader'
 
 const Company = props => {
   const {
@@ -135,12 +135,12 @@ const Company = props => {
     tRef.current.reload()
     setState({ ...state, params: { ...state.params, search: value } })
   }
-  // const onDistrictChange = value => {
-  //   if (!value) return
-  //   tRef.current.reset()
-  //   const [province = '', city = '', area = ''] = value
-  //   setState({ ...state, params: { ...state.params, province, city, area } })
-  // }
+  const onDistrictChange = value => {
+    if (!value) return
+    tRef.current.reset()
+    const [province = '', city = '', area = ''] = value
+    setState({ ...state, params: { ...state.params, province, city, area } })
+  }
 
   // 展示drawer
   const showDrawer = id => {
@@ -168,7 +168,8 @@ const Company = props => {
       render: (companyName, record) => (
         <span
           onClick={() => showDrawer(record.id)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {companyName}
         </span>
       )
@@ -180,7 +181,7 @@ const Company = props => {
       search: false,
       width: 100,
       ellipsis: true,
-      filterDropdown: filterDropdownProps => <FilterCascader {...filterDropdownProps} />,
+      // filterDropdown: filterDropdownProps => <FilterCascader {...filterDropdownProps} />,
       renderText: text => text?.replaceAll(' / ', ' , ')
     },
     {
@@ -214,7 +215,8 @@ const Company = props => {
             tagType={TagTypeEnum.PERSONTAG}
             tagColumn={TagDataTypeEnum.COMPANY}
             checkCallBack={refreshData}
-            modeType={LabelModeType.column}>
+            modeType={LabelModeType.column}
+          >
             <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
           </PersonLabel>
         </div>
@@ -245,7 +247,8 @@ const Company = props => {
             tagType={TagTypeEnum.TEAMTAG}
             tagColumn={TagDataTypeEnum.COMPANY}
             checkCallBack={refreshData}
-            modeType={LabelModeType.column}>
+            modeType={LabelModeType.column}
+          >
             <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
           </PersonLabel>
         </div>
@@ -403,7 +406,8 @@ const Company = props => {
             tagType={TagTypeEnum.PERSONTAG}
             tagColumn={TagDataTypeEnum.COMPANY}
             checkCallBack={toolbarOptionsChange}
-            modeType={LabelModeType.toolbar}>
+            modeType={LabelModeType.toolbar}
+          >
             {tagState.tagIds.length ? (
               <Button>
                 {tagState.tagIds.map(item => (
@@ -428,7 +432,8 @@ const Company = props => {
             tagType={TagTypeEnum.TEAMTAG}
             tagColumn={TagDataTypeEnum.COMPANY}
             checkCallBack={toolbarOptionsChange}
-            modeType={LabelModeType.toolbar}>
+            modeType={LabelModeType.toolbar}
+          >
             {tagState.tagCooperationIds.length ? (
               <Button>
                 {tagState.tagCooperationIds.map(item => (
@@ -483,7 +488,7 @@ const Company = props => {
           search: (
             <Tooltip placement="bottom" title="输入单位名称、单位性质等">
               <Input.Search
-                style={{ width: '300px' }}
+                style={{ width: '250px' }}
                 allowClear={true}
                 placeholder={`在${
                   permData[PermDataTypeEunm.CUSTOMER]?.find(
@@ -495,14 +500,14 @@ const Company = props => {
             </Tooltip>
           ),
           actions: [
-            // <LazyCascader
-            //   onChange={onDistrictChange}
-            //   changeOnSelect={true}
-            //   key="lazyCascader"
-            //   showFooter={true}
-            //   className="hover:bg-[rgba(0,0,0,0.1)]"
-            //   bordered={false}
-            // />,
+            <LazyCascader
+              onChange={onDistrictChange}
+              changeOnSelect={true}
+              key="lazyCascader"
+              showFooter={true}
+              className="hover:bg-[rgba(0,0,0,0.1)]"
+              bordered={false}
+            />,
             hasAddPerm && (
               <AddCompany
                 onConfirm={handleAddCompany}

+ 3 - 0
src/pages/Product/Cloud/index.jsx

@@ -18,6 +18,7 @@ export const roadpricingEnum = {
 
 const Cloud = () => {
   const { pathname = '' } = useLocation()
+  const tRef = useRef()
   const columnStateType = pathname?.match(/\/([^/]*)$/)[1]?.toUpperCase()
   const dispatch = useDispatch()
   const { toggleDrawer, setDrawerProps } = useModal()
@@ -257,11 +258,13 @@ const Cloud = () => {
   }
 
   const handleSearch = value => {
+    tRef.current?.reloadAndRest()
     setState({ ...state, params: { ...state.params, search: value } })
   }
 
   return (
     <BasicTable
+      actionRef={tRef}
       rowKey={record => record._id}
       columnStateType={columnStateType}
       params={state.params}

+ 13 - 5
src/pages/Product/Lock/LockStore/index.jsx

@@ -115,6 +115,7 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
   })
 
   const handleSearch = value => {
+    tRef.current?.reloadAndRest()
     setState({ ...state, params: { ...state.params, search: value } })
   }
 
@@ -196,7 +197,8 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
       render: (keyNum, record) => (
         <span
           onClick={() => showDrawer(record.id)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {keyNum}
         </span>
       )
@@ -273,7 +275,10 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
       title: '销售时间',
       dataIndex: 'sellTime',
       key: 'sellTime',
-      width: 90
+      filterDropdown: filterDropdownProps => <FilterDatePicker {...filterDropdownProps} />,
+      filters: true,
+      sorter: true,
+      width: 100
     },
     {
       title: '维护状态',
@@ -307,7 +312,8 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
       render: (text, record) => (
         <span
           onClick={() => showDrawerClient(record.clientId)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {text}
         </span>
       )
@@ -321,7 +327,8 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
       render: (text, record) => (
         <span
           onClick={() => showCompanyDrawer(record.customerId)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {text}
         </span>
       )
@@ -333,7 +340,8 @@ const LockStore = ({ prodList = [], dispatch, shouldUpdate }) => {
       render: (text, record) => (
         <span
           onClick={() => showDrawerResponsible(record.responsibleId)}
-          className="text-primary cursor-pointer hover:text-[#967bbd]">
+          className="text-primary cursor-pointer hover:text-[#967bbd]"
+        >
           {text}
         </span>
       )