Procházet zdrojové kódy

feat: 软件锁升级产品列表

outaozhen před 5 roky
rodič
revize
b9955b5745

+ 20 - 8
src/pages/Product/Lock/Lockstore/components/LocksDetail/LockModal.jsx

@@ -8,8 +8,7 @@ import { queryLock } from '@/services/lock'
 import consts from '@/basic/consts'
 import { useDebounceFn } from 'ahooks'
 import { apiSoftwareAddLonglelog, apiReceiveLock } from '@/services/lock'
-import { useDispatch } from 'umi'
-import { Children } from 'react'
+import { useDispatch, connect } from 'umi'
 
 export const lockTypeEnum = {
   RECEIVE: 2,
@@ -33,9 +32,8 @@ const LockModal = props => {
   }
   const [form] = Form.useForm()
   const dispatch = useDispatch()
-  const { Option } = Select
   const scrollRef = useRef()
-  const { visible, onCancel, onConfirm, loading, type, longleId, keyNum, status } = props
+  const { visible, onCancel, onConfirm, loading, type, longleId, keyNum, status, prodList } = props
   const layout = {
     layout: 'vertical'
   }
@@ -49,6 +47,12 @@ const LockModal = props => {
     size: 10,
     total: 0
   })
+  // 获取软件锁产品列表
+  function fetchSoftProducts() {
+    dispatch({
+      type: 'lock/fetchProdList'
+    })
+  }
   const initData = async params => {
     setState({ ...state, loading: true })
     if (type === lockTypeEnum.CHANGE) {
@@ -276,9 +280,14 @@ const LockModal = props => {
         {type === lockTypeEnum.UPDATE ? (
           <>
             <Form.Item name="product" label="新增产品">
-              <Select placeholder="请选择产品" onChange={handleChange}>
-                <Option>dadas</Option>
-              </Select>
+              <Select
+                placeholder="请选择产品"
+                onDropdownVisibleChange={async e => {
+                  e && !prodList?.length && (await fetchSoftProducts())
+                }}
+                options={prodList.map(item => ({ value: item.title }))}
+                onChange={handleChange}
+              />
             </Form.Item>
           </>
         ) : null}
@@ -317,4 +326,7 @@ const LockModal = props => {
   )
 }
 
-export default LockModal
+// export default LockModal
+export default connect(({ lock }) => ({
+  prodList: lock.prodList
+}))(LockModal)

+ 50 - 65
src/pages/Product/Lock/Lockstore/components/LocksDetail/TabList.jsx

@@ -10,7 +10,7 @@ import { servicelogEnum, showProductsStatus, showNewLongleStatus, showMarkStatus
 import { useDispatch } from 'dva'
 
 const LockTabList = props => {
-  const { longleLog, longleId, keyNum, status } = props
+  const { longleLog, longleId, keyNum } = props
   const dispatch = useDispatch()
   const [state, setState] = useState({
     visible: false
@@ -82,70 +82,55 @@ const LockTabList = props => {
         </Tabs>
       </div>
       <div className="sheet-btns pl-4 pt-4 flex">
-        {status === 1 ? (
-          <Button
-            type="primary"
-            ghost
-            size="small"
-            className="mr-3px"
-            onClick={() =>
-              setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.RECEIVE })
-            }>
-            接收
-          </Button>
-        ) : (
-          <>
-            <Button
-              type="primary"
-              ghost
-              size="small"
-              className="mr-3px"
-              onClick={() =>
-                setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.SALE })
-              }>
-              借出/销售/赠送
-            </Button>
-            <Button
-              type="primary"
-              ghost
-              size="small"
-              className="mr-1"
-              onClick={() =>
-                setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.UPDATE })
-              }>
-              升级
-            </Button>
-            <Button
-              type="primary"
-              ghost
-              size="small"
-              className="mr-1"
-              onClick={() =>
-                setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.CHANGE })
-              }>
-              更换
-            </Button>
-            <Button
-              type="primary"
-              ghost
-              size="small"
-              className="mr-1"
-              onClick={() =>
-                setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.RECOVER })
-              }>
-              收回
-            </Button>
-            <Button
-              type="primary"
-              ghost
-              size="small"
-              onClick={() =>
-                setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.REMARK })
-              }>
-              备注
-            </Button>
-          </>
-        )}
+        <Button
+          type="primary"
+          ghost
+          size="small"
+          className="mr-3px"
+          onClick={() =>
+            setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.SALE })
+          }>
+          借出/销售/赠送
+        </Button>
+        <Button
+          type="primary"
+          ghost
+          size="small"
+          className="mr-1"
+          onClick={() =>
+            setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.UPDATE })
+          }>
+          升级
+        </Button>
+        <Button
+          type="primary"
+          ghost
+          size="small"
+          className="mr-1"
+          onClick={() =>
+            setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.CHANGE })
+          }>
+          更换
+        </Button>
+        <Button
+          type="primary"
+          ghost
+          size="small"
+          className="mr-1"
+          onClick={() =>
+            setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.RECOVER })
+          }>
+          收回
+        </Button>
+        <Button
+          type="primary"
+          ghost
+          size="small"
+          onClick={() =>
+            setAddLonglelog({ ...setAddLonglelog, visible: true, type: lockTypeEnum.REMARK })
+          }>
+          备注
+        </Button>
 
         <LockModal
           onConfirm={handleAddLonglelog}

+ 4 - 0
src/pages/Product/Lock/Lockstore/components/ReceiveLock.jsx

@@ -35,6 +35,10 @@ const ReceiveLock = () => {
       title: '办事处'
     },
     {
+      dataIndex: 'departmentName',
+      title: '部门'
+    },
+    {
       dataIndex: 'product',
       title: '产品',
       width: '60%',

+ 5 - 0
src/pages/Product/Lock/Lockstore/index.jsx

@@ -226,6 +226,11 @@ const LockStore = ({ prodList = [], dispatch }) => {
       title: '办事处',
       dataIndex: 'category',
       width: 150
+    },
+    {
+      title: '部门',
+      dataIndex: 'departmentName',
+      width: 150
     }
   ]
   const { getScrollRef, redoHeight } = useTableScroll(columns, selectKeys)