mobile-vue-datepick
Version:
A Vue.js project,vue-calendar,vuejs,vue
89 lines (84 loc) • 2.03 kB
JavaScript
import objectAssign from 'object-assign'
const mergeOptions = function ($vm, options) {
const defaults = {}
for (let i in $vm.$options.props) {
if (i !== 'value') {
defaults[i] = $vm.$options.props[i].default
}
}
const _options = objectAssign({}, defaults, options)
for (let i in _options) {
$vm[i] = _options[i]
}
}
function add(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}
function sub(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e;
}
function mul(a, b) {
var c = 0,
d = a.toString(),
e = b.toString();
try {
c += d.split(".")[1].length;
} catch (f) {}
try {
c += e.split(".")[1].length;
} catch (f) {}
return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}
function div(a, b) {
var c, d, e = 0,
f = 0;
try {
e = a.toString().split(".")[1].length;
} catch (g) {}
try {
f = b.toString().split(".")[1].length;
} catch (g) {}
return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), mul(c / d, Math.pow(10, f - e));
}
// 取余
function rem(a, b) {
return sub(a , mul( parseInt(div(a,b)),b))
}
function getDate(date){
const arr = date.toString().split('-');
// console.log(arr);
arr[1] = arr[1].length ===1 && arr[1] < 10 ? '0'+arr[1]:arr[1];
arr[2] = arr[2].length ===1 && arr[2] < 10 ? '0'+arr[2]:arr[2];
return `${arr[0]}-${arr[1]}-${arr[2]}`
}
export {
mergeOptions,
add,
sub,
mul,
div,
rem,
getDate
}