Przeglądaj źródła

feat: 商机在处于结束阶段时,不基于编辑权限

lanjianrong 4 lat temu
rodzic
commit
d1f31d99a4

+ 7 - 2
src/pages/Customer/Business/components/BusinessDetail/Form.jsx

@@ -1,5 +1,5 @@
 import { Row, Col } from 'antd'
-import React from 'react'
+import React, { useMemo } from 'react'
 import EditableForm from '@/components/EditableForm'
 import ChangeCompanyInput, {
   ChangeCompMap
@@ -10,6 +10,10 @@ import Step from './Step/index'
 const Form = props => {
   const { business, groupStatus, updateKey } = props
 
+  const isEnd = useMemo(() => {
+    return groupStatus.findIndex(item => item.endProcess && item.selected) !== -1
+  }, [groupStatus, business.businessStatusId])
+
   const changeCopInputData = {
     customerName: business.customerName,
     customerId: business.customerId,
@@ -35,7 +39,7 @@ const Form = props => {
       dataIndex: 'customerId',
       label: '单位名称',
       editCellType: 'custom',
-      customCell: <ChangeCompanyInput dataSource={changeCopInputData} />,
+      customCell: <ChangeCompanyInput dataSource={changeCopInputData} editable={!isEnd} />,
       span: 24
     },
     {
@@ -84,6 +88,7 @@ const Form = props => {
         columns={columns}
         tartgetUrl="/business/update"
         type={updateKey}
+        editable={!isEnd}
       />
     </div>
   )

+ 11 - 0
src/pages/Customer/Business/components/BusinessDetail/Step/index.jsx

@@ -102,6 +102,17 @@ const Step = ({ id, statusId, groupStatus = [] }) => {
                   return
                 }
                 if (idx > op.selectedItemIdx + 1) {
+                  // notification.info({
+                  //   message: '温馨提示:',
+                  //   description: `当前处于${
+                  //     op.mainItems.find((_, i) => {
+                  //       if (op.selectedItemIdx === -1) {
+                  //         return i === 0
+                  //       }
+                  //       return i === op.selectedItemIdx
+                  //     })?.name
+                  //   }阶段`
+                  // })
                   return
                 }
                 Modal.confirm({

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

@@ -40,11 +40,6 @@ const Business = ({ dispatch, groupList, shouldUpdate, loading }) => {
     if (groupList) {
       const group = groupList[0]
       if (group) {
-        console.log(
-          group.items
-            ?.filter(item => !item.endProcess)
-            ?.map(item => ({ ...item, percentage: parseInt(item.percentage, 10) }))
-        )
         setState({
           ...state,
           params: { ...state.params, businessGroupId: group.value },

+ 16 - 13
src/pages/Customer/Company/components/ChangeCompany/index.jsx

@@ -30,7 +30,8 @@ const ChangeCompanyInput = props => {
       targetName,
       actionPayload = ChangeCompMap.CLIENT.key,
       title = '客户'
-    }
+    },
+    editable = true
   } = props
   const refreshClient = () => {
     dispatch({
@@ -94,18 +95,20 @@ const ChangeCompanyInput = props => {
         <div className={styles.nameContent} onClick={handleCompanyClick}>
           {customerName}
         </div>
-        <div className={styles.iconContent}>
-          <Tooltip placement="right" title="移除单位">
-            <span className={styles.unlinkIcon} onClick={removeCustomer}>
-              <LinkInterrupt />
-            </span>
-          </Tooltip>
-          <Tooltip placement="right" title="更换单位" onClick={handleConnectCustomer}>
-            <span className={styles.switchIcon}>
-              <Switch />
-            </span>
-          </Tooltip>
-        </div>
+        {editable && (
+          <div className={styles.iconContent}>
+            <Tooltip placement="right" title="移除单位">
+              <span className={styles.unlinkIcon} onClick={removeCustomer}>
+                <LinkInterrupt />
+              </span>
+            </Tooltip>
+            <Tooltip placement="right" title="更换单位" onClick={handleConnectCustomer}>
+              <span className={styles.switchIcon}>
+                <Switch />
+              </span>
+            </Tooltip>
+          </div>
+        )}
       </div>
     </Card>
   )

+ 2 - 2
src/services/customer.js

@@ -185,8 +185,8 @@ export async function apiAddCustomerService(payload) {
 
 /** 获取商机组列表 */
 export async function getBusinessGroupList(params) {
-  return request.get('/business/group/list', {
-    params
+  return request.post('/business/group/list', {
+    data: params
   })
 }