visualField.vue 8.13 KB
// 可视域分析弹窗
<template>
    <div class="container">
        <div class="wrapper">
            <div class="box">
            </div>
        </div>
        <div class="mian">
            <div class="title-bt">
                <span>可视域分析</span>
                <span @click="closePop" class="close">×</span>
            </div>
            <div class="func-input">
                <span class="width-class">方向</span>
                <el-slider style="width: 150px;" v-model="direction" :min='0' :max='360' :step='1'></el-slider>
                <el-input-number v-model="direction" controls-position="right"
                    style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360">
                </el-input-number>
                <span style="margin-left: 12px;"></span>
            </div>
            <div class="func-input">
                <span class="width-class">翻转</span>
                <el-slider style="width: 150px;" v-model="flip" :min='0' :max='360' :step='1'></el-slider>
                <el-input-number v-model="flip" controls-position="right"
                    style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360">
                </el-input-number>
                <span style="margin-left: 12px;"></span>
            </div>
            <div class="func-input">
                <span class="width-class">距离</span>
                <el-slider style="width: 150px;" v-model="distance" :min='0' :max='10000' :step='1'></el-slider>
                <el-input-number v-model="distance" controls-position="right"
                    style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="10000">
                </el-input-number>
                <span style="margin-left: 12px;"></span>
            </div>
            <div class="func-input">
                <span class="width-class">水平视场角</span>
                <el-slider style="width: 150px;" v-model="level" :min='0' :max='360' :step='1'></el-slider>
                <el-input-number v-model="level" controls-position="right"
                    style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360">
                </el-input-number>
                <span style="margin-left: 12px;"></span>
            </div>
            <div class="func-input">
                <span class="width-class">垂直视场角</span>
                <el-slider style="width: 150px;" v-model="vertical" :min='0' :max='360' :step='1'></el-slider>
                <el-input-number v-model="vertical" controls-position="right"
                    style="width:100px; height:38px; margin-left: 12px;" :step='step' :min="0" :max="360">
                </el-input-number>
                <span style="margin-left: 12px;"></span>
            </div>
            <div class="select-color">
                <div class="block">
                    <div class="demonstration">可见区域颜色</div>
                    <el-color-picker v-model="yesColor"></el-color-picker>
                </div>
                <div class="block">
                    <div class="demonstration">不可见区域颜色</div>
                    <el-color-picker v-model="noColor"></el-color-picker>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
    export default {
        name: 'allSee',
        components: {},
        data() {
            return {
                step: 1,
                num: 1,
                direction: 180, // 方向
                flip: 90, // 翻转
                distance: 0, // 距离
                level: 180, // 水平视场角
                vertical: 180, // 垂直视场角
                yesColor: 'red', // 可见区域颜色
                noColor: 'rgba(255, 69, 0, 0.68)', // 不可见区域颜色

                isXmbj: true,
                // isAnalysis: true
            }
        },
        mounted() {},
        methods: {
            closePop() {
                this.$emit('closePop', 'visualField')
            },
            handleChange() {

            },
            startAnalysis() {
                // this.isAnalysis = true;
            },
            stopAnalysis() {
                // this.isAnalysis = false;            
            },
            handleIsXmbj(flag) {
                this.isXmbj = flag;
            }
        }
    }
</script>

<style scoped>
    .container {
        position: relative;
        color: #fff;
        font-size: 16px;
        width: 450px;
    }

    .wrapper {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
        border: 1px solid rgba(151, 151, 151, 0.58);
    }

    .box {
        background: rgba(4, 10, 10, 0.58);
        box-shadow: 0px 4px 9px 0px rgba(0, 0, 0, 0.5);
        /* filter: blur(10px); */
        height: 100px;
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

    .mian {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 1000;
    }

    .list-box span:nth-of-type(1) {
        display: inline-block;
        width: 98px;
        margin-right: 20px;
        color: rgba(255, 255, 255, .7);
    }

    .list-box span:nth-of-type(2) {
        margin-top: 14px;
        display: inline-block;
    }


    .title-bt {
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        padding: 18px 24px;
        font-size: 20px;
    }


    .func-input {
        display: flex;
        align-items: center;
        /* justify-content: space-between; */
        padding: 18px 24px 0px 24px;
        font-size: 18px;
        cursor: pointer;
    }

    .func {
        padding: 18px 24px;
    }



    .func-btn {
        display: flex;
        padding: 18px 24px 37px 24px;
        align-items: center;
        font-size: 18px;
        cursor: pointer;
    }

    .btn-wrapper {
        display: flex;
        align-items: center;
        width: 190px;
        height: 36px;
        background-image: url('../assets/弹窗按钮背景-默认.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        line-height: 36px;
    }

    .add-bg {
        background-image: url('../assets/弹窗按钮背景-选中.png');
    }


    .btn-wrapper2 {
        display: flex;
        align-items: center;
        width: 116px;
        height: 38px;
        background-image: url('../assets/一张图/bg_专题分析.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        text-align: center;
        line-height: 38px;
        margin-left: 13px;
    }

    .add-bg2 {
        background-image: url('../assets/一张图/bg_资源目录.png');
    }

    .close {
        cursor: pointer;
    }

    .center {
        display: inline-block;
        width: 100%;
        height: 100%;
        text-align: center;
    }

    .width-class {
        width: 90px;
        font-size: 16px;
    }

    .select-color {
        display: flex;
        justify-content: space-around;
        text-align: center;
        padding: 30px 0px;
    }

    .demonstration {
        margin-bottom: 10px;
        font-size: 16px;
    }

    >>>input::-webkit-input-placeholder {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.78) !important;
    }

    >>>.el-input__inner {
        background: rgba(4, 10, 10, 0.58) !important;
        border: 1px solid rgba(23, 34, 38, 0.57);
        color: #fff;
    }

    >>>.el-input-number.is-controls-right .el-input__inner {
        text-align: left;
    }

    >>>.el-input__suffix {
        color: #fff;
        font-size: 17px;
    }

    >>>.el-input-number__increase,
    >>>.el-input-number__decrease {
        background: rgba(4, 10, 10, 0.58);
    }

    >>>.el-input-number.is-controls-right .el-input-number__decrease,
    >>>.el-input-number__increase {
        border-left: 1px solid rgba(4, 10, 10, 0.58);
    }

    >>>.el-icon-arrow-up:before,
    >>>.el-icon-arrow-down:before {
        color: #fff;
    }

    >>>.el-input-number.is-controls-right .el-input-number__increase {
        border-bottom: 1px solid rgba(4, 10, 10, 0.58);
    }
</style>