lanxin недель назад: 2
Родитель
Сommit
fe736d71ac

+ 4 - 1
src/components/Z3upFilesRef/index.tsx

@@ -256,7 +256,10 @@ function Z3upFilesRef(
         fd.append('dirCode', dirCode)
         fd.append('isCompress', 'true')
         fd.append('isDb', 'true')
-        fd.append('moduleId', moduleId + '')
+        if (moduleId) {
+          fd.append('moduleId', moduleId + '')
+        }
+
         fd.append('file', file)
 
         if (fromData) {

+ 5 - 1
src/components/ZRichTextOne/index.tsx

@@ -79,7 +79,11 @@ function ZRichTextOne(
         fd.append('type', 'img')
         fd.append('dirCode', dirCode)
         fd.append('isCompress', 'true')
-        fd.append('moduleId', moduleId + '')
+        console.log(moduleId)
+        if (moduleId) {
+          fd.append('moduleId', moduleId + '')
+        }
+
         fd.append('file', filesInfo)
 
         e.target.value = ''

+ 55 - 17
src/pages/Eculture/E2story/E2edit/index.tsx

@@ -7,33 +7,49 @@ import { MessageFu } from '@/utils/message'
 import { E2_APIgetInfo, E2_APIsave } from '@/store/action/Eculture/E2story'
 import TextArea from 'antd/es/input/TextArea'
 import MyPopconfirm from '@/components/MyPopconfirm'
-import { storyAndGoodsTableC } from '@/utils/tableData'
+import { storyAndGoodsTableC, goodsSonTableC } from '@/utils/tableData'
 import { Button, Input } from 'antd'
 import history, { 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'
+import SelectGoods from '@/pages/Zother/SelectGoods'
+import { sgBaseFormDataGood, sgTopSelectDomGood } from '@/pages/Zother/SonGoodsList/data'
 
 function E2edit() {
   const [storyInfo, setStoryInfo] = useState({} as any)
-  // const [storyGoodsInfo, setStoryGoodsInfo] = useState([] as any[])
+  const [showSelectGoods, setShowSelectGoods] = useState(false)
   const ZRichTextRef = useRef<any>(null)
   const fileRef = useRef<any>(null)
   const { key, id } = useParams<any>()
   const isEdit = useMemo(() => {
-    return ['4'].includes(key)
+    return ['2'].includes(key)
   }, [key])
 
-  // 获取详情
-  const getInfoFu = useCallback(async (id: number) => {
-    const res = await E2_APIgetInfo(id)
+  // 保存附件
+  const getFileListByIdsFu = useCallback(async (ids: string[]) => {
+    const res = await API_getFileListByIds(ids)
     if (res.code === 0) {
-      // 设置数据和富文本和附件
-      setStoryInfo(res.data)
-      ZRichTextRef.current?.ritxtShowFu(res.data.rtf || '')
-      fileRef.current?.sonSetListFu(res.data.file)
-      console.log(res.data)
+      // 设置附件
+      fileRef.current?.sonSetListFu(res.data)
     }
   }, [])
 
+  // 获取详情
+  const getInfoFu = useCallback(
+    async (id: number) => {
+      const res = await E2_APIgetInfo(id)
+      if (res.code === 0) {
+        // 设置数据和富文本和附件
+        setStoryInfo(res.data)
+        ZRichTextRef.current?.ritxtShowFu(res.data.rtf || '')
+        getFileListByIdsFu(res.data.fileIds.split(',') || [])
+        console.log(res.data)
+      }
+    },
+    [getFileListByIdsFu]
+  )
+
   // 保存或修改
   const saveFu = useCallback(async () => {
     if (!storyInfo.name) return MessageFu.warning('请输入故事标题')
@@ -46,6 +62,7 @@ function E2edit() {
     const obj: any = {
       name: storyInfo.name,
       remark: storyInfo.remark,
+      goodIds: storyInfo.goods.map((v: any) => v.id).join(','),
       id: storyInfo.id > 0 ? storyInfo.id : null,
       fileIds: flieList.map((v: any) => v.id).join(','),
       rtf: rtf.val
@@ -80,15 +97,23 @@ function E2edit() {
         title: '操作',
         render: (item: any) => (
           <>
-            <Button size='small' type='text' onClick={() => tableBtnFu(item.id, '4')}>
+            <Button size='small' type='text' onClick={() => console.log('查看藏品')}>
               查看
             </Button>
-            <MyPopconfirm txtK='删除' onConfirm={() => tableBtnFu(item.id, '2')} />
+            <MyPopconfirm
+              txtK='删除'
+              onConfirm={() =>
+                setStoryInfo({
+                  ...storyInfo,
+                  goods: storyInfo.goods.filter((v: any) => v.id !== item.id)
+                })
+              }
+            />
           </>
         )
       }
     ]
-  }, [tableBtnFu])
+  }, [storyInfo])
   return (
     <div className={styles.D1edit} id='editBox'>
       <div className='editMain'>
@@ -117,7 +142,7 @@ function E2edit() {
             <div className='Edtop1row Edtop1rowFull'>
               <div className='Edtop1ll'>关联产品 :</div>
               <div className='Edtop1rr'>
-                <Button type='primary' onClick={() => console.log('添加藏品')}>
+                <Button type='primary' onClick={() => setShowSelectGoods(true)}>
                   添加藏品
                 </Button>
                 <MyTable
@@ -129,11 +154,24 @@ function E2edit() {
                 />
               </div>
             </div>
+            {/* 添加藏品 */}
+            {showSelectGoods && (
+              <SelectGoods
+                myType='藏品'
+                API_getList={API_getGoodsList}
+                closeFu={() => setShowSelectGoods(false)}
+                baseFormData={sgBaseFormDataGood}
+                topSelectDom={sgTopSelectDomGood}
+                columnsTemp={goodsSonTableC(true)}
+                oldCheckArr={storyInfo.goods || []}
+                dataResFu={res => setStoryInfo({ ...storyInfo, goods: res || [] })}
+              />
+            )}
             <div className='Edtop1row Edtop1rowFull'>
               <div className='Edtop1ll'>故事正文 :</div>
               <div className='Edtop1rr'>
                 <ZRichTextOne
-                  moduleId={1}
+                  moduleId={id !== 'null' ? Number(id) : 0}
                   dirCode='guShiText'
                   check={false}
                   myUrl='cms/story/upload'
@@ -159,8 +197,8 @@ function E2edit() {
               <div className='Edtop1ll'>上传附件 :</div>
               <div className='Edtop1rr'>
                 <Z3upFilesRef
+                  moduleId={id !== 'null' ? Number(id) : 0}
                   ref={fileRef}
-                  moduleId={1}
                   dirCode='guShiTextFile'
                   myUrl='cms/story/upload'
                 />

+ 7 - 0
src/store/action/Cledger/C1ledger.ts

@@ -7,6 +7,13 @@ export const API_getGoodsInfo = (id: number) => {
   return http.get(`cms/good/ledger/detail/${id}`)
 }
 
+/**
+ * 藏品总账-获取藏品列表
+ */
+export const API_getGoodsList = (data: any) => {
+  return http.post(`cms/good/ledger/page`, data)
+}
+
 // ----------------故事模块-----------
 /**
  * 故事-新增

+ 1 - 1
src/utils/tableData.ts

@@ -122,7 +122,7 @@ export const storyTableC = [
 // 故事管理里面的添加藏品
 export const storyAndGoodsTableC = [
   ['txt', '藏品登记号', 'num'],
-  ['txt', '封面', 'thumb'],
+  ['img', '封面', 'thumb'],
   ['txt', '藏品标签', 'tagName'],
   ['txt', '藏品名称', 'name']
 ]