guanqb
2023-05-08 dec962bd3a5faae7e15f9a244803ce53ce40d5c8
src/views/activity/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2023-03-24 16:36:55
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-18 20:12:05
 * @LastEditTime: 2023-05-08 09:37:39
 * @FilePath: \srs-police-affairs\src\views\activity\index.vue
 * @Description: 
 * 
@@ -17,39 +17,55 @@
                <div>
                    <div class="category">名称:</div>
                    <div class="category-value search-activity">
                        <el-input size="small" placeholder="请输入…" v-model="searchActivity" @change="activeSearch" clearable>
                        </el-input>
                        <el-input
                            size="small"
                            placeholder="请输入…"
                            v-model="searchActivity"
                            @change="activeSearch"
                            clearable
                        ></el-input>
                    </div>
                </div>
            </div>
            <div class="result-content">
                <div class="table-box">
                    <el-collapse v-show="activityList.length > 0" v-model="activeActivityIndex" accordion
                        @change="handleActivityChange" class="activity-list">
                        <el-collapse-item v-for="item in activityList" :name="item.id" :key="item.id">
                            <template slot="title">
                                {{ item.name }}({{ item.plotType == 1 ? '二维' : '三维' }})
                            </template>
                    <el-collapse
                        v-show="activityList.length > 0"
                        v-model="activeActivityIndex"
                        accordion
                        @change="handleActivityChange"
                        class="activity-list"
                    >
                        <el-collapse-item
                            v-for="item in activityList"
                            :name="item.id"
                            :key="item.id"
                        >
                            <template
                                slot="title"
                            >{{ item.name }}({{ item.plotType == 1 ? '二维' : '三维' }})</template>
                            <el-collapse v-model="activeActivityElementIndex" accordion>
                                <el-collapse-item title="要素资源" :name="yszy">
                                    <el-collapse v-model="elementPoliceIndex" accordion>
                                        <el-collapse-item title="警车" :name="jc">
                                            <ul>
                                                <li v-for="carItem in chooseActivityPoliceCarList" :key="carItem.id"
                                                    @click="carOrPoliceItemClick(carItem.position, 'point')">
                                                    {{ carItem.serialNumber }}
                                                </li>
                                                <li
                                                    v-for="carItem in chooseActivityPoliceCarList"
                                                    :key="carItem.id"
                                                    @click="carOrPoliceItemClick(carItem.position, 'point')"
                                                >{{ carItem.serialNumber }}</li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
                                    <el-collapse v-model="elementPoliceCarIndex" accordion>
                                        <el-collapse-item title="警员" :name="jy">
                                            <ul>
                                                <li v-for="policeItem in chooseActivityPoliceManList" :key="policeItem.id"
                                                    @click="carOrPoliceItemClick(policeItem.position, 'point')">
                                                    {{ policeItem.policeName }}
                                                </li>
                                                <li
                                                    v-for="policeItem in chooseActivityPoliceManList"
                                                    :key="policeItem.id"
                                                    @click="carOrPoliceItemClick(policeItem.position, 'point')"
                                                >{{ policeItem.policeName }}</li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
@@ -57,10 +73,13 @@
                                    <el-collapse v-model="elementCustomIndex" accordion>
                                        <el-collapse-item title="自定义图片标注" :name="wxrw">
                                            <ul>
                                                <li v-for="(item, index) in customList" :key="item.id"
                                                    @click="carOrPoliceItemClick(item.position, 'people')">
                                                <li
                                                    v-for="(item, index) in customList"
                                                    :key="item.id"
                                                    @click="carOrPoliceItemClick(item.position, 'people')"
                                                >
                                                    {{ item.remark && item.remark.trim() != '' ? item.remark :
                                                        `自定义图片标注${index + 1}` }}
                                                    `自定义图片标注${index + 1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
@@ -69,65 +88,94 @@
                                    <el-collapse v-model="elementNormalIndex" accordion>
                                        <el-collapse-item title="其他" :name="wxrw">
                                            <ul>
                                                <li v-for="(item, index) in restList" :key="item.id"
                                                    @click="carOrPoliceItemClick(item.position, 'people')">
                                                <li
                                                    v-for="(item, index) in restList"
                                                    :key="item.id"
                                                    @click="carOrPoliceItemClick(item.position, 'people')"
                                                >
                                                    {{ item.remark && item.remark.trim() != '' ? item.remark :
                                                        restCurType(item, index) }}
                                                    restCurType(item, index) }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
                                </el-collapse-item>
                            </el-collapse>
                            <el-collapse v-model="activeActivityArrowIndex" accordion>
                                <el-collapse-item title="作战标绘" :name="zzbh">
                                    <el-collapse v-model="attackArrowIndex" accordion v-show="item.plotType == 1">
                                    <el-collapse
                                        v-model="attackArrowIndex"
                                        accordion
                                        v-show="item.plotType == 1"
                                    >
                                        <el-collapse-item title="进攻箭头" :name="jgjt">
                                            <ul>
                                                <li v-for="(attackItem, index) in attackArrowList" :key="attackItem.id"
                                                    @click="carOrPoliceItemClick(attackItem.position, 'arrow')">
                                                <li
                                                    v-for="(attackItem, index) in attackArrowList"
                                                    :key="attackItem.id"
                                                    @click="carOrPoliceItemClick(attackItem.position, 'arrow')"
                                                >
                                                    {{ attackItem.remark && attackItem.remark.trim() != '' ?
                                                        attackItem.remark : `进攻箭头${index +
                                                        1}` }}
                                                    attackItem.remark : `进攻箭头${index +
                                                    1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
                                    <el-collapse v-model="doubleArrowIndex" accordion v-show="item.plotType == 1">
                                    <el-collapse
                                        v-model="doubleArrowIndex"
                                        accordion
                                        v-show="item.plotType == 1"
                                    >
                                        <el-collapse-item title="双箭头" :name="sjt">
                                            <ul>
                                                <li v-for="(doubleItem, index) in doubleArrowList" :key="doubleItem.id"
                                                    @click="carOrPoliceItemClick(doubleItem.position, 'arrow')">
                                                <li
                                                    v-for="(doubleItem, index) in doubleArrowList"
                                                    :key="doubleItem.id"
                                                    @click="carOrPoliceItemClick(doubleItem.position, 'arrow')"
                                                >
                                                    {{ doubleItem.remark && doubleItem.remark.trim() != '' ?
                                                        doubleItem.remark : `双箭头${index
                                                        + 1}` }}
                                                    doubleItem.remark : `双箭头${index
                                                    + 1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
                                    <el-collapse v-model="fineArrowIndex" accordion v-show="item.plotType == 1">
                                    <el-collapse
                                        v-model="fineArrowIndex"
                                        accordion
                                        v-show="item.plotType == 1"
                                    >
                                        <el-collapse-item title="直箭头" :name="zjt">
                                            <ul>
                                                <li v-for="(fineItem, index) in fineArrowList" :key="fineItem.id"
                                                    @click="carOrPoliceItemClick(fineItem.position, 'arrow')">
                                                <li
                                                    v-for="(fineItem, index) in fineArrowList"
                                                    :key="fineItem.id"
                                                    @click="carOrPoliceItemClick(fineItem.position, 'arrow')"
                                                >
                                                    {{ fineItem.remark && fineItem.remark.trim() != '' ? fineItem.remark :
                                                        `直箭头${index +
                                                        1}` }}
                                                    `直箭头${index +
                                                    1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
                                    </el-collapse>
                                    <el-collapse v-model="tailedAttackArrowIndex" accordion v-show="item.plotType == 1">
                                    <el-collapse
                                        v-model="tailedAttackArrowIndex"
                                        accordion
                                        v-show="item.plotType == 1"
                                    >
                                        <el-collapse-item title="燕尾箭头" :name="ywjt">
                                            <ul>
                                                <li v-for="(tailedItem, index) in tailedAttackArrowList"
                                                <li
                                                    v-for="(tailedItem, index) in tailedAttackArrowList"
                                                    :key="tailedItem.id"
                                                    @click="carOrPoliceItemClick(tailedItem.position, 'arrow')">
                                                    @click="carOrPoliceItemClick(tailedItem.position, 'arrow')"
                                                >
                                                    {{ tailedItem.remark && tailedItem.remark.trim() != '' ?
                                                        tailedItem.remark : `燕尾箭头${index
                                                        + 1}` }}
                                                    tailedItem.remark : `燕尾箭头${index
                                                    + 1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
@@ -135,11 +183,14 @@
                                    <el-collapse v-model="polygonArrowIndex" accordion>
                                        <el-collapse-item title="多边形" :name="dbx">
                                            <ul>
                                                <li v-for="(polygonItem, index) in polygonList" :key="polygonItem.id"
                                                    @click="carOrPoliceItemClick(polygonItem.position, 'polygon')">
                                                <li
                                                    v-for="(polygonItem, index) in polygonList"
                                                    :key="polygonItem.id"
                                                    @click="carOrPoliceItemClick(polygonItem.position, 'polygon')"
                                                >
                                                    {{ polygonItem.remark && polygonItem.remark.trim() != '' ?
                                                        polygonItem.remark :
                                                        `多边形${index + 1}` }}
                                                    polygonItem.remark :
                                                    `多边形${index + 1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
@@ -147,11 +198,14 @@
                                    <el-collapse v-model="borkenlineIndex" accordion>
                                        <el-collapse-item title="折线" :name="dbx">
                                            <ul>
                                                <li v-for="(polygonItem, index) in borkenList" :key="polygonItem.id"
                                                    @click="carOrPoliceItemClick(polygonItem.position, 'polygon')">
                                                <li
                                                    v-for="(polygonItem, index) in borkenList"
                                                    :key="polygonItem.id"
                                                    @click="carOrPoliceItemClick(polygonItem.position, 'polygon')"
                                                >
                                                    {{ polygonItem.remark && polygonItem.remark.trim() != '' ?
                                                        polygonItem.remark : `折线${index
                                                        + 1}` }}
                                                    polygonItem.remark : `折线${index
                                                    + 1}` }}
                                                </li>
                                            </ul>
                                        </el-collapse-item>
@@ -161,10 +215,13 @@
                            <el-collapse v-model="activeActivityLineIndex" accordion>
                                <el-collapse-item title="巡逻路线" :name="xllx">
                                    <ul>
                                        <li v-for="(lineItem, index) in chooseActivityLineList" :key="lineItem.id"
                                            @click="carOrPoliceItemClick(lineItem.polygonPositionStr, 'line')">
                                        <li
                                            v-for="(lineItem, index) in chooseActivityLineList"
                                            :key="lineItem.id"
                                            @click="carOrPoliceItemClick(lineItem.polygonPositionStr, 'line')"
                                        >
                                            {{ lineItem.remark && lineItem.remark.trim() != '' ? lineItem.remark :
                                                `路线${index + 1}` }}
                                            `路线${index + 1}` }}
                                        </li>
                                    </ul>
                                </el-collapse-item>
@@ -175,15 +232,26 @@
                    <div v-show="activityList == 0" class="no-data">暂无数据</div>
                </div>
                <div class="pages all-pagination-sty">
                    <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount"
                        :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination>
                    <el-pagination
                        background
                        layout="prev, pager, next"
                        :page-size="pagesize"
                        :page-count="pagesCount"
                        :current-page="currentPage"
                        @current-change="handleCurrentChange"
                    ></el-pagination>
                </div>
            </div>
        </div>
        <div class="second-container" :class="{ 'spread': boxShow, 'take-back': !boxShow }">
            <el-tree :data="treeData" show-checkbox node-key="id" @check="treeCheckClick"
                @check-change="treeCheckChange"></el-tree>
            <el-tree
                :data="treeData"
                show-checkbox
                node-key="id"
                @check="treeCheckClick"
                @check-change="treeCheckChange"
            ></el-tree>
        </div>
        <map-search-box></map-search-box>
@@ -757,7 +825,7 @@
            if (data != []) {
                data.some(item => {
                    return item.label == '视频监控'
                }) ? this.iconImageShowOrHidden('/img/icon/camera.png', '', cameraList, 'activityCameraLayers') : this.clearLayerIconForMap('activityCameraLayers')
                }) ? this.iconImageShowOrHidden('/img/icon/video.png', '/img/icon/video-off.png', cameraList, 'activityCameraLayers') : this.clearLayerIconForMap('activityCameraLayers')
                data.some(item => {
                    return item.label == '警车'
@@ -809,6 +877,12 @@
                if (data.length > 0) {
                    data.forEach(item => {
                        if (item.longitude && item.latitude) {
                            let url = item.clockStatus == 0 ? img : imgOk
                            if (img == '/img/icon/video.png') {
                                url = item.status == 1 ? '/img/icon/video.png' : '/img/icon/video-off.png'
                            }
                            this.$EventBus.$emit('layerPointAdd', {
                                layerName: layerName,
                                type: "billboard",
@@ -818,7 +892,7 @@
                                    lng: item.longitude,
                                    lat: item.latitude,
                                    alt: 1,
                                    url: item.clockStatus == 0 ? img : imgOk
                                    url
                                },
                            })
                        }
@@ -1092,11 +1166,11 @@
        .search-box {
            padding: 0 10px;
            &>div:first-child {
            & > div:first-child {
                margin-top: 0;
            }
            &>div {
            & > div {
                margin-top: 10px;
                display: flex;
                align-items: center;
@@ -1188,7 +1262,7 @@
                    border-radius: 8px;
                    .row-content {
                        &>div {
                        & > div {
                            display: flex;
                            line-height: 28px;
@@ -1277,12 +1351,8 @@
        left: 10px;
    }
    .item-new-width {
        width: 25vw;
    }
}
</style>