mixins.js 2.88 KB
import BASE_URL from './config.js'
import utils from '../service/utils.js'
export default {
	data() {
		return {}
	},
	filters: {
		berthDurationTimeFilter(start_time){
			if(!start_time){
				return '';
			}
			start_time=new Date(start_time);
			var end_time='';
			end_time=new Date();
			var duration = end_time -start_time;
			if(duration>0){
				var result='';
				duration = duration / 1000;
				let day=duration/(60*60*24);
				if(day>=1){
					result+=Math.floor(day)+'天';
					duration = duration%(60*60*24);
				}
				let hour=duration/(60*60);
				if(hour>=1){
					result+=Math.floor(hour)+'时';
					duration = duration%(60*60);
				}
				let min=duration/60;
				if(min>=1){
					result+=Math.floor(min)+'分';
					duration = duration%60;
				}
				result+=Math.floor(duration)+'秒';
				return result;
			}else{
				return '';
			}
		},
		//停车时间
		orderDurationTimeFilter(item){
			var start_time='';
			if(item.dici_start_time && item.dici_start_time.indexOf('1900-01-01') == -1){
				start_time = new Date(item.dici_start_time);
			}else{
				start_time = new Date(item.start_time);
			}
			var end_time='';
			if(item.dici_end_time && item.dici_end_time.indexOf('1900-01-01') == -1){
				end_time = new Date(item.dici_end_time);
			}else if(item.end_time){
				end_time = new Date(item.end_time);
			}else{
				end_time=new Date();
			}
			var duration = end_time -start_time;
			if(duration>0){
				var result='';
				duration = duration / 1000;
				let day=duration/(60*60*24);
				if(day>=1){
					result+=Math.floor(day)+'天';
					duration = duration%(60*60*24);
				}
				let hour=duration/(60*60);
				if(hour>=1){
					result+=Math.floor(hour)+'时';
					duration = duration%(60*60);
				}
				let min=duration/60;
				if(min>=1){
					result+=Math.floor(min)+'分';
					duration = duration%60;
				}
				result+=Math.floor(duration)+'秒';
				return result;
			}else{
				return '';
			}
		},
		carTypeFilter(val) {
			let carType = '蓝牌车';
			switch (val) {
				case 1:
					carType = '蓝牌车';
					break;
				case 2:
					carType = '黄牌车';
					break;
				default:
					break;
			}
			return carType;
		},
		imageUrlFilter(val) {
			if (val.indexOf('http') === 0 || val.indexOf('base64')>-1) {
				return val;
			} else {
				return BASE_URL + val;
			}
		},
		moneyFilter(val){
			if(!val){
				return '0.00';
			}
			return (val/100).toFixed(2);
		},
		dateTimeFilter(val,formatStr){
			try{
				return utils.formatTime(new Date(val),formatStr);
			}catch(e){
				//TODO handle the exception
				return val;
			}
		},
	},
	methods:{
		getListQuery() {
			let queryParam = Object.assign({}, this.listQuery);
			let filters = { ...this.filters};
			for (let key in filters) {
				if (!filters[key]) {
					delete filters[key];
				}
			}
			queryParam.filters = JSON.stringify(filters);
			if (queryParam.filters === '{}') {
				delete queryParam.filters;
			}
			return queryParam;
		},
	}
}