commonWeight.js
3.93 KB
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
export default {
data() {
return {
options: {},
optionsSetUp: {},
optionsPosition: {},
optionsData: {},
id: (new Date()).getTime(),
}
},
props: {
config:Object,
value: Object,
ispreview: Boolean
},
watch: {
value: {
handler(val) {
this.options = val;
this.optionsSetUp = val.setup;
this.optionsPosition = val.position;
this.reloadPage();
},
deep: true
}
},
mounted() {
this.options = this.value;
this.optionsSetUp = this.value.setup;
this.optionsPosition = this.value.position;
},
computed: {
// 计算样式
getStyle() {
let that = this;
// 位置信息
const position = this.optionsPosition;
let css = {};
if(position && Object.keys(position).length > 0){
css = {
position: this.ispreview ? "absolute" : "static",
width: position.width + "px",
height: position.height + "px",
left: position.left + "px",
top: position.top + "px"
};
}
// 属性信息
const setup = that.optionsSetUp;
const config = that.config;
for (const key in setup) {
let arr = config.setup.filter(function(v){if(v.name == key){return v}})
if(arr && arr.length == 1){
let val = setup[key];
let cssTemplate = arr[0].cssTemplate;
if (cssTemplate) {
let split = cssTemplate.replace("%s", val).split(":");
css[split[0]] = split[1];
}
}
}
return css;
}
},
methods: {
/**
* 页面重新加载
*/
reloadPage() {
console.log("页面重新加载中....")
},
/**
* 获取x天后的日期
* @param day
* @returns {string} yyyy-MM-mm
*/
getData(day) {
var doHandMonth = (month) => {
var m = month
if (month.toString().length == 1) {
m = "0" + month
}
return m
}
var today = new Date()
var targetday = today.getTime() + 1000 * 60 * 60 * 24 * day
today.setTime(targetday)
var tYear = today.getFullYear()
var tMonth = today.getMonth()
var tDate = today.getDate()
tMonth = doHandMonth(tMonth + 1)
tDate = doHandMonth(tDate)
return tYear + "-" + tMonth + "-" + tDate
},
/**
* 获取URL所有的参数
*/
getUrlParam() {
let url = window.location.href;
let arrObj = url.split("?");
let params = Object.create(null)
if (arrObj.length > 1) {
arrObj = arrObj[1].split("&");
arrObj.forEach(item => {
item = item.split("=");
params[item[0]] = item[1]
})
}
return params;
},
/**
* 请求接口数据
* @returns {Promise<unknown>}
*/
handlerData(params) {
let that = this;
const optionsData = this.value.data;
if (optionsData.dynamicData) {
let contextData = optionsData.dynamicData.contextData;
// 合并url参数
let paramsObj = that.getUrlParam();
if (paramsObj) {
for (let key of Object.keys(paramsObj)) {
let paramVal = paramsObj[key];
contextData[key] = paramVal;
}
}
// 合并自定义的参数
if (params) {
for (let key of Object.keys(params)) {
let paramVal = params[key];
contextData[key] = paramVal;
}
}
}
return new Promise(async (resolve) => {
that.queryEchartsData(
optionsData.dynamicData,
optionsData.refreshTime,
that.optionsSetup,
optionsData.isRefresh
).then(res => {
let data = res[0];
if (data && (data.code == 200 || data.code == 0)) {
resolve(data);
} else if (data && data.code == 401) {
console.log('token过期,请重新登录!', data);
}
});
})
},
}
}