|
@@ -2,6 +2,7 @@ import { apibookAuthorListAll } from '@/services/book/author';
|
|
import { apiBookContentLabelListAll } from '@/services/book/bookTags';
|
|
import { apiBookContentLabelListAll } from '@/services/book/bookTags';
|
|
import { apibookCategoryListAll } from '@/services/book/classifyList';
|
|
import { apibookCategoryListAll } from '@/services/book/classifyList';
|
|
import { enumDictList } from '@/services/global';
|
|
import { enumDictList } from '@/services/global';
|
|
|
|
+import { Badge } from 'antd';
|
|
import { useReducer } from 'react';
|
|
import { useReducer } from 'react';
|
|
|
|
|
|
type State = {
|
|
type State = {
|
|
@@ -34,7 +35,7 @@ export function reducer(state: State, action: Action) {
|
|
export default (): {
|
|
export default (): {
|
|
state: State;
|
|
state: State;
|
|
init: () => void;
|
|
init: () => void;
|
|
- getEnum: (enumName: string, type: "map" | "arr" | "obj",stateEnum?:{success?:number,error?:number,default?:number,processing?:number,warning:number}) => any;
|
|
|
|
|
|
+ getEnum: (enumName: string, type: "map" | "arr" | "obj" | "stateObj", stateEnum?: any) => any;
|
|
getLabelAndClassList: (params?: { workDirection: number | string }) => Promise<boolean>;
|
|
getLabelAndClassList: (params?: { workDirection: number | string }) => Promise<boolean>;
|
|
} => {
|
|
} => {
|
|
const [state, dispatch] = useReducer(reducer, {});
|
|
const [state, dispatch] = useReducer(reducer, {});
|
|
@@ -110,8 +111,8 @@ export default (): {
|
|
* @param enumName 枚举名称
|
|
* @param enumName 枚举名称
|
|
* @param type 类型 "map" 通用在列表中选中值输出值会变成number | "arr" 数组类型返回 | "obj" 对象类型返回 再列表中选中输出值为string | "stateObj" 带状态徽标返回的对象
|
|
* @param type 类型 "map" 通用在列表中选中值输出值会变成number | "arr" 数组类型返回 | "obj" 对象类型返回 再列表中选中输出值为string | "stateObj" 带状态徽标返回的对象
|
|
* @param stateEnum 类型 "stateObj" 时传入映射对象 {success?:number,error?:number,default?:number,processing?:number,warning:number} number为对应值展示什么状态
|
|
* @param stateEnum 类型 "stateObj" 时传入映射对象 {success?:number,error?:number,default?:number,processing?:number,warning:number} number为对应值展示什么状态
|
|
- * */
|
|
|
|
- const getEnum = (enumName: string, type: "map" | "arr" | "obj" | "stateObj",stateEnum?:{success?:number,error?:number,default?:number,processing?:number,warning:number}) => {
|
|
|
|
|
|
+ * */
|
|
|
|
+ const getEnum = (enumName: string, type: "map" | "arr" | "obj" | "stateObj", stateEnum?: any) => {
|
|
let arr = state?.enumList?.[enumName]?.values
|
|
let arr = state?.enumList?.[enumName]?.values
|
|
// console.log("arr",enumName,arr)
|
|
// console.log("arr",enumName,arr)
|
|
switch (type) {
|
|
switch (type) {
|
|
@@ -131,8 +132,7 @@ export default (): {
|
|
let stateObj: any = {}
|
|
let stateObj: any = {}
|
|
if (arr && stateEnum) {
|
|
if (arr && stateEnum) {
|
|
for (let item of arr) {
|
|
for (let item of arr) {
|
|
- let state = stateEnum
|
|
|
|
- obj[item?.value] = { text: item?.description, disabled: false }
|
|
|
|
|
|
+ stateObj[item?.value] = { text: <Badge status={stateEnum[item?.value]} text={item.description} />, disabled: false }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return stateObj
|
|
return stateObj
|