|
@@ -28,15 +28,20 @@ type DataItem = {
|
|
|
type Props = {
|
|
|
value?: any,
|
|
|
onChange?: (v: any) => void
|
|
|
+ closeDrawer?: (v: any) => void
|
|
|
}
|
|
|
+/**
|
|
|
+ * 关于props的值和bookId的操作都是为了在被当做组件选择书籍使用时的逻辑处理
|
|
|
+ * */
|
|
|
const Page: React.FC = (props: Props) => {
|
|
|
let { initialState } = useModel("@@initialState")
|
|
|
let { state, getLabelAndClassList } = useModel('global')
|
|
|
+ let { tabs } = useModel("appPageConifg", modal => ({ tabs: modal.state.tabs }))
|
|
|
let [open, setOpen] = useState<any>(null)//付费配置
|
|
|
let [editValues, setEditValues] = useState<any>({})
|
|
|
let paymentType = useState(0)//付费方式
|
|
|
let paymentCategory = useState(0)//收费货币
|
|
|
- const [editSelectedRow, setEditSelectedRow] = useState<any>(null); //小说列表选择
|
|
|
+ let [bookId, setBookId] = useState<any>(props?.value?.bookId || props?.value)//付费配置
|
|
|
let [isGlobalConfig, setIsGlobalConfig] = useState(false)//
|
|
|
let [workDirection, setWorkDirection] = useState<any>(null)
|
|
|
const [openBook, setOpneBook] = useState<any>(null)//阅读小说
|
|
@@ -57,12 +62,16 @@ const Page: React.FC = (props: Props) => {
|
|
|
}, [workDirection])
|
|
|
// 接口公共参数
|
|
|
let publicData = useMemo(() => {
|
|
|
- return {
|
|
|
+ let pramas = {
|
|
|
appId: initialState?.selectApp?.id || "",
|
|
|
- distributorId: initialState?.currentUser?.distributorId,
|
|
|
appType: initialState?.selectApp?.appType || ""
|
|
|
}
|
|
|
- }, [initialState?.selectApp, initialState?.currentUser?.distributorId])
|
|
|
+ return bookId ? {
|
|
|
+ appId: initialState?.selectApp?.id || "",
|
|
|
+ appType: initialState?.selectApp?.appType || "",
|
|
|
+ bookId
|
|
|
+ } : pramas
|
|
|
+ }, [initialState?.selectApp, bookId])
|
|
|
//获取全局收费配置
|
|
|
const getGlobalInfo = useCallback(() => {
|
|
|
globaleConfig.run(publicData).then(res => {
|
|
@@ -154,22 +163,27 @@ const Page: React.FC = (props: Props) => {
|
|
|
loading={globaleConfig?.loading}
|
|
|
>
|
|
|
<ProTable<any, any>
|
|
|
- params={publicData}
|
|
|
+ // params={publicData}//改变立即触发刷新请求
|
|
|
actionRef={actionRef}
|
|
|
headerTitle={"小说列表"}
|
|
|
rowKey={(r) => r.bookId}
|
|
|
- // {alwaysShowAlert: true, hideSelectAll: true, columnWidth: 0, columnTitle: '', renderCell: () => null}
|
|
|
//多选
|
|
|
rowSelection={!!props?.onChange ? {
|
|
|
hideSelectAll: true,
|
|
|
type: 'radio',
|
|
|
- selectedRowKeys: [props?.value?.bookId],
|
|
|
+ selectedRowKeys: [props?.value?.bookId || props?.value],
|
|
|
onSelect: (record, selected) => {
|
|
|
- // setEditSelectedRow(record)
|
|
|
- console.log(record)
|
|
|
- props?.onChange?.(record)
|
|
|
+ props?.onChange?.({ ...record, ...record?.shortBookInfoVO })
|
|
|
+ props?.closeDrawer?.(false)
|
|
|
},
|
|
|
} : false}
|
|
|
+ // 点击行
|
|
|
+ onRow={(record) => ({
|
|
|
+ onClick: () => {
|
|
|
+ props?.onChange?.({ ...record, ...record?.shortBookInfoVO })
|
|
|
+ props?.closeDrawer?.(false)
|
|
|
+ }
|
|
|
+ })}
|
|
|
tableAlertRender={() => {
|
|
|
let { paymentType, paymentOption, paymentCategory, paymentAmount, paymentCoin, beginPayNo } = globaleConfig?.data?.data || {}
|
|
|
let enumList: any = state?.enumList
|
|
@@ -195,7 +209,8 @@ const Page: React.FC = (props: Props) => {
|
|
|
scroll={{ x: true }}
|
|
|
loading={getParagraphList?.loading || getList?.loading}
|
|
|
// ghost={true}//去除表格的背景一些配置改变ui
|
|
|
- beforeSearchSubmit={(params) => {//处理搜索数据
|
|
|
+ //处理搜索数据
|
|
|
+ beforeSearchSubmit={(params) => {
|
|
|
let newParams = Object.entries(params).reduce((acc: any, [key, value]) => {
|
|
|
// 过滤掉空值,包括空字符串和 null
|
|
|
if (value !== '' && value != null) {
|
|
@@ -209,13 +224,16 @@ const Page: React.FC = (props: Props) => {
|
|
|
}
|
|
|
return acc;
|
|
|
}, {});
|
|
|
+ if (props?.onChange) {
|
|
|
+ newParams.workDirection = tabs
|
|
|
+ }
|
|
|
return newParams
|
|
|
}}
|
|
|
request={async (params) => {
|
|
|
- // if (props?.value) {
|
|
|
- // params = { ...params, bookId: props.value?.bookId }
|
|
|
- // }
|
|
|
- return await getList.run(params)
|
|
|
+ return await getList.run({ ...params, ...publicData }).then(res => {
|
|
|
+ setBookId(null)
|
|
|
+ return res
|
|
|
+ })
|
|
|
}}
|
|
|
columns={columns({ authList: state?.authList, labelList: state.labelList, categoryList: state.categoryList, enumList: state?.enumList, lookBook, closeForm, setWorkDirection, isModal: !!props?.onChange })}
|
|
|
/>
|