Blame view

website/src/views/serviceSecond/maintenance/index.js 5.11 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
import pageInit from "../../../minixs/pageInit.js";
import {maintenance} from "../../../../assets/img/data/serviceSecond.js";
export default {
    name: 'maintenance',
    template: '',
    mixins:[pageInit],
    components: {},
    props: [],
    setup(props, {attrs, slots, emit}) {
        let maintenanceData=maintenance();
        //页签高亮显示
        let tabActive=Vue.ref(0);
        //特点hover显示的图片
        let characterImg=Vue.ref();
        let setcharacter=()=>{
            if(maintenanceData.data && maintenanceData.data.length>0){
                maintenanceData.data.map(item=>{
                    if(item.type=='character'){
                        characterImg.value=item.dataFour[0].img;
                    }


                })
            }
        }
        setcharacter();
        //优势hover高亮显示
        let characterActive=Vue.ref(0);
        //特点的事件
        let prev=(dataLength)=>{
            if(characterActive.value>0){
                characterActive.value--
                if(characterActive.value == 0 || characterActive.value+1==dataLength-6){
                    setDisplay();
35
                }else if(characterActive.value+1==dataLength-4 ){
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
                    changeDot(dataLength,2);
                }
            }else if(characterActive.value == 0){
                characterActive.value=dataLength-1
                changeDot(dataLength,1);
            }
        }
        let next=(dataLength)=>{
            if((characterActive.value+1)!=dataLength) {
                characterActive.value++
            }else{
                characterActive.value=0;
            }
            changeDot(dataLength);
        }
        let changeCharacter=(indexC)=>{
            characterActive.value=indexC;
        }
        //特点左右点击切换
        let changeDot=(dataLength,flag)=>{
            if(flag==1){
57
                //当前为第一个时,向前点击
58 59 60
                maintenanceData.data.map((item,index)=>{
                    if(item.type == 'character'){
                        item.dataFour.map((v,i)=>{
61
                            if(i>characterActive.value-4){
62 63 64 65 66 67 68 69 70 71 72 73
                                v.isDisplay=true;
                            }else{
                                v.isDisplay=false;
                            }
                        })
                    }
                })
            }else if(flag==2){
                //向前点击
                maintenanceData.data.map((item,index)=>{
                    if(item.type == 'character'){
                        item.dataFour.map((v,i)=>{
74
                            if(i>characterActive.value-4 && i<=characterActive.value){
75 76 77 78 79 80 81 82
                                v.isDisplay=true;
                            }else{
                                v.isDisplay=false;
                            }
                        })
                    }
                })
            }else{
83
                if(characterActive.value>3 && characterActive.value<dataLength){
84 85 86
                    if(maintenanceData.data && maintenanceData.data.length>0){
                        maintenanceData.data.map((item,index)=>{
                            if(item.type == 'character'){
87
                                if(characterActive.value>3 && characterActive.value<maintenanceData.data.length){
88
                                    item.dataFour.map((v,i)=>{
89
                                        if(i>3 && i<=7){
90 91 92 93 94 95 96
                                            v.isDisplay=true;
                                        }else{
                                            v.isDisplay=false;
                                        }
                                    })
                                }else{
                                    item.dataFour.map((v,i)=>{
97
                                        if(i>=dataLength-4){
98 99 100 101 102 103
                                            v.isDisplay=true;
                                        }else{
                                            v.isDisplay=false;
                                        }
                                    })
                                }
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
                            }
                        })
                    }
                }else{
                    setDisplay();
                }
            }

        }
        //设置特点dot全部显示
        let setDisplay=(flag)=>{
            if(maintenanceData.data && maintenanceData.data.length>0){
                if(flag==1){

                }else{
                    maintenanceData.data.map((item,index)=>{
                        if(item.type == 'character'){
                            item.dataFour.map(v=>{
                                v.isDisplay=true;
                            })
                        }
                    })
                }

            }
        }
        // 挂载完
        Vue.onMounted(() => {

        })

        return {
            characterImg,
            maintenanceData,
            tabActive,
            characterActive,
            setcharacter,
            prev,
            next,
            changeCharacter,
            changeDot,
            setDisplay
        }
    }

}