فهرست منبع

feat: 藏品总账

lanxin 2 هفته پیش
والد
کامیت
a4e19fe9e0

+ 18 - 29
src/pages/Cledger/C1ledger/index.tsx

@@ -3,40 +3,29 @@ import styles from './index.module.scss'
 import http from '@/utils/http'
 import { GoodsType } from '@/pages/Zother/SonGoodsList/data'
 import { selectObj } from '@/utils/dataChange'
-
-// 临时查看数据 正式开发的时候都删掉
-const APITEMP = () => {
-  return http.post('cms/good/ledger/page', { pageSize: 99999 })
-}
+import TableList from '@/pages/Zother/TableList'
+import { useSelector } from 'react-redux'
+import { RootState } from '@/store'
+import { API_getGoodsList } from '@/store/action/Cledger/C1ledger'
+import { baseFormData, topSearch } from '@/pages/Zother/data'
+import { baseTableC } from '@/utils/tableData'
 
 function C1ledger() {
-  const [list, setList] = useState<GoodsType[]>([])
-
-  const tmepFu = useCallback(async () => {
-    const res = await APITEMP()
-    if (res.code === 0) {
-      setList(res.data.records || [])
-    }
-  }, [])
-
-  useEffect(() => {
-    tmepFu()
-  }, [tmepFu])
+  const tableInfo = useSelector((state: RootState) => state.D1register.tableInfo)
 
   return (
     <div className={styles.C1ledger}>
-      <div className='pageTitle'>藏品总账-待开发</div>
-
-      <h1>暂时做一个数据查看信息-总条数-{list.length}</h1>
-
-      <div style={{ height: '90%', overflow: 'auto' }}>
-        {list.map(v => (
-          <div key={v.id}>
-            藏品名称:{v.name}--------------藏品编号:{v.num}-------------藏品入藏状态:{v.status}
-            {selectObj['藏品入藏状态'].find(c => c.value === v.status)?.label}
-          </div>
-        ))}
-      </div>
+      <div className='pageTitle'>藏品总账</div>
+
+      <TableList
+        baseFormData={baseFormData}
+        getListAPI={API_getGoodsList}
+        pageKey='ledger'
+        tableInfo={tableInfo}
+        columnsTemp={baseTableC('总账')}
+        yHeight={585}
+        searchDom={topSearch('总账')}
+      />
     </div>
   )
 }

+ 1 - 1
src/pages/Eculture/E2story/E2edit/index.tsx

@@ -9,7 +9,7 @@ import TextArea from 'antd/es/input/TextArea'
 import MyPopconfirm from '@/components/MyPopconfirm'
 import { storyAndGoodsTableC, goodsSonTableC } from '@/utils/tableData'
 import { Button, Input } from 'antd'
-import history, { backPageFu } from '@/utils/history'
+import { backPageFu } from '@/utils/history'
 import { useParams } from 'react-router-dom'
 import { API_getFileListByIds } from '@/store/action/Cledger/C4file'
 import { API_getGoodsList } from '@/store/action/Cledger/C1ledger'

+ 26 - 3
src/store/action/Cledger/C1ledger.ts

@@ -1,4 +1,5 @@
 import http from '@/utils/http'
+import { AppDispatch } from '@/store'
 
 /**
  * 藏品总账-获取藏品详情
@@ -10,8 +11,30 @@ export const API_getGoodsInfo = (id: number) => {
 /**
  * 藏品总账-获取藏品列表
  */
-export const API_getGoodsList = (data: any) => {
-  return http.post(`cms/good/ledger/page`, data)
+export const API_getGoodsList = (data: any): any => {
+  return async (dispatch: AppDispatch) => {
+    const res = await http.post(`cms/good/ledger/page`, data)
+    if (res.code === 0) {
+      const obj = {
+        list: res.data.records,
+        total: res.data.total
+      }
+
+      dispatch({ type: 'E2/getList', payload: obj })
+    }
+  }
+}
+
+/**
+ * 藏品-附件-根据藏品Id查询
+ */
+type GetGoodsByGoodIdReq = {
+  moduleId: number
+  moduleName: string
+  type: string
+}
+export const API_getGoodsByGoodId = (data: GetGoodsByGoodIdReq) => {
+  return http.post(`cms/good/ledger/file`, data)
 }
 
 // ----------------故事模块-----------
@@ -22,7 +45,7 @@ export const guShiAPI_add = (data: any) => {
   return http.post('cms/story/save', data)
 }
 /**
- * 故事-获取列表
+ * 故事-获取列表(完整)
  */
 export const guShiAPI_getList = (goodId: number) => {
   const data: any = {

+ 28 - 0
src/store/reducer/Cledger/C1ledger.ts

@@ -0,0 +1,28 @@
+import { Typetable } from '@/pages/Zother/data'
+
+// 初始化状态
+const initState = {
+  // 列表数据
+  tableInfo: {
+    list: [] as Typetable[],
+    total: 0
+  }
+}
+
+// 定义 action 类型
+type Props = {
+  type: 'C1/getList'
+  payload: { list: Typetable[]; total: number }
+}
+
+// reducer
+export default function Reducer(state = initState, action: Props) {
+  switch (action.type) {
+    // 获取列表数据
+    case 'C1/getList':
+      return { ...state, tableInfo: action.payload }
+
+    default:
+      return state
+  }
+}

+ 2 - 0
src/store/reducer/index.ts

@@ -6,6 +6,7 @@ import A0Layout from './layout'
 import B1collect from './Benter/B1collect'
 import B2enterGuan from './Benter/B2enterGuan'
 import B4enterCang from './Benter/B4enterCang'
+import C1ledger from './Cledger/C1ledger'
 import D1register from './Dmanage/D1register'
 import D3writeOff from './Dmanage/D3writeOff'
 import E1tag from './Eculture/E1tag'
@@ -25,6 +26,7 @@ const rootReducer = combineReducers({
   B1collect,
   B2enterGuan,
   B4enterCang,
+  C1ledger,
   D1register,
   D3writeOff,
   E1tag,