guanqb
2023-02-02 903fcfaaf82e3b1aeb615372bbc2eb982ed616e2
src/views/activity/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-01-03 15:52:12
 * @LastEditTime: 2023-02-02 10:04:06
 * @FilePath: \srs-police-affairs\src\views\activity\index.vue
 * @Description: 安保活动
 *
@@ -44,46 +44,26 @@
                            placeholder="选择日期"
                            style="width:268px"
                        ></el-date-picker>-->
                        <el-date-picker
                            v-model="selectTime"
                            type="daterange"
                            align="right"
                            unlink-panels
                            format="yyyy-MM-dd HH:mm:ss"
                            value-format="yyyy-MM-dd HH:mm:ss"
                            range-separator="至"
                            start-placeholder="开始日期"
                            end-placeholder="结束日期"
                            :picker-options="pickerOptions"
                            @change="activityTimeChange"
                        ></el-date-picker>
                        <el-date-picker v-model="selectTime" type="daterange" align="right" unlink-panels
                            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至"
                            start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"
                            @change="activityTimeChange"></el-date-picker>
                    </div>
                </div>
                <div>
                    <div class="category">活动名称:</div>
                    <div class="category-value">
                        <input
                            type="text"
                            placeholder="请输入活动名称"
                            v-model="searchActivity"
                            class="category-input"
                            @input="inputChange"
                        />
                        <input type="text" placeholder="请输入…" v-model="searchActivity" class="category-input"
                            @input="inputChange" />
                        <button class="category-button el-icon-search" @click="searchClick"></button>
                    </div>
                </div>
            </div>
            <div class="result-content">
                <div class="table-box">
                    <div
                        v-show="activityList.length > 0"
                        class="row-box"
                        :class="{ on: currentClickIndex === index }"
                        v-for="(item, index) in activityList"
                        :key="index"
                        @click="activityListClick(item, index)"
                    >
                    <div v-show="activityList.length > 0" class="row-box" :class="{ on: currentClickIndex === index }"
                        v-for="(item, index) in activityList" :key="index" @click="activityListClick(item, index)">
                        <div class="row-title">常规安保</div>
                        <div class="row-content">
                            <div>
@@ -96,9 +76,7 @@
                            </div>
                            <div>
                                <div class="category">活动时间:</div>
                                <div
                                    class="category-value"
                                >{{ item.startTime }} 至 {{ item.endTime }}</div>
                                <div class="category-value">{{ item.startTime }} 至 {{ item.endTime }}</div>
                            </div>
                            <div>
                                <div class="category">活动详情:</div>
@@ -110,14 +88,8 @@
                    <div v-show="activityList == 0" class="no-data">暂无数据</div>
                </div>
                <div class="pages">
                    <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>
@@ -130,10 +102,7 @@
                    <ul>
                        <li>
                            <button @click="draw('billboard', 'policeman')" title="警员">
                                <img
                                    src="../../../public/img/icon/police-people-btn.png"
                                    style="height:100%"
                                />
                                <img src="../../../public/img/icon/police-people-btn.png" style="height:100%" />
                            </button>
                        </li>
                        <li>
@@ -228,9 +197,7 @@
            </div>
            <div class="row-box">
                <div class="category">活动时间:</div>
                <div
                    class="category-value"
                >{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div>
                <div class="category-value">{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div>
            </div>
            <div class="row-box">
                <div class="category">活动内容:</div>
@@ -238,39 +205,27 @@
            </div>
        </div>
        <div class="plan-control" v-show="dialogVisible&&(isHavePolice||isHaveArrow||isHaveLine)">
        <div class="plan-control" v-show="dialogVisible && (isHavePolice || isHaveArrow || isHaveLine)">
            <div class="row-box" v-show="isHavePolice">
                <div class="category">警力资源:</div>
                <div class="category-value">
                    <el-switch
                        v-model="policeSwitch"
                        @change="switchChange"
                        active-color="#13ce66"
                        inactive-color="#ccc"
                    ></el-switch>
                    <el-switch v-model="policeSwitch" @change="switchChange" active-color="#13ce66"
                        inactive-color="#ccc"></el-switch>
                </div>
            </div>
            <div class="row-box" v-show="isHaveArrow">
                <div class="category">作战标绘:</div>
                <div class="category-value">
                    <el-switch
                        v-model="arrowBtnSwitch"
                        @change="switchArrowBtnChange"
                        active-color="#13ce66"
                        inactive-color="#ccc"
                    ></el-switch>
                    <el-switch v-model="arrowBtnSwitch" @change="switchArrowBtnChange" active-color="#13ce66"
                        inactive-color="#ccc"></el-switch>
                </div>
            </div>
            <div class="row-box" v-show="isHaveLine">
                <div class="category">巡逻路线:</div>
                <div class="category-value">
                    <el-switch
                        v-model="polylineBtnSwitch"
                        @change="switchBtnChange"
                        active-color="#13ce66"
                        inactive-color="#ccc"
                    ></el-switch>
                    <el-switch v-model="polylineBtnSwitch" @change="switchBtnChange" active-color="#13ce66"
                        inactive-color="#ccc"></el-switch>
                </div>
            </div>
        </div>
@@ -302,13 +257,8 @@
        </div>
        <div class="search-content">
            <input
                v-model="searchExtensivelyValue"
                @input="searchExtensivelyChange"
                @focus="searchExtensivelyFocus"
                type="text"
                placeholder="请输入搜索条件"
            />
            <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus"
                type="text" placeholder="请输入搜索条件" />
            <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空">
                <img src="../../../public/img/icon/clear.png" alt />
            </div>
@@ -316,145 +266,66 @@
        </div>
        <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box">
            <div>
                <div
                    @click="searchExtensivelyVlaClick(item)"
                    v-for="(item, index) in searchExtensivelyArray"
                    :key="index"
                >{{ item.name }}</div>
                <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray"
                    :key="index">{{ item.name }}</div>
            </div>
        </div>
        <div class="item video5" v-show="polylineBtnSwitch">
            <div class="select" v-show="isShowSelect.video5">
                <el-select
                    size="small"
                    v-model="monitor.type5"
                    @change="((val) => { navClick(val, 5) })"
                    placeholder="请选择"
                    ref="videoSelect5"
                >
                    <el-option
                        v-for="item in monitorOption"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                    ></el-option>
                <el-select size="small" v-model="monitor.type5" @change="((val) => { navClick(val, 5) })"
                    placeholder="请选择" ref="videoSelect5">
                    <el-option v-for="item in monitorOption" :key="item.value" :label="item.label"
                        :value="item.value"></el-option>
                </el-select>
            </div>
            <div class="video">
                <video
                    id="videoElement5"
                    autoplay
                    controls
                    width="100%"
                    height="100%"
                    style="object-fit: fill"
                ></video>
                <video id="videoElement5" autoplay controls width="100%" height="100%" style="object-fit: fill"></video>
            </div>
        </div>
        <div class="item video6" v-show="polylineBtnSwitch">
            <div class="select" v-show="isShowSelect.video6">
                <el-select
                    size="small"
                    v-model="monitor.type6"
                    @change="((val) => { navClick(val, 6) })"
                    placeholder="请选择"
                    ref="videoSelect6"
                >
                    <el-option
                        v-for="item in monitorOption"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                    ></el-option>
                <el-select size="small" v-model="monitor.type6" @change="((val) => { navClick(val, 6) })"
                    placeholder="请选择" ref="videoSelect6">
                    <el-option v-for="item in monitorOption" :key="item.value" :label="item.label"
                        :value="item.value"></el-option>
                </el-select>
            </div>
            <div class="video">
                <video
                    id="videoElement6"
                    autoplay
                    controls
                    width="100%"
                    height="100%"
                    style="object-fit: fill"
                ></video>
                <video id="videoElement6" autoplay controls width="100%" height="100%" style="object-fit: fill"></video>
            </div>
        </div>
        <div class="item video7" v-show="polylineBtnSwitch">
            <div class="select" v-show="isShowSelect.video7">
                <el-select
                    size="small"
                    v-model="monitor.type7"
                    v-show="isShowSelect.video7"
                    @change="((val) => { navClick(val, 7) })"
                    placeholder="请选择"
                    ref="videoSelect7"
                >
                    <el-option
                        v-show="isShowSelect.video7"
                        v-for="item in monitorOption"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                    ></el-option>
                <el-select size="small" v-model="monitor.type7" v-show="isShowSelect.video7"
                    @change="((val) => { navClick(val, 7) })" placeholder="请选择" ref="videoSelect7">
                    <el-option v-show="isShowSelect.video7" v-for="item in monitorOption" :key="item.value"
                        :label="item.label" :value="item.value"></el-option>
                </el-select>
            </div>
            <div class="video">
                <video
                    id="videoElement7"
                    autoplay
                    controls
                    width="100%"
                    height="100%"
                    style="object-fit: fill"
                ></video>
                <video id="videoElement7" autoplay controls width="100%" height="100%" style="object-fit: fill"></video>
            </div>
        </div>
        <div class="item video8" v-show="polylineBtnSwitch">
            <div class="select" v-show="isShowSelect.video8">
                <el-select
                    size="small"
                    v-model="monitor.type8"
                    @change="((val) => { navClick(val, 8) })"
                    placeholder="请选择"
                    ref="videoSelect8"
                >
                    <el-option
                        v-for="item in monitorOption"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                    ></el-option>
                <el-select size="small" v-model="monitor.type8" @change="((val) => { navClick(val, 8) })"
                    placeholder="请选择" ref="videoSelect8">
                    <el-option v-for="item in monitorOption" :key="item.value" :label="item.label"
                        :value="item.value"></el-option>
                </el-select>
            </div>
            <div class="video">
                <video
                    id="videoElement8"
                    autoplay
                    controls
                    width="100%"
                    height="100%"
                    style="object-fit: fill"
                ></video>
                <video id="videoElement8" autoplay controls width="100%" height="100%" style="object-fit: fill"></video>
            </div>
        </div>
        <el-dialog
            :title="policeChooseTitle"
            :modal="false"
            :visible.sync="policeChooseVisible"
            :before-close="policeChooseBeforeClose"
            :close-on-click-modal="true"
            class="choose-police-box"
        >
        <el-dialog :title="policeChooseTitle" :modal="false" :visible.sync="policeChooseVisible"
            :before-close="policeChooseBeforeClose" :close-on-click-modal="true" class="choose-police-box">
            <div>
                <el-select size="small" v-model="policeType" placeholder="请选择">
                    <el-option
                        v-for="item in policeOption"
                        :key="item.value"
                        :label="item.label"
                        :value="item.value"
                    ></el-option>
                    <el-option v-for="item in policeOption" :key="item.value" :label="item.label"
                        :value="item.value"></el-option>
                </el-select>
                <el-button @click="determine">确定</el-button>
                <el-button @click="cancel">取消</el-button>
@@ -1691,11 +1562,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;
@@ -1770,7 +1641,7 @@
                    border-radius: 8px;
                    .row-content {
                        & > div {
                        &>div {
                            display: flex;
                            line-height: 28px;
@@ -1843,7 +1714,7 @@
        .right {
            height: 100%;
            & > div {
            &>div {
                display: flex;
            }
@@ -1864,8 +1735,10 @@
                }
            }
        }
        .left {
            width: 80%;
            h3 {
                font-size: 16px;
                height: 30px;
@@ -1878,10 +1751,13 @@
        .right {
            width: 20%;
            padding-top: 35px;
            ul {
                flex-direction: column;
                li {
                    height: 50px;
                    button {
                        background-color: #2a56cf;
                    }
@@ -1956,7 +1832,7 @@
            line-height: 28px;
            display: flex;
            & > div {
            &>div {
                text-align: left;
            }
@@ -1980,12 +1856,13 @@
        background-color: $bg-color;
        border-radius: 8px;
        z-index: 98;
        .row-box {
            width: 100%;
            line-height: 28px;
            display: flex;
            & > div {
            &>div {
                text-align: left;
            }
@@ -2063,6 +1940,7 @@
            top: 0;
            right: 70px;
            cursor: pointer;
            img {
                width: 16px;
                height: 16px;
@@ -2103,7 +1981,7 @@
        border-radius: 10px;
        overflow: hidden;
        & > div {
        &>div {
            height: 100%;
            overflow-y: auto;