111 lines
6.4 KiB
JavaScript
111 lines
6.4 KiB
JavaScript
var __create = Object.create;
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __getProtoOf = Object.getPrototypeOf;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
// file that has been converted to a CommonJS file using a Babel-
|
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
mod
|
|
));
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
|
|
// src/algorithmConfig/algorithmConfig.tsx
|
|
var algorithmConfig_exports = {};
|
|
__export(algorithmConfig_exports, {
|
|
default: () => algorithmConfig_default
|
|
});
|
|
module.exports = __toCommonJS(algorithmConfig_exports);
|
|
var import_react = __toESM(require("react"));
|
|
var import_antd = require("antd");
|
|
var import_theme = __toESM(require("antd/es/theme"));
|
|
var import_meta = require("@zhst/meta");
|
|
var import_base64Images = require("../utils/base64Images");
|
|
var import_algorithmTable = __toESM(require("./components/algorithmTable"));
|
|
var import_timeTemplateTable = __toESM(require("./components/timeTemplateTable"));
|
|
var { useToken } = import_theme.default;
|
|
var Title = (props) => /* @__PURE__ */ import_react.default.createElement("h2", { style: { margin: "18px 16px", fontSize: "14px", color: "rgba(0, 0, 0, 0.88)" } }, props.children);
|
|
var AlgorithmConfig = (0, import_react.forwardRef)((props) => {
|
|
const {
|
|
algorithmTableDataSource = [],
|
|
timeTemplateDataSource = [],
|
|
boxList = [],
|
|
drawListener,
|
|
cropperImageProps = {},
|
|
algorithmTableProps,
|
|
timeTemplateTableProps,
|
|
selectedKey,
|
|
type = "multiple",
|
|
rowKey = "id",
|
|
onSelect,
|
|
title = "盒子名称"
|
|
} = props;
|
|
const { token } = useToken();
|
|
const { type: cropType } = cropperImageProps;
|
|
return /* @__PURE__ */ import_react.default.createElement(import_antd.Flex, { style: { border: `1px solid ${token.colorBorder}`, backgroundColor: token.colorBgBase } }, /* @__PURE__ */ import_react.default.createElement("div", { title, style: { width: "13.9%" } }, /* @__PURE__ */ import_react.default.createElement(Title, null, title), /* @__PURE__ */ import_react.default.createElement("div", { style: { borderTop: `1px solid ${token.colorBorder}` } }, boxList.map((item) => {
|
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
"p",
|
|
{
|
|
key: item.id,
|
|
onClick: () => onSelect == null ? void 0 : onSelect(item.id, item),
|
|
style: {
|
|
margin: 0,
|
|
padding: `${token.paddingXXS}px ${token.paddingLG}px`,
|
|
cursor: "pointer",
|
|
// @ts-ignore
|
|
color: selectedKey === item[rowKey] ? token.colorPrimary : token.colorText,
|
|
// @ts-ignore
|
|
backgroundColor: selectedKey === item[rowKey] ? token.blue1 : token.colorBgBase,
|
|
transition: "0cancelDraw.2s ease"
|
|
}
|
|
},
|
|
item.name
|
|
);
|
|
}))), /* @__PURE__ */ import_react.default.createElement("div", { style: { boxSizing: "border-box", width: "46.3%", textAlign: "center", borderLeft: `1px solid ${token.colorBorder}`, borderRight: `1px solid ${token.colorBorder}` } }, type === "single" ? /* @__PURE__ */ import_react.default.createElement(
|
|
import_meta.CropperImage,
|
|
{
|
|
type: "line",
|
|
onCropEnd: drawListener,
|
|
...cropperImageProps
|
|
}
|
|
) : /* @__PURE__ */ import_react.default.createElement("div", { style: { padding: "84px" } }, /* @__PURE__ */ import_react.default.createElement(
|
|
import_antd.Image,
|
|
{
|
|
width: "62.5%",
|
|
src: import_base64Images.AlgorithmConfigImg,
|
|
preview: false,
|
|
fallback: import_base64Images.ErrorImage
|
|
}
|
|
), /* @__PURE__ */ import_react.default.createElement("h2", null, "请进行批量配置"), /* @__PURE__ */ import_react.default.createElement("ul", { style: { display: "inline-block", paddingLeft: 0, width: "51.8%", listStyle: "none", textAlign: "left", color: token.colorTextLabel } }, /* @__PURE__ */ import_react.default.createElement("li", null, "· 盒子批量配置仅支持同型号盒子;"), /* @__PURE__ */ import_react.default.createElement("li", null, "· 采取覆盖式更新,不保留原有配置,且预警检测框默认全屏范围;"), /* @__PURE__ */ import_react.default.createElement("li", null, "· 人流量统计默认检测线为屏幕中央横向线条,且箭头指向下方;"), /* @__PURE__ */ import_react.default.createElement("li", null, "· 优先选择拉流正常的摄像头。")))), /* @__PURE__ */ import_react.default.createElement("div", { style: { width: "39.8%" } }, /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(Title, null, "时间模板"), /* @__PURE__ */ import_react.default.createElement("div", { style: { padding: `${token.paddingMD}px ${token.paddingSM}px`, borderTop: `1px solid ${token.colorBorder}`, borderBottom: `1px solid ${token.colorBorder}` } }, /* @__PURE__ */ import_react.default.createElement(
|
|
import_timeTemplateTable.default,
|
|
{
|
|
dataSource: timeTemplateDataSource,
|
|
...timeTemplateTableProps
|
|
}
|
|
))), /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement(Title, null, "算法应用"), /* @__PURE__ */ import_react.default.createElement("div", { style: { padding: `${token.paddingMD}px ${token.paddingSM}px`, borderTop: `1px solid ${token.colorBorder}` } }, /* @__PURE__ */ import_react.default.createElement(
|
|
import_algorithmTable.default,
|
|
{
|
|
dataSource: algorithmTableDataSource,
|
|
tableType: type,
|
|
...algorithmTableProps
|
|
}
|
|
)))));
|
|
});
|
|
var algorithmConfig_default = AlgorithmConfig;
|