define(function (require, exports, module) { //引入业务类基类 let BaseBiz = require('apps/rht/base/rhtBiz'); let rhtService = require('../../base/rhtService'); let rhtComm = require('apps/rht/comm/rhtComm'); //引入业务服务 let Service = require('./cnt070103service'); /** * 定义业务类对象 * @param vm 界面相关ViewModule */ function Biz(vm) { //继承第一步,构造继承 BaseBiz.call(this, vm); } //继承第二步,方法继承 inherits(Biz, BaseBiz); let orgType = rhtComm.GetOrgType(Store.logOn.orgCode); //控制主界面按钮状态 Biz.prototype.getOpEnabled = function (opCode) { let self = this; let isOk = this.super('getOpEnabled', opCode); if (!isOk) return false; let curRow = this.dsMaster.currentRow; let zkAreaCode = curRow ? TypeUtil.toString(curRow.ZkAreaCode) : ''; if (opCode == 'add') { if(orgType != '1001') return false; } if (opCode == 'edit') { if (!curRow) return false; if(orgType != '1001') return false; if(zkAreaCode == '*0' || zkAreaCode == '*1' || zkAreaCode == '*2') return false; } if (opCode == 'delete') { if (!curRow) return false; if(orgType != '1001') return false; if(zkAreaCode == '*0' || zkAreaCode == '*1' || zkAreaCode == '*2') return false; } return true; }; /** * @description 数据发生变化时调用 * @param dataSrc 数据集 * @param dr 数据行 * @param dc 数据列 */ Biz.prototype.fieldChanged = function (dataSrc, dr, dc) { let self = this; if (dataSrc.uiObjCode === this.dsMaster.uiObjCode) { let currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; switch (dc.fieldName) { case 'MinZkRate': this.fieldChangedMinZkRate(dataSrc, dr, dc); break; case 'MaxZkRate': this.fieldChangedMaxZkRate(dataSrc, dr, dc); break; } } return this.super('fieldChanged'); }; Biz.prototype.fieldChangedMinZkRate = function (dataSrc, dr, dc) { let minZkRate = TypeUtil.toFloat(dr.MinZkRate); let maxZkRate = TypeUtil.toFloat(dr.MaxZkRate); if(minZkRate < 0 || minZkRate > 100) { dr.setColumnError('MinZkRate', '折扣下限必须在0~100之间!'); return false; } return true; }; Biz.prototype.fieldChangedMaxZkRate = function (dataSrc, dr, dc) { let minZkRate = TypeUtil.toFloat(dr.MinZkRate); let maxZkRate = TypeUtil.toFloat(dr.MaxZkRate); if(maxZkRate < 0 || maxZkRate > 100) { dr.setColumnError('MaxZkRate', '折扣上限必须在0~100之间!'); return false; } return true; }; //添加后执行 Biz.prototype.afterAdd = function () { let masterAdapter = this.view.vm['ep_dsMaster']; masterAdapter.setEditorEditable('ZkAreaCode', true); return this.super('afterAdd'); }; Biz.prototype.afterEdit = function () { let masterAdapter = this.view.vm['ep_dsMaster']; masterAdapter.setEditorEditable('ZkAreaCode', false); return this.super('afterEdit'); } //保存前校验 Biz.prototype.beforeSave = function () { let curRow = this.dsMaster.currentRow; let zkAreaCode = TypeUtil.toString(curRow.ZkAreaCode); let zkType = TypeUtil.toString(curRow.ZkType); let minZkRate = TypeUtil.toFloat(curRow.MinZkRate); let maxZkRate = TypeUtil.toFloat(curRow.MaxZkRate); if(minZkRate > maxZkRate) { Store.messager.err('折扣下限不能大于折扣上限!'); return false; } let ret = Service.ChkZkArea(zkAreaCode, zkType, minZkRate, maxZkRate); if (ret.result != 1) { Store.messager.err(ret.message); return false; } return this.super('beforeSave'); }; /** * 删除前询问,通常进行一些删除前校验操作 * 默认操作会提示‘确定删除?’询问 * @return {Boolean,String} 返回操作是否被允许,只有false时,才会不允许执行,其他则作为提示询问用户 * */ Biz.prototype.beforeDelete = function () { let curRow = this.dsMaster.currentRow; let zkAreaCode = TypeUtil.toString(curRow.ZkAreaCode); let ret = Service.ChkZkAreaDel(zkAreaCode); if (ret.result != 1) { Store.messager.err(ret.message); return false; } return this.super('beforeDelete'); }; return Biz; });