/** * 连续功率模式 * @param option * @constructor */ function PowerPackageComponent(option) { var _el = option.el; var _packages = option.packages; return new Vue({ el: _el, template: `
第{{index+1}}档功率:{{obj.max}}W ,{{obj.price}}元/小时 编辑 删除
添加
W
元/小时
取消 确认
`, data: { info: { dialogIndex: 0, dialogOpen: false, dialogData: {}, packages: [] }, }, mounted: function () { var that = this that.initPackages(); }, methods: { initPackages: function () { this.info.packages = _packages; }, editPackageRule: function (obj, index) { this.info.dialogIndex = index; this.info.dialogOpen = true; this.info.dialogData = $.extend(true, {}, obj); $("body").addClass("over-hide");//避免滚动穿透,直接禁止body滚动 }, deletePackageRule: function (obj, index) { var that = this; var tnArray = ['取消', '确认']; mui.confirm('确定要删除该套餐?', '温馨提示', tnArray, function (e) { if (e.index == 0) { } else { //点击确认业务 that.info.packages.splice(index, 1); } }); }, closeRulePanel: function () { this.info.dialogOpen = false; $("body").removeClass("over-hide");//恢复body滚动 }, savePackageRule: function () { var dialogData = this.info.dialogData; var packages = this.info.packages if ($.trim(dialogData.max) == '') { mui.toast("最大功率不能为空"); return; } var dialogIndex = this.info.dialogIndex; if ($.trim(dialogData.price) == '') { mui.toast("价格不能为空"); return; } this.info.packages.splice(this.info.dialogIndex, 1, $.extend(true, {}, dialogData)) this.info.dialogOpen = false; $("body").removeClass("over-hide");//恢复body滚动 }, addPackageRule: function () { var packages = this.info.packages var dialogIndex = this.info.dialogIndex = this.info.packages.length; this.info.dialogOpen = true; $("body").addClass("over-hide");//避免滚动穿透,直接禁止body滚动 this.info.dialogData = {}; if (dialogIndex >= 1) { var prvItem = packages[dialogIndex - 1]; this.info.dialogData.min = prvItem.max; } }, } }); }