lefengyang
2026-08-20 1401779a92bb5fede53ca74d4fceacecb8c4c462
预制动画功能
1 files modified
45 ■■■■■ changed files
ledApp/pages/addTemplate/addTemplate.vue 45 ●●●●● patch | view | raw | blame | history
ledApp/pages/addTemplate/addTemplate.vue
@@ -31,6 +31,18 @@
                    </uv-upload>
                </view>
            </view>
            <view class="temp_item" v-if="!isEditMode">
                <view class="title">
                    预制动画
                </view>
                <view class="item">
                    <uv-radio-group v-model="selectedPreset" placement="column" @change="changePreset" labelSize="26rpx">
                        <uv-radio class="spec_radio" v-for="(item, index) in presetList" :key="index" :label="'预制动画:'+item.name"
                            :name="item.name">
                        </uv-radio>
                    </uv-radio-group>
                </view>
            </view>
            <view class="temp_item">
                <view class="title">
                    屏幕规格
@@ -216,7 +228,8 @@
    import {
        templeteAdd,
        templeteInfo,
        templeteEdit
        templeteEdit,
        templeteList
    } from '@/api/api.js'
    let ctx = null
    export default {
@@ -311,6 +324,9 @@
                scrollLeft: 0,
                textType: 'overwrite',
                tempText: '',
                presetList: [],
                selectedPreset: '',
                isEditMode: false,
            }
        },
        computed: {
@@ -326,9 +342,12 @@
                this.tId = opt.id
                this.getTempleteInfo()
                this.titleName = '编辑模版'
                this.isEditMode = true
            }
            else{
                this.titleName = '新增模版'
                this.isEditMode = false
                this.getPresetList()
            }
        },
        onShow() {
@@ -348,6 +367,30 @@
            }
        },
        methods: {
            getPresetList() {
                templeteList({
                    userId: 1,
                    pageNum: 1,
                    pageSize: 99
                }).then(res => {
                    console.log('预制动画列表-------', res.rows)
                    if(res.code == 200){
                        this.presetList = res.rows || []
                    }
                })
            },
            changePreset(val) {
                const preset = this.presetList.find(item => item.name === val)
                if (preset) {
                    this.specVal = preset.screen
                    this.modeVal = preset.mode
                    this.total = preset.cycle
                    this.speed = preset.speed
                    if (preset.fpsList) {
                        this.fpsList = JSON.parse(preset.fpsList)
                    }
                }
            },
            handleScroll(e){
                this.scrollLeft = e.detail.scrollLeft
            },