1
guanqb
2024-01-20 f13afcb61276061871b30bce17a7877287df0b67
src/views/activity/components/polylinePlot.vue
@@ -4,28 +4,36 @@
<template>
    <div>
        <el-dialog :title="lineEditTitle" :visible.sync="lineEditVisible" :modal="true" :close-on-click-modal="false"
            class="edit-line-box" :before-close="cancelSaveLine">
            :modal-append-to-body="true" :append-to-body="true" class="edit-line-box" :before-close="cancelSaveLine">
            <div>
                <div class="value-name-box">设置缓冲范围:</div>
                <div class="input-width-box">
                    <input type="text" v-model="lineWidth" placeholder="请输入..." />
                <div class="line">
                    <div class="value-name-box">描述:</div>
                    <div class="input-width-box" style="flex: 1;">
                        <input style="width: 100%;" type="text" v-model="lineRemark" placeholder="请输入..." />
                    </div>
                </div>
                <div class="units">米</div>
            </div>
            <div>
                <div class="value-name-box">选择范围颜色:</div>
                <div class="pick-color-box">
                    <el-color-picker v-model="chooseColor" :predefine="predefineColors" size="small">
                    </el-color-picker>
                <div class="line">
                    <div class="value-name-box">设置缓冲范围:</div>
                    <div class="input-width-box">
                        <input type="text" v-model="lineWidth" placeholder="请输入..." />
                    </div>
                    <div class="units">米</div>
                </div>
            </div>
            <div class="edit-line-btn-box">
                <el-button @click="lookStartVideo" v-show="isLineEdit">查看视频</el-button>
                <el-button @click="editLineInfo" v-show="isLineEdit">编辑</el-button>
                <el-button @click="saveLineInfo" v-show="isLineEdit">保存</el-button>
                <el-button @click="deleteLine" v-show="isLineEdit">删除</el-button>
                <el-button @click="addLineInfo" v-show="!isLineEdit">添加</el-button>
                <el-button @click="cancelSaveLine">取消</el-button>
                <div class="line">
                    <div class="value-name-box">选择范围颜色:</div>
                    <div class="pick-color-box">
                        <el-color-picker v-model="chooseColor" :predefine="predefineColors" size="small">
                        </el-color-picker>
                    </div>
                </div>
                <div class="btn-box">
                    <el-button @click="lookStartVideo" v-show="isLineEdit">查看视频</el-button>
                    <el-button @click="editLineInfo" v-show="isLineEdit">编辑</el-button>
                    <el-button @click="saveLineInfo" v-show="isLineEdit">保存</el-button>
                    <el-button @click="deleteLine" v-show="isLineEdit">删除</el-button>
                    <el-button @click="addLineInfo" v-show="!isLineEdit">添加</el-button>
                    <el-button @click="cancelSaveLine">取消</el-button>
                </div>
            </div>
        </el-dialog>
    </div>
@@ -48,6 +56,7 @@
        return {
            lineEditTitle: '修改巡逻路线',
            isLineEdit: true,
            lineRemark: "",
            lineWidth: 100,
            chooseColor: '#1CA085',
            policeIconId: {},
@@ -75,6 +84,7 @@
        addPopupShow (positions, altitude) {
            this.lineEditTitle = '新增巡逻路线'
            this.chooseColor = '#1CA085'
            this.lineRemark = ''
            this.lineWidth = 100
            this.isLineEdit = false
            polygonAltArray = altitude
@@ -94,6 +104,7 @@
            curLinePosition = e.overlay.attrParams.linePositionStr
            curLinePolygonPosition = e.overlay.attrParams.polygonPositionStr
            this.lineRemark = e.overlay.attrParams.item.remark
            this.lineWidth = e.overlay.attrParams.width != -1 ? e.overlay.attrParams.width : 100
            this.chooseColor = e.overlay.attrParams.color != '' ? e.overlay.attrParams.color : '#1CA085'
            this.policeIconId = e.overlay.attrParams.id
@@ -122,7 +133,7 @@
        // 保存巡逻路线信息
        saveLineInfo () {
            this.$parent.updateActivityCar({ id: this.policeIconId, color: this.chooseColor, width: this.lineWidth }, polylineOverlay.overlay)
            this.$parent.updateActivityCar({ id: this.policeIconId, color: this.chooseColor, width: this.lineWidth, remark: this.lineRemark }, polylineOverlay.overlay)
            this.lineEditVisible = false
        },
@@ -150,6 +161,8 @@
                    })
                    polylineOverlay.overlay.remove()
                    polylineOverlay.overlay.attrParams.lineObj.remove()
                    this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar')
                } else {
                    this.$message({
                        message: '删除失败',
@@ -167,7 +180,8 @@
                securityId: this.showingSecurityId,
                type: 1,
                color: this.chooseColor,
                width: this.lineWidth
                width: this.lineWidth,
                remark: this.lineRemark
            })
        },
@@ -179,6 +193,7 @@
                if (res.data.success) {
                    this.$parent.addNewPolice(res.data.data, 'policecar', params.type)
                    this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar')
                    this.$message({
                        message: '添加成功',