fix(icc add hls)
This commit is contained in:
parent
854e8562af
commit
5364d1eace
|
|
@ -24,7 +24,8 @@ const BTable = (props: any) => {
|
||||||
config,
|
config,
|
||||||
btnText,
|
btnText,
|
||||||
children,
|
children,
|
||||||
searchConfig
|
searchConfig,
|
||||||
|
searchCallback,
|
||||||
} = props;
|
} = props;
|
||||||
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
||||||
const formRef = React.useRef<FormInstance>(null);
|
const formRef = React.useRef<FormInstance>(null);
|
||||||
|
|
@ -104,13 +105,28 @@ const BTable = (props: any) => {
|
||||||
const searchWidget = () => {
|
const searchWidget = () => {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{searchConfig ? <SimpleForm
|
{searchConfig ?
|
||||||
formName={"search_form"}
|
<Space size="middle" style={{ display: "flex", alignItems: "start" }}>
|
||||||
formRef={searchFormRef}
|
<SimpleForm
|
||||||
colProps={30}
|
formName={"search_form"}
|
||||||
onFinish={() => { }}
|
rowStyle={"form_style4"}
|
||||||
formDatas={searchConfig} />
|
formRef={searchFormRef}
|
||||||
: null}
|
colProps={30}
|
||||||
|
onFinish={() => {
|
||||||
|
const dats = searchFormRef.current?.getFieldsValue()
|
||||||
|
searchCallback && searchCallback(dats)
|
||||||
|
}}
|
||||||
|
formDatas={searchConfig} />
|
||||||
|
<Button onClick={() => {
|
||||||
|
searchFormRef.current?.submit()
|
||||||
|
}}>查询</Button>
|
||||||
|
<Button onClick={() => {
|
||||||
|
searchFormRef.current?.resetFields()
|
||||||
|
searchFormRef.current?.submit()
|
||||||
|
}}>重置</Button>
|
||||||
|
</Space>
|
||||||
|
|
||||||
|
: null}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -119,12 +135,12 @@ const BTable = (props: any) => {
|
||||||
return (
|
return (
|
||||||
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
|
||||||
{
|
{
|
||||||
config ? <div>
|
config ? <div className="groups">
|
||||||
<Button type="default" onClick={() => addHandler()}>
|
<Button type="default" onClick={() => addHandler()}>
|
||||||
{btnText ?? "添加部门"}
|
{btnText ?? "添加部门"}
|
||||||
</Button>
|
</Button>
|
||||||
{searchWidget()}
|
{searchWidget()}
|
||||||
</div>: null
|
</div> : null
|
||||||
}
|
}
|
||||||
<Table
|
<Table
|
||||||
style={{ height: "100%", overflow: "auto" }}
|
style={{ height: "100%", overflow: "auto" }}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ export const FormCheckBox = (v: FormDatas) => {
|
||||||
}, [v.selectUrl, v.selectList]);
|
}, [v.selectUrl, v.selectList]);
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
.form_style1 {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(1, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form_style2 {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.form_style3 {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form_style4 {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.groups {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
@ -33,6 +33,7 @@ export interface FormDatas {
|
||||||
rules: Array<rules>,
|
rules: Array<rules>,
|
||||||
model: "multiple" | "tags" | undefined
|
model: "multiple" | "tags" | undefined
|
||||||
treeMultiple?: boolean
|
treeMultiple?: boolean
|
||||||
|
placeholder?:string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SimpleFormData {
|
export interface SimpleFormData {
|
||||||
|
|
@ -48,6 +49,8 @@ export interface SimpleFormData {
|
||||||
createCallback?: Function
|
createCallback?: Function
|
||||||
children?: React.ReactElement
|
children?: React.ReactElement
|
||||||
childrenPosi?: boolean
|
childrenPosi?: boolean
|
||||||
|
rowStyle?:string
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,14 +16,15 @@ export const FormSelect = (v: FormDatas) => {
|
||||||
}, [v.selectUrl, v.selectList]);
|
}, [v.selectUrl, v.selectList]);
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
>
|
>
|
||||||
<Select placeholder="" mode={v.model}>
|
<Select placeholder={v.placeholder} mode={v.model}
|
||||||
|
style={{ width: "100%" ,minWidth:"200px"}} >
|
||||||
{list?.map((item: any, index) => {
|
{list?.map((item: any, index) => {
|
||||||
return <Option key={index} value={item.identity}>
|
return <Option key={item.identity} value={item.identity}>
|
||||||
{item[v.keys ?? "name"]}
|
{item[v.keys ?? "name"]}
|
||||||
</Option>
|
</Option>
|
||||||
})}
|
})}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import MapFrom from "../map/MapFrom";
|
||||||
import { FormTreeSelect } from "./tree_select";
|
import { FormTreeSelect } from "./tree_select";
|
||||||
import { FormCheckBox } from "./checkbox";
|
import { FormCheckBox } from "./checkbox";
|
||||||
import DumpSeleft from "./dump_seleft";
|
import DumpSeleft from "./dump_seleft";
|
||||||
|
import "./form_style.less"
|
||||||
|
|
||||||
// import VideoSelect from "../video_select";
|
// import VideoSelect from "../video_select";
|
||||||
const { TextArea } = Input;
|
const { TextArea } = Input;
|
||||||
|
|
@ -28,6 +28,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
name={props.formName}
|
name={props.formName}
|
||||||
ref={props.formRef}
|
ref={props.formRef}
|
||||||
autoComplete="on"
|
autoComplete="on"
|
||||||
|
className={props.rowStyle}
|
||||||
form={form}
|
form={form}
|
||||||
labelCol={{ span: props.span ?? 4 }}
|
labelCol={{ span: props.span ?? 4 }}
|
||||||
wrapperCol={{ span: props.colProps }}
|
wrapperCol={{ span: props.colProps }}
|
||||||
|
|
@ -40,18 +41,18 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.input:
|
case FormType.input:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
>
|
>
|
||||||
<Input />
|
<Input placeholder={v.placeholder} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
);
|
);
|
||||||
case FormType.inputNumber:
|
case FormType.inputNumber:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -62,7 +63,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.password:
|
case FormType.password:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -73,11 +74,11 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.cehckbox:
|
case FormType.cehckbox:
|
||||||
return <FormCheckBox {...v} />
|
return <FormCheckBox {...v} />
|
||||||
case FormType.treeSelect:
|
case FormType.treeSelect:
|
||||||
return <FormTreeSelect {...v} key={v.label} />
|
return <FormTreeSelect {...v} key={v.name} />
|
||||||
case FormType.cehckboxGroup:
|
case FormType.cehckboxGroup:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -96,7 +97,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
{...v}
|
{...v}
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
valuePropName="fileList"
|
valuePropName="fileList"
|
||||||
name={v.name}
|
name={v.name}
|
||||||
|
|
@ -120,7 +121,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.textarea:
|
case FormType.textarea:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -135,7 +136,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.editor:
|
case FormType.editor:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -151,7 +152,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.radio:
|
case FormType.radio:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -168,7 +169,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.date:
|
case FormType.date:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -179,7 +180,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.map:
|
case FormType.map:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -196,7 +197,7 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
case FormType.fetchList:
|
case FormType.fetchList:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -207,12 +208,12 @@ const SimpleForm = (props: SimpleFormData) => {
|
||||||
default:
|
default:
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
>
|
>
|
||||||
<Input defaultValue={v.value} value={v.value} />
|
<Input defaultValue={v.value} value={v.value} placeholder={v.placeholder} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ export const FormTreeSelect = (v: FormDatas) => {
|
||||||
}, [v.selectUrl, v.selectList]);
|
}, [v.selectUrl, v.selectList]);
|
||||||
return (
|
return (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
key={v.label}
|
key={v.name}
|
||||||
label={v.label}
|
label={v.label}
|
||||||
name={v.name}
|
name={v.name}
|
||||||
rules={v.rules}
|
rules={v.rules}
|
||||||
|
|
@ -30,7 +30,7 @@ export const FormTreeSelect = (v: FormDatas) => {
|
||||||
}}
|
}}
|
||||||
multiple={v.treeMultiple}
|
multiple={v.treeMultiple}
|
||||||
showSearch
|
showSearch
|
||||||
style={{ width: '100%' }}
|
style={{ width: '100%',minWidth: '200px' }}
|
||||||
placeholder="请选择"
|
placeholder="请选择"
|
||||||
allowClear
|
allowClear
|
||||||
treeDefaultExpandAll
|
treeDefaultExpandAll
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,18 @@ import SourceConfig from "@/service/source_config";
|
||||||
import { EventTypeConfig } from "@/service/user_config";
|
import { EventTypeConfig } from "@/service/user_config";
|
||||||
import { ColumnsType } from "antd/es/table";
|
import { ColumnsType } from "antd/es/table";
|
||||||
|
|
||||||
|
export const searchConfig = [
|
||||||
|
{
|
||||||
|
type: FormType.select,
|
||||||
|
label: "",
|
||||||
|
name: "type_identity",
|
||||||
|
placeHolder:"事件类型",
|
||||||
|
keys:"type_name",
|
||||||
|
value: "",
|
||||||
|
selectUrl: EventTypeConfig.LIST,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
export const defaultConfig = [
|
export const defaultConfig = [
|
||||||
{
|
{
|
||||||
type: FormType.input,
|
type: FormType.input,
|
||||||
|
|
@ -159,3 +171,4 @@ export const columns: ColumnsType<UserDataType> = [
|
||||||
},
|
},
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import BTable from "@/components/b_table";
|
||||||
import { Store } from "antd/es/form/interface";
|
import { Store } from "antd/es/form/interface";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
import { columns, defaultConfig } from "./config";
|
import { columns, defaultConfig, searchConfig } from "./config";
|
||||||
|
|
||||||
const Event = (props: Store) => {
|
const Event = (props: Store) => {
|
||||||
const { thingStore } = props;
|
const { thingStore } = props;
|
||||||
|
|
@ -13,11 +13,15 @@ const Event = (props: Store) => {
|
||||||
return <div className="contentBox">
|
return <div className="contentBox">
|
||||||
<BTable
|
<BTable
|
||||||
btnText="添加事件"
|
btnText="添加事件"
|
||||||
|
searchConfig={searchConfig}
|
||||||
store={thingStore}
|
store={thingStore}
|
||||||
scroll={{ x: "max-content" }}
|
scroll={{ x: "max-content" }}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
dataSource={thingStore.list ?? []}
|
dataSource={thingStore.list ?? []}
|
||||||
config={defaultConfig}
|
config={defaultConfig}
|
||||||
|
searchCallback={(values) => {
|
||||||
|
thingStore.getlist(values);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
</BTable>
|
</BTable>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -3,27 +3,27 @@ import { CompanyConfig, RoleConfig } from "@/service/user_config";
|
||||||
export const searchConfig = [
|
export const searchConfig = [
|
||||||
{
|
{
|
||||||
type: FormType.input,
|
type: FormType.input,
|
||||||
label: "用户名",
|
label: "",
|
||||||
name: "user_name",
|
name: "user_name",
|
||||||
value: "",
|
value: "",
|
||||||
rules: [{ required: true, message: "请输入用户名称!" }],
|
placeholder: "请输入用户名",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: FormType.treeSelect,
|
type: FormType.treeSelect,
|
||||||
label: "所属单位",
|
label: "",
|
||||||
name: "company_identity",
|
name: "company_identity",
|
||||||
treeCheckbox: false,
|
treeCheckbox: false,
|
||||||
|
placeholder: "请选择所属单位",
|
||||||
selectUrl: CompanyConfig.LIST,
|
selectUrl: CompanyConfig.LIST,
|
||||||
value: "",
|
value: "",
|
||||||
keys: "company_id",
|
keys: "company_id",
|
||||||
rules: [{ required: true, message: "所属单位不能为空" }],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: FormType.select,
|
type: FormType.select,
|
||||||
label: "角色",
|
label: "",
|
||||||
name: "role_identity",
|
name: "role_identity",
|
||||||
selectUrl: RoleConfig.LIST,
|
selectUrl: RoleConfig.LIST,
|
||||||
value: "",
|
value: "",
|
||||||
rules: [{ required: true, message: "角色不能为空" }],
|
placeholder: "请选择角色",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ const User = (props: Store) => {
|
||||||
const element = list[index];
|
const element = list[index];
|
||||||
element.menu_id = element.menu.map((item) => item.menu_identity)
|
element.menu_id = element.menu.map((item) => item.menu_identity)
|
||||||
element.column_ids = element.column.map((item) => item.data_name_id)
|
element.column_ids = element.column.map((item) => item.data_name_id)
|
||||||
element.thing_ids = element.thing.map((item) => item.thing_identity)
|
element.thing_type_ids = element.thing_type.map((item) => item.type_identity)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, [usrStore, usrStore.isRefresh]);
|
}, [usrStore, usrStore.isRefresh]);
|
||||||
|
|
@ -30,6 +30,9 @@ const User = (props: Store) => {
|
||||||
btnText="添加人员"
|
btnText="添加人员"
|
||||||
dataSource={usrStore.list}
|
dataSource={usrStore.list}
|
||||||
searchConfig={searchConfig}
|
searchConfig={searchConfig}
|
||||||
|
searchCallback={(values) => {
|
||||||
|
usrStore.getlist(values);
|
||||||
|
}}
|
||||||
deleteCallback={(record) => {
|
deleteCallback={(record) => {
|
||||||
usrStore.deleteItem(record);
|
usrStore.deleteItem(record);
|
||||||
}}
|
}}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import { UserDataType } from "@/model/userModel";
|
||||||
import { ColumnsType } from "antd/lib/table";
|
import { ColumnsType } from "antd/lib/table";
|
||||||
import { Image } from "antd";
|
import { Image } from "antd";
|
||||||
import { getBirthDateAndGender } from "@/util/util";
|
import { getBirthDateAndGender } from "@/util/util";
|
||||||
import { CompanyConfig, EventConfig, MenuConfig, RoleConfig } from "@/service/user_config";
|
import { CompanyConfig, EventTypeConfig, MenuConfig, RoleConfig } from "@/service/user_config";
|
||||||
import SourceConfig from "@/service/source_config";
|
import SourceConfig from "@/service/source_config";
|
||||||
export const defaultConfig = [
|
export const defaultConfig = [
|
||||||
{
|
{
|
||||||
|
|
@ -47,10 +47,10 @@ export const defaultConfig = [
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: FormType.cehckbox,
|
type: FormType.cehckbox,
|
||||||
label: "事件",
|
label: "事件类型",
|
||||||
name: "thing_ids",
|
name: "thing_type_ids",
|
||||||
selectUrl: EventConfig.LIST,
|
selectUrl: EventTypeConfig.LIST,
|
||||||
keys:"name",
|
keys:"type_name",
|
||||||
value: [],
|
value: [],
|
||||||
rules: [{ required: true, message: "请选择默认数据" }],
|
rules: [{ required: true, message: "请选择默认数据" }],
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue