Browse Source

Merge branch 'dev_trial' of https://gitea.free-sun.vip/free-sun/FS-IOT into dev_trial

release_0.0.2
yuan_yi 3 years ago
parent
commit
b009f18bc2
  1. 90
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/actions/camera.js
  2. 27
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/actions/nvr.js
  3. 19
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/sideSheet.jsx
  4. 180
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/containers/camera.jsx
  5. 975
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/containers/nvr.jsx

90
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/actions/camera.js

@ -4,50 +4,50 @@ import { basicAction } from "@peace/utils";
import { ApiTable } from "$utils";
export function getCamera(query) {
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_CAMREA",
query: query,
url: `${ApiTable.getCamera}`,
msg: { option: "获取摄像头列表信息" },
reducer: { name: "equipmentWarehouseCamera" },
});
}
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_CAMREA",
query: query,
url: `${ApiTable.getCamera}`,
msg: { option: "获取摄像头列表信息" },
reducer: { name: "equipmentWarehouseCamera", params: { noClear: true } },
});
}
export function putForbidden(data) {
return (dispatch) =>
basicAction({
type: "put",
dispatch: dispatch,
actionType: "PUT_FORBIDDEN",
data,
url: `${ApiTable.putForbidden}`,
msg: { option: "" }, //禁用摄像头
reducer: {},
});
}
export function putForbidden(data, forbidden) {
return (dispatch) =>
basicAction({
type: "put",
dispatch: dispatch,
actionType: "PUT_FORBIDDEN",
data,
url: `${ApiTable.putForbidden}`,
msg: { option: forbidden ? "启用":"禁用" }, //禁用摄像头
reducer: {},
});
}
export function getCameraDetails(orgId) {
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_CAMREA_DETAILS",
url: `${ApiTable.getCameraDetails.replace("{cameraId}", orgId)}`,
msg: { option: "" }, //获取摄像头详情
reducer: { name: "nvrDetails" },
});
}
export function getAbility() {
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_ABILITY",
url: `${ApiTable.getAbility}`,
msg: { option: "获取摄像头能力列表" },
reducer: { name: "equipmentWarehouseCamera" },
});
}
export function getCameraDetails(orgId) {
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_CAMREA_DETAILS",
url: `${ApiTable.getCameraDetails.replace("{cameraId}", orgId)}`,
msg: { option: "" }, //获取摄像头详情
reducer: { name: "nvrDetails" },
});
}
export function getAbility() {
return (dispatch) =>
basicAction({
type: "get",
dispatch: dispatch,
actionType: "GET_ABILITY",
url: `${ApiTable.getAbility}`,
msg: { option: "获取摄像头能力列表" },
reducer: { name: "equipmentWarehouseCamera" },
});
}

27
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/actions/nvr.js

@ -24,7 +24,7 @@ export function getNvr(query) {
query: query,
url: `${ApiTable.getNvr}`,
msg: { option: "获取nvr列表信息" },
reducer: { name: "equipmentWarehouseNvr" },
reducer: { name: "equipmentWarehouseNvr", params: { noClear: true } },
});
}
@ -35,21 +35,24 @@ export function getNvrDetails(orgId) {
dispatch: dispatch,
actionType: "GET_NVR_DETAILS",
url: `${ApiTable.getNvrDetails.replace("{nvrId}", orgId)}`,
msg: { option: "" }, //获取nvr详情
msg: { option: "" }, //获取nvr详情
reducer: { name: "nvrDetails" },
});
}
export function delNvr(orgId) {
return (dispatch) =>
basicAction({
type: "del",
dispatch: dispatch,
actionType: "DEL_NVR",
url: `${ApiTable.delNvr.replace("{nvrId}", orgId)}`,
msg: { option: "删除NVR" },
reducer: { name: "" },
});
}
return (dispatch) =>
basicAction({
type: "del",
dispatch: dispatch,
actionType: "DEL_NVR",
url: `${ApiTable.delNvr.replace("{nvrId}", orgId)}`,
msg: {
option:
"删除成 功!被删除的设备会被存放在“设备回收站”中。并植入“设备回收站”路径。",
},
reducer: { name: "" },
});
}
export function addchangeNvr(data) {
return (dispatch) =>
basicAction({

19
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/sideSheet.jsx

@ -33,7 +33,7 @@ function SideSheets(props) {
basics: [
{ name: "设备名称:", key: "name" },
{ name: "设备编号:", key: "serialNo" },
{ name: "接入方式:", key: "type" },
{ name: "接入方式:", key: "accessWay" },
{ name: "厂商:", key: "venderId" },
{ name: "添加账号:", key: "createUser" },
{ name: "添加时间:", key: "createTime" },
@ -148,8 +148,8 @@ function SideSheets(props) {
equipmentScrollbar = new PerfectScrollbar("#equipment_information", {
suppressScrollX: true,
});
console.log(nvrDetails);
});
console.log(nvrDetails);
}, []);
useEffect(() => {
@ -340,13 +340,16 @@ function SideSheets(props) {
<span
style={{ fontWeight: "600", color: " #34383E" }}
>
{item.key == "typ"
? accessType.find((v) => v.key == nvrDetails.type)
.name
: item.key == "venderId"
? venderList.find(
(v) => v.id == nvrDetails.venderId
{item.key == "type"
? accessType.find(
(v) => v.key == nvrDetails.type
).name
: item.key == "venderId"
? nvrDetails.venderId
? venderList.find(
(v) => v.id == nvrDetails.venderId
).name
: ""
: item.key == "createUser"
? nvrDetails.createUser.namePresent
: item.key == "createTime"

180
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/containers/camera.jsx

@ -10,6 +10,8 @@ import {
Pagination,
Popover,
Tag,
Skeleton,
Popconfirm,
} from "@douyinfe/semi-ui";
import "../style.less";
import CameraModal from "../components/cameraModal";
@ -100,7 +102,7 @@ const CameraHeader = (props) => {
modalName="revise"
venderList={venderList}
close={() => {
equipmentGetNvr();
equipmentGetCamera();
}}
/>
</Button>
@ -115,30 +117,62 @@ const CameraHeader = (props) => {
>
查看
</Button>
<Button theme="borderless">播放</Button>
<Button
theme="borderless"
onClick={() => {
console.log(row.id, !row.forbidden);
dispatch(
equipmentWarehouse.putForbidden({
cameraId: row.id,
forbidden: !row.forbidden,
})
);
}}
>
{row.forbidden ? "启用" : "禁用"}
</Button>
<Button
theme="borderless"
onClick={() => {
dispatch(equipmentWarehouse.delNvr(row.id));
equipmentGetNvr();
{row.forbidden ? (
<Button
theme="borderless"
onClick={() => {
dispatch(
equipmentWarehouse.putForbidden(
{
cameraId: row.id,
forbidden: !row.forbidden,
},
row.forbidden
)
).then(() => {
equipmentGetCamera();
});
}}
>
启用
</Button>
) : (
<Popconfirm
title="禁用后下级业务系统将无法获取该视频流的所有信息。"
arrowPointAtCenter={false}
showArrow={true}
position="topRight"
onConfirm={() => {
dispatch(
equipmentWarehouse.putForbidden(
{
cameraId: row.id,
forbidden: !row.forbidden,
},
row.forbidden
)
).then(() => {
equipmentGetCamera();
});
}}
>
<Button theme="borderless">禁用</Button>
</Popconfirm>
)}
<Popconfirm
title="删除NVR会删除端口下的所有摄像头,是否确定删除?"
arrowPointAtCenter={false}
showArrow={true}
position="topRight"
onConfirm={() => {
dispatch(equipmentWarehouse.delNvr(row.id)).then(() => {
equipmentGetCamera();
});
}}
>
删除
</Button>
<Button theme="borderless">删除</Button>
</Popconfirm>
</div>
);
},
@ -203,13 +237,17 @@ const CameraHeader = (props) => {
dataIndex: "updateTime",
key: "name",
render: (_, r, index) => {
return r.station.map((item, index) =>
station(
item.structure.projects[0].name,
item.structure.projects,
"name"
)
);
return r.station.length == 0
? ""
: r.station.map((item, index) => {
return item.structure.projects.length == 0
? ""
: station(
r.station[0].structure.projects[0].name,
item.structure.projects,
"name"
);
});
},
},
{
@ -217,13 +255,17 @@ const CameraHeader = (props) => {
dataIndex: "updateTime",
key: "pcode",
render: (_, r, index) => {
return r.station.map((item, index) =>
station(
item.structure.projects[0].url,
item.structure.projects,
"url"
)
);
return r.station.length == 0
? ""
: r.station.map((item, index) => {
return item.structure.projects.length == 0
? ""
: station(
r.station[0].structure.projects[0].url,
item.structure.projects,
"url"
);
});
},
},
{
@ -231,11 +273,9 @@ const CameraHeader = (props) => {
dataIndex: "updateTime",
key: "structure",
render: (_, r, index) => {
return station(
r.station[0].structure.name,
r.station,
"structure.name"
);
return r.station.length == 0
? ""
: station(r.station[0].structure.name, r.station, "structure.name");
},
},
{
@ -243,7 +283,9 @@ const CameraHeader = (props) => {
dataIndex: "updateTime",
key: "measuringPoint",
render: (_, r, index) => {
return station(r.station[0].name, r.station, "name");
return r.station.length == 0
? ""
: station(r.station[0].name, r.station, "name");
},
},
{
@ -251,7 +293,9 @@ const CameraHeader = (props) => {
dataIndex: "updateTime",
key: "factor",
render: (_, r, index) => {
return station(r.station[0].factor.name, r.station, "factor.name");
return r.station.length == 0
? ""
: station(r.station[0].factor.name, r.station, "factor.name");
},
},
];
@ -495,6 +539,11 @@ const CameraHeader = (props) => {
border: "1px solid #D9D9D9",
marginBottom: 20,
}}
onClick={() => {
api.current.reset();
setearch({});
equipmentGetCamera();
}}
>
重置
</Button>
@ -558,16 +607,37 @@ const CameraHeader = (props) => {
</Button>
</div>
</div>
<Table
columns={setupp.filter(s => s)}
dataSource={equipmentWarehouseCamera.data}
bordered={false}
empty="暂无数据"
style={{
padding: "0px 20px",
}}
pagination={false}
/>
<Skeleton
loading={!loading}
placeholder={
<Table
columns={setupp.filter((s) => s)}
// dataSource={[
// { name: "" },
// { key: "" },
// { name: "" },
// { name: "" },
// { name: "" },
// { name: "" },
// { name: "" },
// ]}
pagination={false}
style={{ background: "rgba(217, 216, 216, 1)" }}
empty=" "
/>
}
>
<Table
columns={setupp.filter((s) => s)}
dataSource={equipmentWarehouseCamera.data}
bordered={false}
empty="暂无数据"
style={{
padding: "0px 20px",
}}
pagination={false}
/>
</Skeleton>
<div
style={{
display: "flex",
@ -641,7 +711,7 @@ const CameraHeader = (props) => {
function mapStateToProps(state) {
const { auth, global, members, equipmentWarehouseCamera } = state;
return {
loading: members.isRequesting,
loading: equipmentWarehouseCamera.isRequesting,
user: auth.user,
actions: global.actions,
members: members.data,

975
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/containers/nvr.jsx

File diff suppressed because it is too large
Loading…
Cancel
Save