关联设备修改6

pull/33/head
lukeyan 1 year ago
parent eda71f5611
commit 6bd6a4c8fe

@ -48,3 +48,35 @@ export function addVideoList(params) {
params
})
}
// 新增智能感应
export function addPerceptionList(params) {
return request({
url: '/safety/tbDevicePerceptionInfo/insert',
method: 'get',
params
})
}
// 修改智能感应
export function changePerceptionList(params) {
return request({
url: '/safety/tbDevicePerceptionInfo/update',
method: 'post',
params
})
}
// 导出视频监控
export function exportVideo(params) {
return request({
url: '/safety/tbDeviceVideoInfo/export',
method: 'post',
params
})
}
// 导出智能感应
export function exportPerception(params) {
return request({
url: '/safety/tbDevicePerceptionInfo/export',
method: 'post',
params
})
}

@ -4,6 +4,7 @@
class="dialog"
:title="dialogTitle"
:visible.sync="visible"
@close="close()"
:close-on-click-modal="false"
width="970px"
>
@ -18,13 +19,10 @@
:disabled="disabled"
>
<el-form-item label="企业名称" prop="companyName">
<el-select
ref="companySelect"
v-model="form.companyName"
placeholder="请选择企业"
>
<el-select v-model="form.companyName" placeholder="请选择企业">
<el-option
v-for="item in form.company"
v-for="item in list.company"
@click.native="companyNameselected(item.companyName, item.id)"
:key="item.id"
:label="item.companyName"
:value="item.id"
@ -32,8 +30,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item>
</el-form-item>
<el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="form.deviceName"></el-input>
</el-form-item>
@ -46,13 +43,14 @@
<el-form-item label="登录密码" prop="password">
<el-input v-model="form.password"></el-input>
</el-form-item>
<el-form-item label="设备大类" prop="deviceVideoParentType">
<el-form-item label="设备大类" prop="devicePerceptionParentTypeCn">
<el-select
v-model="form.deviceVideoParentType"
v-model="form.devicePerceptionParentTypeCn"
placeholder="请选择设备大类"
>
<el-option
v-for="item in form.perception_type"
v-for="item in list.perception_type"
@click.native="parent_selected(item.dictLabel,item.dictValue)"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -60,13 +58,30 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="设备小类" prop="deviceVideoSubType">
<el-form-item label="是否卡口" prop="isDoorwayVideoCn">
<el-select
ref="isDoorwayVideoCn"
v-model="form.isDoorwayVideoCn"
placeholder="请选择是否卡口"
>
<el-option
v-for="item in list.isDoorwayVideoList"
@click.native="isDoorselected(item.id)"
:key="item.id"
:label="item.label"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="设备小类" prop="devicePerceptionSubTypeCn">
<el-select
v-model="form.deviceVideoSubType"
v-model="form.devicePerceptionSubTypeCn"
placeholder="请选择设备小类"
>
<el-option
v-for="item in form.video_type"
v-for="item in list.video_type"
@click.native="perception_selected(item.dictLabel,item.dictValue)"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -126,10 +141,24 @@
<el-form-item label="U3D高度" prop="u3dHeight">
<el-input v-model="form.u3dHeight"></el-input>
</el-form-item>
<el-form-item label="设备方位" prop="orientation">
<el-select v-model="form.orientation" placeholder="请选择设备方位">
<el-form-item label="进出方向" prop="directionCn">
<el-select v-model="form.directionCn" placeholder="请选择进出方向">
<el-option
v-for="item in form.orientation_types"
v-for="item in list.directionList"
:key="item.id"
:label="item.label"
:value="item.label"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="设备方位" prop="orientationCn">
<el-select
v-model="form.orientationCn"
placeholder="请选择设备方位"
>
<el-option
v-for="item in list.orientation_types"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@ -137,7 +166,11 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="安装位置" prop="deviceAddress">
<el-form-item
label="安装位置"
prop="deviceAddress"
class="deviceAddress_text"
>
<el-input v-model="form.deviceAddress"></el-input>
</el-form-item>
</el-form>
@ -169,11 +202,10 @@
</div>
<div slot="footer" class="dialog-footer">
<el-button
@click="
saveFormData('equipmentForm', 'videoForm', 'addressForm', 'otherForm')
"
@click="saveFormData('equipmentForm', 'videoForm', 'addressForm')"
> </el-button
>
<!-- <el-button @click="save()"></el-button> -->
<el-button @click="close()"> </el-button>
</div>
</el-dialog>
@ -182,27 +214,43 @@
import {
commonDict,
getCompanyList,
addVideoList,
addPerceptionList,
changePerceptionList,
} from "@/api/correlationEquipment";
import { debounce } from "@/utils/publicMethod_lxy/debounce.js";
// import { debounce } from "@/utils/publicMethod_lxy/debounce.js";
export default {
name: "addVideoDialog",
name: "addPerceptionDialog",
data() {
return {
visible: false,
dialogTitle: "新建",
dialogTitle: "",
list: {
company: [],
video_type: [],
perception_type: [],
isDoorwayVideoList: [
{ label: "是", id: "1" },
{ label: "否", id: "2" },
],
directionList: [
{ label: "进", id: "1" },
{ label: "出", id: "2" },
],
orientation_types: [],
},
form: {
//
companyId: "",
companyName: "",
company: [],
deviceName: "",
deviceIp: "",
deviceVideoParentType: "",
deviceParentType: "", //
video_type: [],
deviceVideoSubType: "", //
perception_type: [],
// deviceVideoParentType: "",
devicePerceptionSubType: "", //
devicePerceptionSubTypeCn: "", //
devicePerceptionParentType: "", //
devicePerceptionParentTypeCn: "", //
isDoorwayVideoCn: "",
isDoorwayVideo: "",
account: "",
password: "",
//
@ -217,8 +265,9 @@ export default {
u3dLatitude: "",
deviceHeight: "",
u3dHeight: "",
directionCn: "",
orientation: "",
orientation_types: [],
orientationCn: "",
deviceAddress: "",
//
deviceBrand: "",
@ -227,8 +276,6 @@ export default {
deviceSn: "",
deviceMac: "",
devicePort: "",
isDoorwayVideo: "",
isShowVideo: "",
},
disabled: false, //
rules: {
@ -241,10 +288,10 @@ export default {
deviceIp: [
{ required: true, message: "请填写设备ip", trigger: "blur" },
],
deviceVideoParentType: [
devicePerceptionParentTypeCn: [
{ required: true, message: "请选择设备大类", trigger: "change" },
],
deviceVideoSubType: [
devicePerceptionSubTypeCn: [
{ required: true, message: "请选择设备小类", trigger: "change" },
],
gbsChannelNo: [
@ -265,64 +312,77 @@ export default {
},
};
},
created() {
created() {},
methods: {
open(num, row) {
if (num === "1") {
this.dialogTitle = "新建";
this.disabled = false;
} else if (num === "2") {
this.dialogTitle = "编辑";
this.form = row;
this.disabled = false;
console.log("row12345", row);
} else if (num === "5") {
this.dialogTitle = "详情";
this.form = row;
this.disabled = true;
}
this.visible = true;
//
const params = {
dictType: "device_video_sub_type",
};
commonDict(params).then((res) => {
this.form.video_type = res.data;
this.list.video_type = res.data;
});
//
const val = {
dictType: "device_perception_sub_type",
};
//
commonDict(val).then((res) => {
this.form.perception_type = res.data;
this.list.perception_type = res.data;
});
//
const param_op = {
dictType: "orientation",
};
commonDict(param_op).then((res) => {
this.form.orientation_types = res.data;
this.list.orientation_types = res.data;
});
//
getCompanyList().then((res) => {
this.form.company = res.data;
this.list.company = res.data;
});
},
methods: {
open(num, row) {
this.visible = true;
if (num === "1") {
this.dialogTitle = "新建";
} else if (num === "2") {
this.dialogTitle = "编辑";
this.form = row;
} else if (num === "5") {
this.dialogTitle = "详情";
this.form = row;
this.disabled = true;
}
isDoorselected(value) {
this.form.isDoorwayVideo = value; //
},
companyNameselected(name, value) {
this.form.companyName = name;
this.form.companyId = value; //
},
parent_selected(label,value) {
this.form.devicePerceptionParentTypeCn = label
this.form.devicePerceptionParentType = value; //
console.log("this.form3333", this.form);
},
perception_selected(label,value) {
this.form.devicePerceptionSubTypeCn = label
this.form.devicePerceptionSubType = value; //
console.log("this.form2222", this.form);
},
//
saveFormData: debounce(function (formName1, formName2, formName3) {
saveFormData(formName1,formName2,formName3) {
if (this.dialogTitle === "新建") {
this.$refs[formName1].validate((valid1) => {
if (valid1) {
this.$refs[formName2].validate((valid2) => {
if (valid2) {
this.$refs[formName3].validate((valid3) => {
if (valid3) {
delete this.form.company;
delete this.form.video_type;
delete this.form.perception_type;
delete this.form.orientation_types;
this.form.companyId = this.$refs.companySelect.selected.value; // id
const params = this.form;
console.log("this.form", this.form);
if (this.dialogTitle === "新建") {
addVideoList(params)
addPerceptionList(params)
.then((res) => {
this.visible = false;
this.$message({
@ -334,6 +394,35 @@ export default {
console.log(err); //
});
}
}); //
} else {
this.$message.warning("请填入必填项");
}
}); //
} else {
this.$message.warning("请填入必填项");
}
}); //
} else if (this.dialogTitle === "编辑") {
this.$refs[formName1].validate((valid) => {
if (valid) {
this.$refs[formName2].validate((valid) => {
if (valid) {
this.$refs[formName3].validate((valid) => {
if (valid) {
console.log('this.form123', JSON.stringify(this.form))
console.log('this.form124', JSON.parse(JSON.stringify(this.form)))
changePerceptionList(JSON.parse(JSON.stringify(this.form)))
.then((res) => {
console.log(res);
console.log('this.form125', JSON.parse(JSON.stringify(this.form)))
this.visible = false;
this.$message.success("编辑成功");
})
.catch((err) => {
console.log(err); //
this.$message.warning("编辑失败");
});
} else {
this.$message.warning("请填入必填项");
}
@ -345,20 +434,24 @@ export default {
} else {
this.$message.warning("请填入必填项");
}
}); //
}, 300),
});
}
},
// save() {
// console.log('this.form7777',this.form);
// },
//
close() {
this.visible = false;
//
//
this.$refs['equipmentForm'].resetFields()
this.$refs["equipmentForm"].resetFields();
//
this.$refs['videoForm'].resetFields()
this.$refs["videoForm"].resetFields();
//
this.$refs['addressForm'].resetFields()
this.$refs["addressForm"].resetFields();
//
this.$refs['otherForm'].resetFields()
this.$refs["otherForm"].resetFields();
},
},
};
@ -477,5 +570,13 @@ export default {
}
}
}
.el-form-item.deviceAddress_text {
width: 900px !important;
.el-form-item__content {
.el-input__inner {
width: 750px;
}
}
}
}
</style>

@ -4,6 +4,7 @@
class="dialog"
:title="dialogTitle"
:visible.sync="visible"
@close="close()"
:close-on-click-modal="false"
width="970px"
>
@ -32,6 +33,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item>
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<el-input v-model="form.deviceName"></el-input>
</el-form-item>

@ -18,8 +18,15 @@
</template>
<script>
import { debounce } from "@/utils/publicMethod_lxy/debounce.js";
import { exportVideo,exportPerception } from "@/api/correlationEquipment";
export default {
name: "DeriveDialog",
props: {
table_title: {
type: String,
default: "",
},
},
data() {
return {
visible: false,
@ -30,7 +37,29 @@ export default {
this.visible = true;
},
confrim: debounce(function () {
this.$message.success("232324234");
if (this.table_title === "视频监控设备列表") {
//
exportVideo().then((res) => {
console.log(123);
console.log(res);
this.$message.success('导出成功')
this.visible = false
}).catch(err=>{
console.log(err);
this.$message.warning('导出失败')
})
} else if (this.table_title === "智能感知设备列表") {
//
exportPerception().then((res) => {
console.log(456);
console.log(res);
this.$message.success('导出成功')
this.visible = false
}).catch(err=>{
console.log(err);
this.$message.warning('导出失败')
})
}
}, 300),
},
};

@ -117,7 +117,7 @@
<AddVideoDialog ref="addVideoDialog"></AddVideoDialog>
<AddPerceptionDialog ref="addPerceptionDialog"></AddPerceptionDialog>
<UploadDialog ref="uploadDialog"></UploadDialog>
<DeriveDialog ref="deriveDialog"></DeriveDialog>
<DeriveDialog ref="deriveDialog" :table_title="table_title"></DeriveDialog>
</div>
</template>
<script>
@ -384,7 +384,7 @@ export default {
}
/deep/.el-table {
height: 35vh;
height: 27vh;
thead {
text-align: center;
color: #fff;

@ -266,7 +266,7 @@ export default {
/* 左侧 */
.cardBodyLeft {
width: 25%;
height: 97%;
height: 75vh;
background: rgba(23, 36, 36, 0.4);
border: 0.5px solid #485f6c;
border-radius: 4px;
@ -316,7 +316,7 @@ export default {
height: 69vh;
.el-tree {
/* 树形数据过长添加滚动条 */
height: 96%;
height: 65vh;
overflow: auto;
// box-shadow: 5px 5px 10px #126a58;
border-radius: 4px;
@ -399,6 +399,7 @@ export default {
}
/* 竖分割线 */
.el-divider.el-divider--vertical {
opacity: 0;
margin-left: 13px;
height: 100%;
}
@ -412,7 +413,7 @@ export default {
text-shadow: 0 0 9px rgba(21, 255, 198, 0.64);
}
width: 74%;
height: 97%;
height: 75vh;
border-radius: 4px;
background: rgba(31, 45, 49, 0.4);
border: 0.5px solid #485f6c;

Loading…
Cancel
Save