Selaa lähdekoodia

解决按钮切换bug,失败。

liuwei 4 vuotta sitten
vanhempi
commit
513c32a8e3

+ 1 - 5
src/renderer/App.vue

@@ -38,14 +38,10 @@
             const signalListJson = await reqPreviewSourceList()
             const signalListJson = await reqPreviewSourceList()
             const deviceJson = await reqDevice()
             const deviceJson = await reqDevice()
             const labelJson = await getStaticFile('EnityLable.Data')
             const labelJson = await getStaticFile('EnityLable.Data')
-            const imageJson = await getStaticFile('EnityImage.Data')
-            const bigshowJson = await getStaticFile('EnityBigScreen.Data')
             this.$store.dispatch('saveBigscreen',bigScreenJson.filter(item => item.IsVisibility === true))
             this.$store.dispatch('saveBigscreen',bigScreenJson.filter(item => item.IsVisibility === true))
-            this.$store.dispatch('updateLabelJson',labelJson)
-            this.$store.dispatch('updateImageJson',imageJson)
             this.$store.dispatch('saveSignalList',signalListJson)
             this.$store.dispatch('saveSignalList',signalListJson)
             this.$store.dispatch('saveDevice',deviceJson)
             this.$store.dispatch('saveDevice',deviceJson)
-            this.$store.dispatch('updateBigshowJson',bigshowJson)
+            this.$store.dispatch('updateLabelJson',labelJson)
           }
           }
         }
         }
       })
       })

+ 1 - 2
src/renderer/components/Admin.vue

@@ -2,8 +2,7 @@
 <template>
 <template>
     <div class="containers">
     <div class="containers">
         <!--主页-->
         <!--主页-->
-        <div
-                :style="{
+        <div :style="{
                     position: 'relative',
                     position: 'relative',
                     left:windowJson[0] ? windowJson[0].Left*bigScale+'px' : '',
                     left:windowJson[0] ? windowJson[0].Left*bigScale+'px' : '',
                     top:windowJson[0] ? windowJson[0].Top*bigScale+'px' : '',
                     top:windowJson[0] ? windowJson[0].Top*bigScale+'px' : '',

+ 28 - 3
src/renderer/components/Button.vue

@@ -47,9 +47,8 @@
             this.buttonJson = await getStaticFile('EnityButton.Data')
             this.buttonJson = await getStaticFile('EnityButton.Data')
             this.slideJson = await getStaticFile('EnitySlider.Data')
             this.slideJson = await getStaticFile('EnitySlider.Data')
 
 
-            // 默认按下的按钮
+            // 初始化时默认按下的按钮
             let preBtns = this.buttonJson.filter(item => (item.IsPressDown && item.IsVisibility))
             let preBtns = this.buttonJson.filter(item => (item.IsPressDown && item.IsVisibility))
-            console.log(preBtns)
             this.preBtns = preBtns
             this.preBtns = preBtns
 
 
             // 设置按钮背景图片
             // 设置按钮背景图片
@@ -81,8 +80,9 @@
                     })
                     })
 
 
                     // 3.切换界面
                     // 3.切换界面
-                    // 上一次点击的按钮
+                    // 上一次点击的按钮(同一组的情况)
                     const preBtn = this.preBtns.filter(a => a.ButtonType === 1 && a.GroupNumber === e.GroupNumber)
                     const preBtn = this.preBtns.filter(a => a.ButtonType === 1 && a.GroupNumber === e.GroupNumber)
+                    console.log(preBtn)
 
 
                     if(preBtn.length){
                     if(preBtn.length){
                         // 3.1 切换按钮
                         // 3.1 切换按钮
@@ -127,6 +127,31 @@
                         // 替换上一次点击的按钮
                         // 替换上一次点击的按钮
                         const btnArr = this.preBtns.filter(b => b.ID !== preBtn[0].ID)
                         const btnArr = this.preBtns.filter(b => b.ID !== preBtn[0].ID)
                         this.preBtns = [...btnArr,e]
                         this.preBtns = [...btnArr,e]
+                    }else {
+                        // 不同组的情况
+                        // 1.显示按钮
+                        this.buttonJson.forEach(item => {
+                            if(e.MouseDownActionList.length){
+                                for(const btn of e.MouseDownActionList){
+                                    if(btn.SourceID === item.WindowID){
+                                        item.IsVisibility = true
+                                    }
+                                }
+                            }
+                        })
+                        // 2.显示label
+                        this.$store.state.labelJson.forEach(item => {
+                            if(e.MouseDownActionList.length){
+                                for(const btn of e.MouseDownActionList){
+                                    if(btn.SourceID === item.WindowID){
+                                        item.IsVisibility = true
+                                    }
+                                }
+                            }
+                        })
+                        // 增加到上一次点击的按钮数组中
+                        const btnArr = this.preBtns
+                        this.preBtns = [...btnArr,e]
                     }
                     }
                 }
                 }
 
 

+ 0 - 53
src/renderer/components/modal/addPrePlan.vue

@@ -1,53 +0,0 @@
-<template>
-    <el-dialog title="新建预案设置" :visible.sync="openPrePlanModal" width="700px">
-        <el-form :model="form">
-            <el-form-item label="预案名称" :label-width="formLabelWidth">
-                <el-input v-model="form.name" autocomplete="off"></el-input>
-            </el-form-item>
-
-            <el-form-item label="拼接屏数量" :label-width="formLabelWidth">
-                <el-input-number v-model="form.num1" controls-position="right" @change="handleChange" :min="1" :max="9"></el-input-number>&ensp;X&ensp;
-                <el-input-number v-model="form.num2" controls-position="right" @change="handleChange2" :min="1" :max="9"></el-input-number>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="openPrePlanModal = false">取 消</el-button>
-            <el-button type="primary" @click="openPrePlanModal = false">确 定</el-button>
-        </div>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                openPrePlanModal:false,
-                form: {
-                    name: '', // 预案名称
-                    num1:0,// 拼接屏数量1
-                    num2:0,// 拼接屏数量2
-                },
-                formLabelWidth: '120px'
-            }
-        },
-        mounted() {
-            PubSub.subscribe('addPrePlan',(msg,data) => {
-                this.openPrePlanModal = true
-            })
-        },
-        methods: {
-            handleChange(value) {
-                this.form.num1 = value
-            },
-            handleChange2(value) {
-                this.form.num2 = value
-            }
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 87
src/renderer/components/modal/addSignal.vue

@@ -1,87 +0,0 @@
-<template>
-    <el-dialog title="信号源配置" :visible.sync="openSignalModal" width="700px">
-        <el-form :model="form">
-            <el-form-item label="IPC转发服务器" :label-width="formLabelWidth">
-                <el-select placeholder="请选择IPC转发服务器" v-model="form.ipc" value="">
-                </el-select>
-            </el-form-item>
-
-            <el-form-item label="信号源名称" :label-width="formLabelWidth">
-                <el-input v-model="form.name" autocomplete="off"></el-input>
-            </el-form-item>
-
-            <el-form-item label="信号源类型" :label-width="formLabelWidth">
-                <el-select placeholder="请选择信号源类型"  value="" v-model="form.type">
-                    <el-option label="IPC" value=""></el-option>
-                </el-select>
-            </el-form-item>
-
-            <el-form-item label="信号源URL" :label-width="formLabelWidth">
-                <el-input v-model="form.url" autocomplete="off"></el-input>
-            </el-form-item>
-
-            <el-form-item label="信号源预览URL" :label-width="formLabelWidth">
-                <el-input v-model="form.preurl" autocomplete="off"></el-input>
-            </el-form-item>
-
-            <el-form-item label="使用信号源预览" :label-width="formLabelWidth">
-                <el-checkbox v-model="form.checked">
-
-                </el-checkbox>
-            </el-form-item>
-
-            <el-form-item label="分辨率" :label-width="formLabelWidth">
-                <el-select placeholder="请选择分辨率" value="" v-model="form.ratio">
-                    <el-option label="720P" value=""></el-option>
-                    <el-option label="1080P" value=""></el-option>
-                </el-select>
-            </el-form-item>
-
-            <el-form-item label="用户名" :label-width="formLabelWidth">
-                <el-input v-model="form.username" autocomplete="off"></el-input>
-            </el-form-item>
-
-            <el-form-item label="密码" :label-width="formLabelWidth">
-                <el-input v-model="form.password" autocomplete="off"></el-input>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="openSignalModal = false">取 消</el-button>
-            <el-button type="primary" @click="openSignalModal = false">确 定</el-button>
-        </div>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                openSignalModal:false,
-                form: {
-                    name: '', // 信号源名称
-                    url:'',// 信号源url
-                    preurl:'',// 信号源预览url
-                    username:'',// 用户名
-                    password:'',// 密码
-                    ipc:'',
-                    type:'',
-                    checked:false,
-                    ratio:'',// 分辨率
-
-                },
-                formLabelWidth: '120px'
-            }
-        },
-        mounted() {
-            PubSub.subscribe('addSignal',(msg,data) => {
-                this.openSignalModal = true
-            })
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 40
src/renderer/components/modal/loadPrePlan.vue

@@ -1,40 +0,0 @@
-<template>
-    <el-dialog title="加载预案" :visible.sync="loadPrePlanModal" width="700px">
-        <el-form :model="form">
-            <el-form-item label="选择需要加载的预案" :label-width="formLabelWidth">
-                <el-select v-model="form.preplanId" placeholder="请选择" value="">
-
-                </el-select>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="loadPrePlanModal = false">取 消</el-button>
-            <el-button type="primary" @click="loadPrePlanModal = false">确 定</el-button>
-        </div>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                loadPrePlanModal:false,
-                form: {
-                    preplanId:''
-                },
-                formLabelWidth: '150px'
-            }
-        },
-        mounted() {
-            PubSub.subscribe('loadPrePlan',(msg,data) => {
-                this.loadPrePlanModal = true
-            })
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 38
src/renderer/components/modal/playertest.vue

@@ -1,38 +0,0 @@
-<template>
-    <el-dialog title="播放器测试" :visible.sync="playertestModal" width="700px">
-        <el-form :model="form">
-            <el-form-item label="URL" :label-width="formLabelWidth">
-                <el-input v-model="form.url" placeholder="请输入url"></el-input>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="playertestModal = false">取 消</el-button>
-            <el-button type="primary" @click="playertestModal = false">确 定</el-button>
-        </div>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                playertestModal:false,
-                form: {
-                    url:''
-                },
-                formLabelWidth: '40px'
-            }
-        },
-        mounted() {
-            PubSub.subscribe('playertest',(msg,data) => {
-                this.playertestModal = true
-            })
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 56
src/renderer/components/modal/running.vue

@@ -1,56 +0,0 @@
-<template>
-    <el-dialog title="设置文字" :visible.sync="runningModal" width="700px">
-        <el-form :model="form">
-            <el-form-item label="输入文字" :label-width="formLabelWidth">
-                <el-input v-model="form.fontcontent" placeholder="请输入文字"></el-input>
-            </el-form-item>
-
-            <el-form-item label="文字字号" :label-width="formLabelWidth">
-                <el-input-number v-model="form.fontsize" controls-position="right" @change="handleChange" :min="12" :max="30"></el-input-number>
-            </el-form-item>
-
-            <el-form-item label="移动速度" :label-width="formLabelWidth">
-                <el-input-number v-model="form.speed" controls-position="right" @change="handleChange2" :min="1" :max="100"></el-input-number>
-            </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer">
-            <el-button @click="runningModal = false">取 消</el-button>
-            <el-button type="primary" @click="runningModal = false">确 定</el-button>
-        </div>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                runningModal:false,
-                form: {
-                    fontcontent:'',
-                    fontsize:12,
-                    speed:1
-                },
-                formLabelWidth: '150px'
-            }
-        },
-        mounted() {
-            PubSub.subscribe('running',(msg,data) => {
-                this.runningModal = true
-            })
-        },
-        methods: {
-            handleChange(value) {
-                this.form.fontsize = value
-            },
-            handleChange2(value) {
-                this.form.speed = value
-            },
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>

+ 0 - 53
src/renderer/components/modal/settingBackground.vue

@@ -1,53 +0,0 @@
-<template>
-    <el-dialog title="设置背景图片" :visible.sync="settingBgModal" width="700px">
-        <el-upload
-                class="upload-demo"
-                action="https://jsonplaceholder.typicode.com/posts/"
-                :on-preview="handlePreview"
-                :on-remove="handleRemove"
-                :before-remove="beforeRemove"
-                multiple
-                :limit="3"
-                :on-exceed="handleExceed"
-                :file-list="fileList">
-            <el-button size="small" type="primary">点击上传</el-button>
-            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
-        </el-upload>
-    </el-dialog>
-</template>
-
-<script>
-    import PubSub from 'pubsub-js'
-
-    export default {
-        data() {
-            return {
-                settingBgModal:false,
-                fileList:[]
-            }
-        },
-        mounted() {
-            PubSub.subscribe('settingBackground',(msg,data) => {
-                this.settingBgModal = true
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`确定移除 ${ file.name }?`);
-            }
-        }
-    }
-</script>
-
-<style scoped>
-
-</style>