|  | @@ -1 +1,79 @@
 | 
	
		
			
				|  |  | +<!--
 | 
	
		
			
				|  |  | + * @Descripttion: 大屏设置器
 | 
	
		
			
				|  |  | + * @version: 
 | 
	
		
			
				|  |  | + * @Author: qianlishi
 | 
	
		
			
				|  |  | + * @Date: 2022-03-14 14:05:15
 | 
	
		
			
				|  |  | + * @LastEditors: qianlishi
 | 
	
		
			
				|  |  | + * @LastEditTime: 2022-04-28 12:23:34
 | 
	
		
			
				|  |  | +-->
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class="layout">
 | 
	
		
			
				|  |  | +    <div :style="bigScreenStyle">
 | 
	
		
			
				|  |  | +      <widget
 | 
	
		
			
				|  |  | +        v-for="(widget, index) in widgets"
 | 
	
		
			
				|  |  | +        :key="index"
 | 
	
		
			
				|  |  | +        v-model="widget.value"
 | 
	
		
			
				|  |  | +        :type="widget.type"
 | 
	
		
			
				|  |  | +      />
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import widget from "./components/temp";
 | 
	
		
			
				|  |  | +import { detailDashboard } from "@/api/bigscreen";
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "Login",
 | 
	
		
			
				|  |  | +  components: {
 | 
	
		
			
				|  |  | +    widget
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  data() {
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      bigScreenStyle: {},
 | 
	
		
			
				|  |  | +      widgets: []
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  mounted() {
 | 
	
		
			
				|  |  | +    this.getData();
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  methods: {
 | 
	
		
			
				|  |  | +    async getData() {
 | 
	
		
			
				|  |  | +      const reportCode = this.$route.query.reportCode;
 | 
	
		
			
				|  |  | +      const { code, data } = await detailDashboard(reportCode);
 | 
	
		
			
				|  |  | +      if (code != 200) return;
 | 
	
		
			
				|  |  | +      const equipment = document.body.clientWidth;
 | 
	
		
			
				|  |  | +      const ratioEquipment = equipment / data.dashboard.width;
 | 
	
		
			
				|  |  | +      this.bigScreenStyle = {
 | 
	
		
			
				|  |  | +        width: data.dashboard.width + "px",
 | 
	
		
			
				|  |  | +        height: data.dashboard.height + "px",
 | 
	
		
			
				|  |  | +        "background-color": data.dashboard.backgroundColor,
 | 
	
		
			
				|  |  | +        "background-image": "url(" + data.dashboard.backgroundImage + ")",
 | 
	
		
			
				|  |  | +        "background-position": "0% 0%",
 | 
	
		
			
				|  |  | +        "background-size": "100% 100%",
 | 
	
		
			
				|  |  | +        "background-repeat": "initial",
 | 
	
		
			
				|  |  | +        "background-attachment": "initial",
 | 
	
		
			
				|  |  | +        "background-origin": "initial",
 | 
	
		
			
				|  |  | +        "background-clip": "initial",
 | 
	
		
			
				|  |  | +        transform: `scale(${ratioEquipment}, ${ratioEquipment})`,
 | 
	
		
			
				|  |  | +        "transform-origin": "0 0"
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      this.widgets = data.dashboard.widgets;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<style scoped lang="scss">
 | 
	
		
			
				|  |  | +.layout {
 | 
	
		
			
				|  |  | +  width: 100%;
 | 
	
		
			
				|  |  | +  height: 100%;
 | 
	
		
			
				|  |  | +  text-align: center;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.bottom-text {
 | 
	
		
			
				|  |  | +  width: 100%;
 | 
	
		
			
				|  |  | +  color: #a0a0a0;
 | 
	
		
			
				|  |  | +  position: fixed;
 | 
	
		
			
				|  |  | +  bottom: 16px;
 | 
	
		
			
				|  |  | +  z-index: 9999;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +</style>
 |