nicecode-v2/packages/material/lib/algorithmConfig/algorithmConfig.js

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;