浏览代码

feat: 客户下新增关联单位继承客户基本信息

lanjianrong 4 年之前
父节点
当前提交
7d81fa8a62

+ 15 - 3
src/pages/Customer/Client/components/ClientDetail/Form.jsx

@@ -50,6 +50,14 @@ const ContanctForm = props => {
     }
   }, [])
 
+  const defaultCompanyValue = {
+    districtIds: client.districtIds,
+    address: client.address,
+    ride: client.ride,
+    stay: client.stay,
+    landmarks: client.landmarks
+  }
+
   const columns = useMemo(() => {
     const pColumns = [
       {
@@ -67,7 +75,9 @@ const ContanctForm = props => {
         dataIndex: 'companyName',
         label: '单位名称',
         editCellType: 'custom',
-        customCell: <ChangeCompanyInput dataSource={changeCopInputData} />,
+        customCell: (
+          <ChangeCompanyInput dataSource={changeCopInputData} defaultValue={defaultCompanyValue} />
+        ),
         span: 24
       },
       {
@@ -175,7 +185,8 @@ const ContanctForm = props => {
                 tagType={TagTypeEnum.PERSONTAG}
                 tagColumn={TagDataTypeEnum.CLIENT}
                 checkCallBack={refreshClient}
-                modeType={LabelModeType.column}>
+                modeType={LabelModeType.column}
+              >
                 <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
               </PersonLabel>
             </div>
@@ -202,7 +213,8 @@ const ContanctForm = props => {
                 tagType={TagTypeEnum.TEAMTAG}
                 tagColumn={TagDataTypeEnum.CLIENT}
                 checkCallBack={refreshClient}
-                modeType={LabelModeType.column}>
+                modeType={LabelModeType.column}
+              >
                 <Add theme="filled" size="20" fill="#868e96" className="cursor-pointer" />
               </PersonLabel>
             </div>

+ 19 - 1
src/pages/Customer/Company/components/AddCompany/index.jsx

@@ -9,13 +9,31 @@ import ModalDragForm from '@/components/Modal/src/components/ModalDragForm'
 import { isNullOrUnDef } from '@/utils/is'
 import CompanyFormItem from './CompanyFormItem'
 
-const AddCompanyModal = ({ reload, dataId, dataType, onConfirm, dispatch, natures }) => {
+const AddCompanyModal = ({
+  reload,
+  dataId,
+  dataType,
+  onConfirm,
+  dispatch,
+  natures,
+  defaultValue
+}) => {
   const formRef = useRef()
   const layout = {
     layout: 'horizontal',
     labelCol: { flex: '100px' }
   }
   useEffect(() => {
+    if (defaultValue) {
+      if (defaultValue.districtIds && defaultValue.districtIds?.length > 1) {
+        console.log('111', defaultValue.districtIds)
+        dispatch({
+          type: 'district/fetchWithValues',
+          payload: defaultValue.districtIds
+        })
+      }
+      formRef.current.setFieldsValue(defaultValue)
+    }
     const getNatures = () => {
       dispatch({
         type: 'company/fetchNatures'

+ 8 - 2
src/pages/Customer/Company/components/ChangeCompany/index.jsx

@@ -31,6 +31,7 @@ const ChangeCompanyInput = props => {
       actionPayload = ChangeCompMap.CLIENT.key,
       title = '客户'
     },
+    defaultValue,
     editable = true
   } = props
   const refreshClient = () => {
@@ -43,8 +44,13 @@ const ChangeCompanyInput = props => {
     setModalProps({
       zIndex: 1002,
       width: '60vw',
-      modalRender: node => (
-        <SearchModal onSelect={refreshClient} node={node} dataId={dataId} preUrl={actionPayload} />
+      modalRender: () => (
+        <SearchModal
+          onSelect={refreshClient}
+          dataId={dataId}
+          preUrl={actionPayload}
+          defaultAddibleValue={defaultValue}
+        />
       ),
       onCancel: () => toggleModal()
     })

+ 7 - 2
src/pages/Customer/Company/components/ConnectCompany/index.jsx

@@ -11,7 +11,7 @@ import { formatValues } from '@/components/LazyCascader'
 import { apiChangeCustomer } from '@/services/customer'
 import CustomModal from '@/components/Modal/src/components/CustomModal'
 
-const ConnectCompany = ({ dataId, onSelect, preUrl }) => {
+const ConnectCompany = ({ dataId, onSelect, preUrl, defaultAddibleValue }) => {
   const hasAddPerm = useAccess()?.validatePermByType('company_add')
   const dispatch = useDispatch()
   const scrollRef = useRef()
@@ -134,7 +134,12 @@ const ConnectCompany = ({ dataId, onSelect, preUrl }) => {
       </div>
       {hasAddPerm && (
         <div className={styles.modalFooter}>
-          <AddCompany onConfirm={addConfirm} dataId={dataId} dataType={preUrl} />
+          <AddCompany
+            onConfirm={addConfirm}
+            dataId={dataId}
+            dataType={preUrl}
+            defaultValue={defaultAddibleValue}
+          />
         </div>
       )}
     </CustomModal>