fuliqi
2024-01-24 29c1e7eb5ac16e90d8991a86c1c071bc312ec8d9
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
<template>
    <el-dialog class="carouselHigLevel" title="轮播高级设置" :close-on-click-modal="false" :modal-append-to-body="false" width="550px" :visible.sync="dialogFormVisible">
        <el-form :model="configForm" size="mini">
            <el-form-item>
                <el-checkbox v-model="configForm.fixedPosition">固定轮播位置
                    <span class="itemTips">
                        轮播会始终固定在用户当前屏幕,不随用户上下滑动而消失
                    </span>
                </el-checkbox>
            </el-form-item>
            <el-form-item>
                <el-checkbox v-model="configForm.closeBtn">显示关闭按钮
                    <span class="itemTips">
                        关闭按钮会出现在轮播的右上方,点此可关闭轮播
                    </span>
                </el-checkbox>
            </el-form-item>
            <el-form-item>
                <el-checkbox v-model="configForm.connectMove">开始衔接滑动
                    <span class="itemTips">
                        开启此项后轮播图切换时,会有走马灯效果
                    </span>
                </el-checkbox>
            </el-form-item>
            <el-form-item>
                <el-checkbox v-model="configForm.indicatorPoint">轮播图指示点
                    <span class="itemTips">
                        提示用户浏览的轮播是第几张的指示器
                    </span>
                </el-checkbox>
            </el-form-item>
            <!-- <el-form-item label="" v-show="configForm.indicatorPoint">
                <el-checkbox v-model="configForm.indicatorPointActive">
                    指示点选中色
                </el-checkbox>
                <el-color-picker class="higLevelItem" v-model="configForm.indicatorPointActiveColor"></el-color-picker>
            </el-form-item>
            <el-form-item label="" v-show="configForm.indicatorPoint">
                <el-checkbox v-model="configForm.indicatorPointDefault">
                    指示点默认色
                </el-checkbox>
                <el-color-picker class="higLevelItem" v-model="configForm.indicatorPointDefaultColor"></el-color-picker>
            </el-form-item> -->
            <el-form-item>
                <el-checkbox @change="changeSwitch" v-model="configForm.switch">启用自动切换
                    <span class="itemTips">
                        关闭按钮会出现在轮播的右上方,点此可关闭轮播
                    </span>
                </el-checkbox>
            </el-form-item>
            <el-form-item v-show="configForm.switch">
                <el-checkbox v-model="configForm.isSwitchTime">自动切换间隔
                </el-checkbox>&nbsp;&nbsp;&nbsp;&nbsp;
                <el-input-number v-model="configForm.switchTime" class="higLevelItem" :min="0"></el-input-number> 毫秒
            </el-form-item>
            <el-form-item v-show="configForm.switch">
                <el-checkbox v-model="configForm.isSwitchAnimationTime">切换动画时间
                </el-checkbox>&nbsp;&nbsp;&nbsp;&nbsp;
                <el-input-number class="higLevelItem" v-model="configForm.switchAnimationTime" :min="0"></el-input-number> 毫秒
            </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer buttonPosition">
            <el-button size="mini" type="primary" @click="submit()">确 定</el-button>
            <el-button size="mini" @click="dialogFormVisible = false">取 消</el-button>
        </div>
    </el-dialog>
</template>
 
<script>
import { mapMutations } from 'vuex'
export default {
  props: {
    show: {
      type: Boolean,
      default: false
    },
    form: {
      type: Object,
      default: function () {
        return {}
      }
    }
  },
  watch: {
    dialogFormVisible () {
      this.$emit('update:show', this.dialogFormVisible)
    },
    show () {
      this.dialogFormVisible = this.show
      if (this.dialogFormVisible) {
        this.configForm = JSON.parse(JSON.stringify(this.form))
      }
    }
  },
  data () {
    return {
      dialogFormVisible: false,
      configForm: {}
    }
  },
  methods: {
    ...mapMutations(['updateCurrent']),
    // 当自动切换杠关闭时,清空切换时间
    changeSwitch (val) {
      if (!val) {
        this.configForm.isSwitchTime = false
        this.configForm.switchTime = null
        this.configForm.isSwitchAnimationTime = false
        this.configForm.switchAnimationTime = null
      }
    },
    // 点击确定按钮时
    submit () {
      this.updateCurrent({ ...this.configForm })
      this.dialogFormVisible = false
    }
  }
}
</script>
 
<style lang="scss">
.carouselHigLevel{
    .el-form .el-form-item{
        display: block;
    }
    .higLevelItem{
        margin-left: 10px;
        .el-color-picker__trigger{
            vertical-align: middle;
        }
    }
}
 
</style>