Browse Source

萤石,级联,ipc添加修改时通过接口测试的功能完成

release_0.0.2
wenlele 3 years ago
parent
commit
3430ecb5e2
  1. 35
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/actions/camera.js
  2. 172
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/cameraModal.jsx
  3. 2
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/fluoriteCamera.jsx
  4. 1
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/nvrCamera.jsx
  5. 14
      code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/containers/nvr.jsx
  6. 3
      code/VideoAccess-VCMP/web/client/src/utils/webapi.js

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

@ -161,3 +161,38 @@ export function getParentCamera(query) {
msg: { option: "" }, //获取级联摄像头父级设备 msg: { option: "" }, //获取级联摄像头父级设备
}); });
} }
export function getVerifyYingshi(data) {
return (dispatch) =>
basicAction({
type: "post",
dispatch: dispatch,
data,
actionType: "POST_VERIFY_YINGSHI",
url: `${ApiTable.getVerifyYingshi}`,
msg: { option: "" }, //获取级联摄像头父级设备
});
}
export function getVerifyIpc(data) {
return (dispatch) =>
basicAction({
type: "post",
dispatch: dispatch,
data,
actionType: "POST_VERIFY_IPC",
url: `${ApiTable.getVerifyIpc}`,
msg: { option: "" }, //获取级联摄像头父级设备
});
}
export function getVerifyCascade(data) {
return (dispatch) =>
basicAction({
type: "post",
dispatch: dispatch,
data,
actionType: "POST_VERIFY_CASCADE",
url: `${ApiTable.getVerifyCascade}`,
msg: { option: "" }, //获取级联摄像头父级设备
});
}

172
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/cameraModal.jsx

@ -2,6 +2,7 @@ import React, { useState, useRef, useEffect } from "react";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { Modal, Spin } from "@douyinfe/semi-ui"; import { Modal, Spin } from "@douyinfe/semi-ui";
import { IconChevronLeft, IconChevronRight } from "@douyinfe/semi-icons"; import { IconChevronLeft, IconChevronRight } from "@douyinfe/semi-icons";
import moment from "moment";
import FluoriteCamera from "./fluoriteCamera"; import FluoriteCamera from "./fluoriteCamera";
import NvrCamera from "./nvrCamera"; import NvrCamera from "./nvrCamera";
import IpcCamera from "./ipcCamera"; import IpcCamera from "./ipcCamera";
@ -30,7 +31,7 @@ function cameraModal (props) {
const cascadeRef = useRef(); const cascadeRef = useRef();
const nvrRef = useRef(); const nvrRef = useRef();
const [isloading, setloading] = useState(false); //loading const [isloading, setloading] = useState(false); //loading
const [loadingTip, setloadingTip] = useState("获取中...请稍后..."); //loading tip const [loadingTip, setloadingTip] = useState("测试进行中..."); //loading tip
const [okText, setokText] = useState("确定"); //oktext const [okText, setokText] = useState("确定"); //oktext
const [cancelText, setcancelText] = useState("取消"); //text const [cancelText, setcancelText] = useState("取消"); //text
@ -199,13 +200,40 @@ function cameraModal (props) {
} }
} }
//
function toTest () { function toTest () {
if (clickNum == 1) { if (clickNum == 1) {
fluoriteRef.current fluoriteRef.current
.fluoriteCameraForm() .fluoriteCameraForm()
.then((values) => { .then((values) => {
// //
console.log("111111111", values); var front = new moment(); //
setloading(true);
dispatch(
equipmentWarehouse.getVerifyYingshi({
serialNo: values.serialNo,
})
).then((res) => {
var after = new moment(); //
var duration = moment.duration(after.diff(front))._data.milliseconds;
if (res.success) {
setTimeout(() => {
setloadingTip("校验成功");
setTimeout(() => {
setloading(false);
setloadingTip("测试进行中...");
}, 800);
}, duration > 2000 ? 0 : 2000 - duration)
} else {
setTimeout(() => {
setloadingTip("校验失败");
setTimeout(() => {
setloading(false);
setloadingTip("测试进行中...");
}, 800);
}, duration > 2000 ? 0 : 2000 - duration)
}
})
}) })
.catch((errors) => { .catch((errors) => {
// //
@ -216,54 +244,72 @@ function cameraModal (props) {
.ipcCameraForm() .ipcCameraForm()
.then((values) => { .then((values) => {
// //
console.log("111111111", values); console.log(values);
var front = new moment(); //
setloading(true);
dispatch(
equipmentWarehouse.getVerifyIpc({
serialNo: values.serialNo,
})
).then((res) => {
var after = new moment(); //
var duration = moment.duration(after.diff(front))._data.milliseconds;
if (res.success) {
setTimeout(() => {
setloadingTip("校验成功");
setTimeout(() => {
setloading(false);
setloadingTip("测试进行中...");
}, 800);
}, duration > 2000 ? 0 : 2000 - duration)
} else {
setTimeout(() => {
setloadingTip("校验失败");
setTimeout(() => {
setloading(false);
setloadingTip("测试进行中...");
}, 800);
}, duration > 2000 ? 0 : 2000 - duration)
}
})
}) })
.catch((errors) => { .catch((errors) => {
// //
console.log("errors", errors); console.log();
}); });
} else if (clickNum == 4) { } else if (clickNum == 4) {
cascadeRef.current cascadeRef.current
.cascadeCameraForm() .cascadeCameraForm()
.then((values) => { .then((values) => {
// console.log(values);
let chooseList = []; var front = new moment(); //
let nvrCameraList = [ setloading(true);
{ dispatch(
id: 10, equipmentWarehouse.getVerifyCascade({
name: "南昌县1", sip: values.sip,
number: "111111111111111111", })
support: false, ).then((res) => {
change: false, var after = new moment(); //
}, var duration = moment.duration(after.diff(front))._data.milliseconds;
{ if (res.success) {
id: 20, setTimeout(() => {
name: "南昌县2", setloadingTip("校验成功");
number: "222222222222222222", setTimeout(() => {
support: false, setloading(false);
change: false, setloadingTip("测试进行中...");
}, }, 800);
{ }, duration > 2000 ? 0 : 2000 - duration)
id: 30, } else {
name: "南昌县3", setTimeout(() => {
number: "333333333333333333", setloadingTip("校验失败");
support: false, setTimeout(() => {
change: false, setloading(false);
}, setloadingTip("测试进行中...");
{ }, 800);
id: 40, }, duration > 2000 ? 0 : 2000 - duration)
name: "南昌县4", }
number: "444444444444444444", })
support: false,
change: false,
},
];
cascadeRef.current.setNVRcameraList(nvrCameraList);
for (let index = 0; index < nvrCameraList.length; index++) {
chooseList.push(nvrCameraList[index].id);
}
cascadeRef.current.setNvrCheckList(chooseList);
cascadeRef.current.setIsAllChoose(true);
}) })
.catch((errors) => { .catch((errors) => {
// //
@ -284,7 +330,7 @@ function cameraModal (props) {
afterClose={handleAfterClose} afterClose={handleAfterClose}
onCancel={handleCancel} onCancel={handleCancel}
> >
<Spin tip={loadingTip} spinning={isloading}> <>
<div <div
style={{ marginLeft: "-24px", marginRight: "-24px", marginTop: 8 }} style={{ marginLeft: "-24px", marginRight: "-24px", marginTop: 8 }}
> >
@ -484,27 +530,35 @@ function cameraModal (props) {
</div> </div>
<div> <div>
{clickNum == 1 ? ( {clickNum == 1 ? (
<FluoriteCamera <Spin tip={loadingTip} spinning={isloading}>
cRef={fluoriteRef} <FluoriteCamera
CameraKind={CameraKind} cRef={fluoriteRef}
CameraAbility={CameraAbility} CameraKind={CameraKind}
cameraData={cameraData} CameraAbility={CameraAbility}
/> cameraData={cameraData}
/>
</Spin>
) : clickNum == 2 ? ( ) : clickNum == 2 ? (
<NvrCamera nvrRef={nvrRef} cameraData={cameraData} addNvr={addNvr} nvrNumber={nvrNumber} /> <Spin tip={loadingTip} spinning={isloading}>
<NvrCamera nvrRef={nvrRef} cameraData={cameraData} addNvr={addNvr} nvrNumber={nvrNumber} />
</Spin>
) : clickNum == 3 ? ( ) : clickNum == 3 ? (
<IpcCamera <Spin tip={loadingTip} spinning={isloading}>
aRef={ipcRef} <IpcCamera
CameraKind={CameraKind} aRef={ipcRef}
CameraAbility={CameraAbility} CameraKind={CameraKind}
venderList={venderList} CameraAbility={CameraAbility}
cameraData={cameraData} venderList={venderList}
/> cameraData={cameraData}
/>
</Spin>
) : ( ) : (
<CascadeCamera dRef={cascadeRef} cameraData={cameraData} parentCamera={parentCamera} /> <Spin tip={loadingTip} spinning={isloading}>
<CascadeCamera dRef={cascadeRef} cameraData={cameraData} parentCamera={parentCamera} />
</Spin>
)} )}
</div> </div>
</Spin> </>
</Modal> </Modal>
</> </>
); );

2
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/fluoriteCamera.jsx

@ -1,6 +1,6 @@
import React, { useState, useRef, useEffect, useImperativeHandle } from "react"; import React, { useState, useRef, useEffect, useImperativeHandle } from "react";
import { connect } from "react-redux"; import { connect } from "react-redux";
import { Form, Row, Col } from "@douyinfe/semi-ui"; import { Form, Row, Col,Spin } from "@douyinfe/semi-ui";
import "./cameraModal.less"; import "./cameraModal.less";
function fluoriteCamera ({ cRef, CameraKind, CameraAbility, cameraData }) { function fluoriteCamera ({ cRef, CameraKind, CameraAbility, cameraData }) {
const { TextArea } = Form; const { TextArea } = Form;

1
code/VideoAccess-VCMP/web/client/src/sections/equipmentWarehouse/components/nvrCamera.jsx

@ -52,7 +52,6 @@ function nvrCamera ({ dispatch, actions, nvrRef, cameraData, addNvr, nvrNumber }
streamId: cameraDataNvr.serialNo, streamId: cameraDataNvr.serialNo,
}) })
).then((res) => { ).then((res) => {
console.log(res)
let oneData = res.payload.data[0]; let oneData = res.payload.data[0];
let modifyData = res.payload.data.find( let modifyData = res.payload.data.find(
(item) => item.camera == null ? false : item.camera.name == cameraData.name (item) => item.camera == null ? false : item.camera.name == cameraData.name

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

@ -30,7 +30,7 @@ export const accessType = [
]; ];
const NvrHeader = (props) => { const NvrHeader = (props) => {
const { history,dispatch, actions, user, loading, equipmentWarehouseNvr } = props; const { history, dispatch, actions, user, loading, equipmentWarehouseNvr } = props;
const { equipmentWarehouse } = actions; const { equipmentWarehouse } = actions;
const [setup, setSetup] = useState(false); const [setup, setSetup] = useState(false);
const [sideSheet, setSideSheet] = useState(false); const [sideSheet, setSideSheet] = useState(false);
@ -73,12 +73,22 @@ const NvrHeader = (props) => {
OFF: "离线", OFF: "离线",
Alarmed: "未知", Alarmed: "未知",
}; };
const colorStatus = { const colorStatus = {
ON: "#04B234", ON: "#04B234",
ONLINE: "#04B234", ONLINE: "#04B234",
OFF: "rgba(0, 0, 0, 0.45)", OFF: "rgba(0, 0, 0, 0.45)",
Alarmed: "#1859C1", Alarmed: "#1859C1",
}; };
// function colorStatus (data) {
// switch (data) {
// case ON || ONLINE:
// break;
// default:
// break;
// }
// }
const columns = [ const columns = [
{ {
title: "序号", title: "序号",
@ -594,7 +604,7 @@ const NvrHeader = (props) => {
toadd="去添加" toadd="去添加"
visible={reminder} visible={reminder}
onOk={() => { onOk={() => {
history.push({pathname:'/equipmentWarehouse/camera',query:{addNvr:true,serialNo:nvrRef.current.nvrNumber()}}); history.push({ pathname: '/equipmentWarehouse/camera', query: { addNvr: true, serialNo: nvrRef.current.nvrNumber() } });
setReminder(false) setReminder(false)
}} }}
/> />

3
code/VideoAccess-VCMP/web/client/src/utils/webapi.js

@ -31,6 +31,9 @@ export const ApiTable = {
getCascadeSIP: "camera/sip_list/cascade", //获取级联摄像头sip列表 getCascadeSIP: "camera/sip_list/cascade", //获取级联摄像头sip列表
postAddCascade: "camera/create/cascade", //添加级联摄像头 postAddCascade: "camera/create/cascade", //添加级联摄像头
getParentCamera:"camera/cascade_device", //获取级联摄像头父级设备 getParentCamera:"camera/cascade_device", //获取级联摄像头父级设备
getVerifyYingshi:"camera/verify/yingshi", //验证萤石摄像头信息
getVerifyIpc:"camera/verify/ipc", //验证IPC摄像头信息
getVerifyCascade:"camera/verify/cascade", //验证级联摄像头信息
}; };

Loading…
Cancel
Save