From 854e8562af2b0f0d4aa170f7b57e701876f250eb Mon Sep 17 00:00:00 2001 From: wang_yp <357754663@qq.com> Date: Tue, 12 Aug 2025 17:56:16 +0800 Subject: [PATCH] fix(icc add hls) --- src/components/b_table.tsx | 27 ++++++++++++++++-- src/components/layout/layout_config.tsx | 1 + src/pages/event/config.tsx | 25 ++++++++-------- src/pages/event_type/config.tsx | 34 ++++++++++++++++++++++ src/pages/event_type/index.tsx | 26 +++++++++++++++++ src/pages/role/role_config.tsx | 38 ++++++++++++------------- src/pages/user/search_config.tsx | 29 +++++++++++++++++++ src/pages/user/user.tsx | 2 ++ src/router/index.tsx | 7 +++++ src/service/user_config.ts | 8 +++++- src/store/index.ts | 2 ++ src/store/thing_type.ts | 13 +++++++++ 12 files changed, 177 insertions(+), 35 deletions(-) create mode 100644 src/pages/event_type/config.tsx create mode 100644 src/pages/event_type/index.tsx create mode 100644 src/pages/user/search_config.tsx create mode 100644 src/store/thing_type.ts diff --git a/src/components/b_table.tsx b/src/components/b_table.tsx index 442c12c..18f978a 100644 --- a/src/components/b_table.tsx +++ b/src/components/b_table.tsx @@ -23,10 +23,13 @@ const BTable = (props: any) => { onPageChange, config, btnText, - children + children, + searchConfig } = props; const [selectedRowKeys, setSelectedRowKeys] = useState([]); const formRef = React.useRef(null); + const searchFormRef = React.useRef(null); + const [record, setRecord] = useState(null); const [isModalOpen, setIsModalOpen] = useState(false); const onSelectChange = (newSelectedRowKeys: React.Key[]) => { @@ -98,12 +101,30 @@ const BTable = (props: any) => { setRecord(null); setIsModalOpen(true); }; + const searchWidget = () => { + return ( + <> + {searchConfig ? { }} + formDatas={searchConfig} /> + : null} + + ) + + + } return ( { - config ? : null + + {searchWidget()} + : null } , children: [ { label: "人员", key: "/source/list" }, + { label: "事件类型", key: "/source/type" }, { label: "事件", key: "/source/event" } ], }, diff --git a/src/pages/event/config.tsx b/src/pages/event/config.tsx index 727bd80..0e2d191 100644 --- a/src/pages/event/config.tsx +++ b/src/pages/event/config.tsx @@ -1,6 +1,7 @@ import { FormType } from "@/components/form/interface"; import { UserDataType } from "@/model/userModel"; import SourceConfig from "@/service/source_config"; +import { EventTypeConfig } from "@/service/user_config"; import { ColumnsType } from "antd/es/table"; export const defaultConfig = [ @@ -31,6 +32,15 @@ export const defaultConfig = [ name: "address", value: "", rules: [{ required: true, message: "请输入事件地点!" }], + }, + { + type: FormType.select, + label: "事件类型", + name: "type_identity", + value: "", + keys:"type_name", + selectUrl: EventTypeConfig.LIST, + rules: [{ required: true, message: "请输入事件地点!" }], }, { type: FormType.input, @@ -70,13 +80,7 @@ export const defaultConfig = [ value: "", rules: [{ required: true, message: "请输入负责人电话!" }], }, - { - type: FormType.input, - label: "负责人身份证", - name: "id_card", - value: "", - rules: [{ required: true, message: "请输入负责人身份证!" }], - }, + { type: FormType.fetchList, label: "参与人员选择", @@ -110,7 +114,7 @@ export const defaultConfig = [ label: "现场拍摄", name: "images", value: [], - rules: [{ required: true, message: "现场图片不能为空!" }], + rules: [], }, ] @@ -153,8 +157,5 @@ export const columns: ColumnsType = [ title: "电话", dataIndex: "tel", }, - { - title: "负责人身份证", - dataIndex: "id_card", - }, + ]; diff --git a/src/pages/event_type/config.tsx b/src/pages/event_type/config.tsx new file mode 100644 index 0000000..3fcda28 --- /dev/null +++ b/src/pages/event_type/config.tsx @@ -0,0 +1,34 @@ +import { FormType } from "@/components/form/interface"; +import { UserDataType } from "@/model/userModel"; +import { ColumnsType } from "antd/es/table"; + +export const defaultConfig = [ + { + type: FormType.input, + label: "事件类型标题", + name: "type_name", + value: "", + rules: [{ required: true, message: "请输入事件类型标题!" }], + }, + { + type: FormType.input, + label: "事件类型描述", + name: "type_desc", + value: "", + }, + +] + + +export const columns: ColumnsType = [ + { + title: "事件类型标题", + dataIndex: "type_name", + fixed: "left", + }, + { + title: "事件类型描述", + dataIndex: "type_desc", + }, + +]; diff --git a/src/pages/event_type/index.tsx b/src/pages/event_type/index.tsx new file mode 100644 index 0000000..6b517fd --- /dev/null +++ b/src/pages/event_type/index.tsx @@ -0,0 +1,26 @@ +import BTable from "@/components/b_table"; +import { Store } from "antd/es/form/interface"; +import { inject, observer } from "mobx-react"; +import { useEffect } from "react"; +import { columns, defaultConfig } from "./config"; + +const EventType= (props: Store) => { + const { thingTypeStore } = props; + useEffect(() => { + thingTypeStore.getlist(); + }, [thingTypeStore]); + + return
+ + +
+} + +export default inject("thingTypeStore")(observer(EventType)); \ No newline at end of file diff --git a/src/pages/role/role_config.tsx b/src/pages/role/role_config.tsx index 9044345..624dccd 100644 --- a/src/pages/role/role_config.tsx +++ b/src/pages/role/role_config.tsx @@ -1,7 +1,7 @@ import { FormType } from "@/components/form/interface"; import { UserDataType } from "@/model/userModel"; -import SourceConfig from "@/service/source_config"; -import { CompanyConfig, DepConfig, MenuConfig } from "@/service/user_config"; +// import SourceConfig from "@/service/source_config"; +// import { CompanyConfig, DepConfig, MenuConfig } from "@/service/user_config"; import { ColumnsType } from "antd/lib/table"; export const defaultConfig = [ @@ -29,15 +29,15 @@ export const defaultConfig = [ // value: "", // rules: [], // }, - { - type: FormType.treeSelect, - label: "所属单位", - name: "company_id", - treeCheckbox:false, - selectUrl: CompanyConfig.LIST, - value: "", - rules: [{ required: true, message: "所属单位不能为空" }], - }, + // { + // type: FormType.treeSelect, + // label: "所属单位", + // name: "company_id", + // treeCheckbox:false, + // selectUrl: CompanyConfig.LIST, + // value: "", + // rules: [{ required: true, message: "所属单位不能为空" }], + // }, // { // type: FormType.treeSelect, // treeCheckbox:true, @@ -69,13 +69,13 @@ export const columns: ColumnsType = [ dataIndex: "desc", }, - { - title: "菜单权限", - dataIndex: "menu_rights", - }, + // { + // title: "菜单权限", + // dataIndex: "menu_rights", + // }, - { - title: "接口权限", - dataIndex: "api_rights", - }, + // { + // title: "接口权限", + // dataIndex: "api_rights", + // }, ]; diff --git a/src/pages/user/search_config.tsx b/src/pages/user/search_config.tsx new file mode 100644 index 0000000..e9c2f44 --- /dev/null +++ b/src/pages/user/search_config.tsx @@ -0,0 +1,29 @@ +import { FormType } from "@/components/form/interface"; +import { CompanyConfig, RoleConfig } from "@/service/user_config"; +export const searchConfig = [ + { + type: FormType.input, + label: "用户名", + name: "user_name", + value: "", + rules: [{ required: true, message: "请输入用户名称!" }], + }, + { + type: FormType.treeSelect, + label: "所属单位", + name: "company_identity", + treeCheckbox: false, + selectUrl: CompanyConfig.LIST, + value: "", + keys: "company_id", + rules: [{ required: true, message: "所属单位不能为空" }], + }, + { + type: FormType.select, + label: "角色", + name: "role_identity", + selectUrl: RoleConfig.LIST, + value: "", + rules: [{ required: true, message: "角色不能为空" }], + }, +]; diff --git a/src/pages/user/user.tsx b/src/pages/user/user.tsx index 0c36485..5cbdb94 100644 --- a/src/pages/user/user.tsx +++ b/src/pages/user/user.tsx @@ -4,6 +4,7 @@ import { useEffect } from "react"; import { Store } from "antd/lib/form/interface"; import { columns, defaultConfig } from "./user_config"; import "./user.less"; +import { searchConfig } from "./search_config"; const User = (props: Store) => { const { usrStore } = props; @@ -28,6 +29,7 @@ const User = (props: Store) => { columns={columns} btnText="添加人员" dataSource={usrStore.list} + searchConfig={searchConfig} deleteCallback={(record) => { usrStore.deleteItem(record); }} diff --git a/src/router/index.tsx b/src/router/index.tsx index b327e0c..e8b4ba8 100644 --- a/src/router/index.tsx +++ b/src/router/index.tsx @@ -10,6 +10,7 @@ import Permission from "@/pages/permission"; import Dep from "@/pages/dep"; import Company from "@/pages/company"; import Event from "@/pages/event"; +import EventType from "@/pages/event_type"; import { My } from "@/pages/my"; import Work from "@/pages/work"; @@ -43,6 +44,12 @@ const routers = createHashRouter([ index: true, element: , }, + { + path: "/source/type", + index: true, + element: , + }, + { path: "/permi/permi", index: true, diff --git a/src/service/user_config.ts b/src/service/user_config.ts index c2ad8ab..c23bee5 100644 --- a/src/service/user_config.ts +++ b/src/service/user_config.ts @@ -45,6 +45,12 @@ class EventConfig { static DELETE: string = "/thing"; static ThingList: string = "/thing/byIdcard"; } +class EventTypeConfig { + static ADD: string = "/thing_type"; + static EDIT: string = "/thing_type"; + static LIST: string = "/thing_type/list"; + static DELETE: string = "/thing_type"; +} class ShareConfig { static ADD: string = "/share"; @@ -54,4 +60,4 @@ class ShareConfig { } -export { RoleConfig, UserConfig, MenuConfig, DepConfig, CompanyConfig, EventConfig,ShareConfig }; \ No newline at end of file +export { RoleConfig, UserConfig, MenuConfig, DepConfig, CompanyConfig, EventConfig, ShareConfig, EventTypeConfig }; \ No newline at end of file diff --git a/src/store/index.ts b/src/store/index.ts index 3b9d470..ef10e78 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -6,6 +6,7 @@ import depStore from './dep'; import companyStore from './company'; import thingStore from './thing'; import shareStore from './share'; +import thingTypeStore from './thing_type'; const store = { usrStore, @@ -16,6 +17,7 @@ const store = { companyStore, thingStore, shareStore, + thingTypeStore }; export default store; \ No newline at end of file diff --git a/src/store/thing_type.ts b/src/store/thing_type.ts new file mode 100644 index 0000000..f5fad3a --- /dev/null +++ b/src/store/thing_type.ts @@ -0,0 +1,13 @@ +import { makeObservable } from "mobx"; +import BaseStore from "./baseStore"; +import { UserDataType } from "@/model/userModel"; +import { EventTypeConfig } from "@/service/user_config"; + +class ThingTypeStore extends BaseStore { + constructor() { + super(EventTypeConfig) + makeObservable(this, {}) + } +} +const thingTypeStore = new ThingTypeStore(); +export default thingTypeStore; \ No newline at end of file