const statisticsCard = { template: `
{{ title }}
`, props: { title: { type: String, default: "" }, tip: { type: String, default: "" }, border: { type: Boolean, default: true }, count: { type: Number | String, default: null }, shadow: { type: Boolean, default: false }, colorful: { type: Boolean, default: false }, background: { type: String, default: "unset" }, countColor: { type: String, default: "#5e6c84" }, decimals: { type: Number, default: 0 } }, watch: { count(newV) { if (this.decimals === 0) { let split = String(newV).split("."); this.decimals = split[1] ? split[1].length : 0; } } } } const statisticsTimeRange = { template: `
`, props:{ custom:{ type:Boolean, default:false } }, data() { return { datePickerFormat: "", timeRangeTypes: [{ text: "日", key: "day" }, { text: "周", key: "week" }, { text: "月", key: "month" }], timeRangeType: "day", timeRange: null } }, methods: { dateChanged() { this.$emit('changed', { timeRangeType: this.timeRangeType, timeRange: new Date(this.timeRange).getTime() }); }, handelDate(date){ date[0] = date[0].getFullYear()+'-'+(date[0].getMonth()+1).toString().padStart(2,'0')+'-'+date[0].getDate().toString().padStart(2,'0') date[1] = date[1].getFullYear()+'-'+(date[1].getMonth()+1).toString().padStart(2,'0')+'-'+date[1].getDate().toString().padStart(2,'0') return date }, dateRangeChanged(){ let arr = [] arr = this.handelDate(this.timeRange) this.$emit('changed', { timeRangeType: this.timeRangeType, timeRange:arr}); } }, computed: { datePickerType() { switch (this.timeRangeType) { case "day": this.datePickerFormat = "yyyy 年 MM 月 dd 日"; return "date"; break; case "week": this.datePickerFormat = "yyyy 第 WW 周"; return "week"; break; case "month": this.datePickerFormat = "yyyy 年 MM月"; return "month"; break; case "between": this.datePickerFormat = null; return "daterange" break } } }, mounted(){ if(this.custom){ this.timeRangeTypes= [{ text: "日", key: "day" }, { text: "周", key: "week" }, { text: "月", key: "month" },{ text:'自定义', key:'between' }] } } } const StatisticsCardTitle = { template: `
` } const componentMixins = { components: { statisticsCard, StatisticsCardTitle, statisticsTimeRange }, methods: { getDecimals(numbers) { let split = String(numbers).split("."); return split[1] ? split[1].length : 0; }, } };