2021SC@SDUSC
本次分析的是report-ui\src\views\report\bigscreen\designer中index.vue中的代码:
以上为代码实现的界面,接下来对代码进行分析:
import {insertDashboard, detailDashboard, importDashboard, exportDashboard} from "@/api/bigscreen";
import {widgetTools, getToolByCode} from "./tools";
import widget from "./widget/widget.vue";
import dynamicForm from "./form/dynamicForm.vue";
import draggable from "vuedraggable";
import VueRulerTool from "vue-ruler-tool";
import contentMenu from "./form/contentMenu";
import {getToken} from "@/utils/auth";
export default {
name: "Login",
components: {
draggable,
VueRulerTool,
widget,
dynamicForm,
contentMenu
},
data() {
return {
uploadUrl: process.env.BASE_API + '/reportDashboard/import/' + this.$route.query.reportCode,
grade: false,
layerWidget: [],
widgetTools: widgetTools,
widthLeftForTools: 200,
widthLeftForToolsHideButton: 15,
widthLeftForOptions: 300,
widthPaddingTools: 18,
toolIsShow: true,
bigscreenWidth: 1920,
bigscreenHeight: 1080,
dashboard: {
id: null,
title: "",
width: 1920,
height: 1080,
backgroundColor: "",
backgroundImage: "",
refreshSeconds: null,
presetLine: [],
presetLineVisible: true
},
screenCode: "",
widgets: [
{
type: "widget-text",
value: {
setup: {},
data: {},
position: {
width: 100,
height: 100,
left: 0,
top: 0,
zIndex: 0
}
},
options: []
}
],
widgetIndex: 0,
widgetOptions: {
setup: [],
data: [],
position: []
},
flagWidgetClickStopPropagation: false,
styleObj: {
left: 0,
top: 0
},
visibleContentMenu: false,
rightClickIndex: -1,
activeName: "first"
};
},
computed: {
headers() {
return {
Authorization: getToken(),
}
},
middleWidth() {
var widthLeftAndRight = 0;
if (this.toolIsShow) {
widthLeftAndRight += this.widthLeftForTools;
}
widthLeftAndRight += this.widthLeftForToolsHideButton;
widthLeftAndRight += this.width