Vue.directive('disabled', { update: function (newValue) { if (newValue) { $(this.el).prop("disabled", true); } else { $(this.el).prop("disabled", false); } } }); Vue.directive('enabled', { update: function (newValue) { if (newValue) { $(this.el).prop("disabled", false); } else { $(this.el).prop("disabled", true); } } }); Vue.directive('spage-close', function (val) { var $el = $(this.el); var $spage = val && val.wrap ? $(val.wrap) : $el.closest(".vc-spage"); $el.off("click.spage.vc").on("click.spage.vc", function (event) { event.preventDefault(); event.stopPropagation(); $spage.hide(); $spage.siblings(".vc-mpage:first").show(); }); }); Vue.directive('table-status-desc', { update: function (newValue) { var $el = $(this.el); switch (newValue) { case "loading": $el.text("加载中..."); break; case "loaded0": $el.text("没有数据"); break; case "fail": $el.text("加载数据失败"); break; default: $el.text(""); break; } } }); Vue.filter('money', function (value) { return value ? value.toFixed(2) : value; }); //filter // 注册 Vue.filter('FixNumber', function (desc) { // 返回处理后的值 if (desc !== "" && desc !== null && !isNaN(desc)) { var value = parseFloat(desc).toFixed(2); if (value === 0) {//防止返回值是-0.00 return "0.00"; } return value; } return desc; }); Vue.filter('FixNumber2', main.numberFormat(2, { grouping: true })); Vue.filter('PercentNumber', main.numberFormat(2, { grouping: true, percent: true })); Vue.filter('PercentNumber3', main.numberFormat(3, { grouping: true, percent: true })); Vue.filter('PercentNumber4', main.numberFormat(4, { grouping: true, percent: true })); Vue.filter('Fix3Number', main.numberFormat(3)); // getter,返回已注册的过滤器 Vue.filter('FixNumber', Vue.filter('FixNumber')); Vue.filter('formatDate', function (time) { var momDate = new moment(time); if (!momDate.isValid() || typeof time === "undefined") return "/"; return momDate.format("YYYY-MM-DD"); }); Vue.filter('formatDate', Vue.filter('formatDate')); Vue.filter('ToUnderlyingInstrumentTypeCn', function (UnderlyingInstrumentType) { if (UnderlyingInstrumentType === "Stock") return "股票"; return "商品期货"; }); Vue.filter('ToUnderlyingInstrumentTypeCn', Vue.filter('ToUnderlyingInstrumentTypeCn')); Vue.filter('ToIntEx', function (desc) { return numeral(desc).format("0,0"); });