wangxingyuan 7 months ago
parent
commit
3a026b1621
4 changed files with 175 additions and 29 deletions
  1. +9
    -1
      src/api/point/site_management.js
  2. +2
    -0
      src/views/basedata/patrolpointmnt/patrolpoint/index.vue
  3. +161
    -26
      src/views/point/components/site_VideoDialog.vue
  4. +3
    -2
      src/views/point/site_management.vue

+ 9
- 1
src/api/point/site_management.js View File

@ -128,10 +128,18 @@ export function goto(data){
}) })
} }
// 预置点下发 // 预置点下发
export function presetDotDistribute (params) {
export function issue(params) {
return request({ return request({
url: '/patrol/preset/issue', url: '/patrol/preset/issue',
method: 'get', method: 'get',
params: params params: params
}) })
} }
// 绑定预置点
export function bindingPreset (data) {
return request({
url: '/patrol/preset',
method: 'post',
data: data
})
}

+ 2
- 0
src/views/basedata/patrolpointmnt/patrolpoint/index.vue View File

@ -443,11 +443,13 @@ export default {
data.forEach((item) => { data.forEach((item) => {
idArr.push(item.id.split("_")[1]); idArr.push(item.id.split("_")[1]);
}); });
console.log(idArr,111)
idArr.forEach((id) => { idArr.forEach((id) => {
let show = res0.rows.find( let show = res0.rows.find(
(item) => item.algSubtypeId == id (item) => item.algSubtypeId == id
); );
if (show) { if (show) {
console.log(show,2222)
this.$refs.multipleTable.toggleRowSelection(show, true); this.$refs.multipleTable.toggleRowSelection(show, true);
} }
}); });


+ 161
- 26
src/views/point/components/site_VideoDialog.vue View File

@ -80,17 +80,24 @@
@click="editPresetDot1" @click="editPresetDot1"
title="编辑预置点名称" title="编辑预置点名称"
/> />
<img src="@/assets/images/addImg.png" alt="" />
<img src="@/assets/images/addImg.png" alt="" @click="popoverOpen" />
<el-popover <el-popover
placement="top" placement="top"
width="300" width="300"
v-model="popovervisible" v-model="popovervisible"
trigger="click" trigger="click"
> >
<el-input placeholder="请输入内容" v-model="newpresetName"/>
<el-input placeholder="请输入内容" v-model="newpresetName" />
<div class="popover-footer"> <div class="popover-footer">
<el-button size="mini" type="primary" @click="popovervisibleShow">取消</el-button>
<el-button size="mini" type="primary" @click="setPresetDot1">确定</el-button>
<el-button
size="mini"
type="primary"
@click="popovervisibleShow"
>取消</el-button
>
<el-button size="mini" type="primary" @click="setPresetDot1"
>确定</el-button
>
</div> </div>
</el-popover> </el-popover>
</div> </div>
@ -103,6 +110,7 @@
src="@/assets/images/setImg.png" src="@/assets/images/setImg.png"
alt="" alt=""
title="编辑预置点名称" title="编辑预置点名称"
@click="editPresetDot2"
/> />
</div> </div>
</div> </div>
@ -113,39 +121,72 @@
style="width: 100%" style="width: 100%"
@header-click="clickFun" @header-click="clickFun"
> >
<el-table-column
prop="date"
:label="$t('site_management.ActionType')"
align="center"
>
<el-table-column :label="$t('site_management.ActionType')" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.actionType">
<el-option label="拍照" value="1" />
<el-option label="录像" value="2" />
</el-select>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name"
:label="$t('site_management.RecordingDuration')" :label="$t('site_management.RecordingDuration')"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-model="scope.row.videoTime"
v-if="scope.row.actionType == 2"
class="centered-input"
></el-input>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address"
:label="$t('site_management.NumberOfPhotosTaken')" :label="$t('site_management.NumberOfPhotosTaken')"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-model="scope.row.photoCount"
v-if="scope.row.actionType == 1"
class="centered-input"
></el-input>
<!-- <span v-if="scope.row.actionType == 1">1</span> -->
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="address"
:label="$t('site_management.PhotoInterval')" :label="$t('site_management.PhotoInterval')"
align="center" align="center"
> >
<template slot-scope="scope">
<el-input
v-model="scope.row.photoSeper"
v-if="scope.row.actionType == 1"
class="centered-input"
></el-input>
</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
:render-header="(h, obj) => renderHeader(h, obj, $t('share.addTo'))" :render-header="(h, obj) => renderHeader(h, obj, $t('share.addTo'))"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ $t("share.delete") }}</span>
<el-button
type="text"
size="small"
@click="removeAction(scope.$index)"
>移除</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<template #footer>
<div class="add-btn add-bth1 card-page">
<el-button type="primary" @click="saveDot1">确定</el-button>
<el-button @click="bindingMonitorPointClose">取消</el-button>
</div>
</template>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
@ -157,15 +198,16 @@ import {
PZT, PZT,
fi, fi,
goto, goto,
presetDotDistribute
issue,
bindingPreset,
} from "@/api/point/site_management"; } from "@/api/point/site_management";
export default { export default {
components: { videoPlayer }, components: { videoPlayer },
props: ["pointDialogDataName", "pointDialogShow"],
props: ["pointDialogDataName", "pointDialogShow", "dialogProp"],
data() { data() {
return { return {
bindingMonitorPointTitle: "绑定可见光检测点", bindingMonitorPointTitle: "绑定可见光检测点",
bindingMonitorPointDialogVisible: true,
pointDialogShow: false,
dialogPointTree: [], dialogPointTree: [],
defaultPropsMonitor: { defaultPropsMonitor: {
children: "children", children: "children",
@ -176,17 +218,39 @@ export default {
presetDotNum: "", presetDotNum: "",
PZTData: {}, PZTData: {},
presetName: "", presetName: "",
popovervisible: true,
newpresetName:''
popovervisible: false,
newpresetName: "",
presetData: {
presetPosCode: "",
channelId: "",
eqpbookId: "",
patrolpointId: "",
stdparolPointId: "",
deviceId: "",
presetPosName: "",
stopTime: "",
channelImg: "",
description: "",
presetActionList: [],
presetParamList: [],
presetPointList: [],
},
}; };
}, },
methods: { methods: {
bindingMonitorPointClose() { bindingMonitorPointClose() {
this.bindingMonitorPointDialogVisible = false;
this.pointDialogShow = false;
}, },
// //
handleMonitor(e) { handleMonitor(e) {
console.log(e, 111, this.dialogProp);
if (e.eqpbookId) { if (e.eqpbookId) {
this.presetData.patrolpointId = this.dialogProp.patrolpointId;
this.presetData.stdparolPointId = this.dialogProp.stdparolPointId;
this.presetData.deviceId = this.dialogProp.deviceId;
this.presetData.eqpbookId = e.eqpbookId;
this.presetData.channelId = e.channelId;
this.PZTData = e; this.PZTData = e;
listByEqIdAndChannelId({ listByEqIdAndChannelId({
channelCode: e.channelCode, channelCode: e.channelCode,
@ -232,7 +296,13 @@ export default {
]); ]);
}, },
clickButton(type) { clickButton(type) {
console.log("我点击了" + type + "的列");
// console.log("" + type + "");
this.bindingMonitorPointTableData.push({
actionType: "",
videoTime: "",
photoCount: "1",
photoSeper: "",
});
}, },
clickFun() {}, clickFun() {},
@ -296,6 +366,7 @@ export default {
} }
}, },
presetDotBtn(value) { presetDotBtn(value) {
this.presetData.presetPosCode = value;
this.listByEqIdAndChanneData.forEach((item) => { this.listByEqIdAndChanneData.forEach((item) => {
if (item.dictValue == this.presetDotNum) { if (item.dictValue == this.presetDotNum) {
this.presetName = item.dictLabel; this.presetName = item.dictLabel;
@ -321,13 +392,77 @@ export default {
} }
}); });
}, },
popovervisibleShow(){
this.popovervisible=false;
this.newpresetName="";
popovervisibleShow() {
this.popovervisible = false;
this.newpresetName = "";
},
setPresetDot1() {
let data = {
presetCode: this.presetDotNum,
name: this.presetName,
channelCode: this.PZTData.channelCode,
patroldeviceCode: this.PZTData.patroldeviceCode,
};
issue(data).then((res) => {
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.popovervisible = false;
} else {
this.$message.error(res.msg);
}
});
},
popoverOpen() {
this.popovervisible = true;
},
//
editPresetDot2() {
let data = {
presetCode: this.presetDotNum,
name: this.newpresetName,
channelCode: this.PZTData.channelCode,
patroldeviceCode: this.PZTData.patroldeviceCode,
};
},
//
removeAction() {
this.bindingMonitorPointTableData.splice(index, 1);
}, },
setPresetDot1(){
//
saveDot1() {
this.presetData.presetPosName = this.presetName;
this.presetData.presetActionList = this.bindingMonitorPointTableData;
}
bindingPreset(this.presetData).then((res) => {
console.log(res, 11111);
if (res.code == 200) {
this.$message({
message: res.msg,
type: "success",
});
this.presetData = {
presetPosCode: "",
channelId: "",
eqpbookId: "",
patrolpointId: "",
stdparolPointId: "",
deviceId: "",
presetPosName: "",
stopTime: "",
channelImg: "",
description: "",
presetActionList: [],
presetParamList: [],
};
this.pointDialogShow=false;
} else {
this.$message.error(res.msg);
}
});
},
}, },
mounted() { mounted() {
this.init(); this.init();
@ -446,7 +581,7 @@ export default {
cursor: pointer; cursor: pointer;
} }
} }
.popover-footer{
.popover-footer {
width: 100%; width: 100%;
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;


+ 3
- 2
src/views/point/site_management.vue View File

@ -433,7 +433,7 @@
}}</el-button> }}</el-button>
</span> </span>
</el-dialog> </el-dialog>
<siteVideoDialog :pointDialogDataName="pointDialogDataName" :pointDialogShow="pointDialogShow"/>
<siteVideoDialog :pointDialogDataName="pointDialogDataName" :pointDialogShow="pointDialogShow" :dialogProp="dialogProp"/>
<!-- 绑定可见光监测点 --> <!-- 绑定可见光监测点 -->
<!-- <el-dialog <!-- <el-dialog
:title="bindingMonitorPointTitle" :title="bindingMonitorPointTitle"
@ -985,6 +985,7 @@ export default {
// listByEqIdAndChanneData: [], // listByEqIdAndChanneData: [],
pointDialogDataName:{}, pointDialogDataName:{},
pointDialogShow:false, pointDialogShow:false,
dialogProp:{}
}; };
}, },
mounted() { mounted() {
@ -1038,13 +1039,13 @@ export default {
}, },
changeCurrentRow(row) { changeCurrentRow(row) {
this.dialogProp=row;
this.currentRowId = row.id; // ID this.currentRowId = row.id; // ID
this.RightBtnShow=false this.RightBtnShow=false
this.rowStyle(row); this.rowStyle(row);
}, },
// //
rowStyle(row) { rowStyle(row) {
console.log(row, 1111111111);
if (this.name === row.name) { if (this.name === row.name) {
return { "background-color": "#F7EDED", cursor: "pointer" }; return { "background-color": "#F7EDED", cursor: "pointer" };
} }


Loading…
Cancel
Save