define(function (require, exports, module) { //引入业务类基类 let BaseBiz = require('apps/rht/base/rhtBiz'); //引入业务服务 let service = require('./sys01030803service'); /** * 定义业务类对象 * @param vm 界面相关ViewModule */ function Biz(vm) { //继承第一步,构造继承 BaseBiz.call(this, vm); } //继承第二步,方法继承 inherits(Biz, BaseBiz); /** * @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 'IsRule': this.fieldChangedIsRule(dataSrc, dr, dc); break; case 'IsPrefix': this.fieldChangedIsPrefix(dataSrc, dr, dc); break; case 'IsDate': this.fieldChangedIsDate(dataSrc, dr, dc); break; } } return this.super('fieldChanged'); }; Biz.prototype.fieldChangedIsRule = function (dataSrc, dr, dc) { let isRule = TypeUtil.toString(dr['IsRule']); let masterAdapter = this.view.vm['ep_dsMaster']; if(isRule == '1') { masterAdapter.setEditorEditable('NoLength', true); masterAdapter.setEditorEditable('IsPrefix', true); masterAdapter.setEditorEditable('PrefixLen', true); masterAdapter.setEditorEditable('PrefixNo', true); masterAdapter.setEditorEditable('IsDate', true); masterAdapter.setEditorEditable('DateFmt', true); masterAdapter.setEditorEditable('SerialLen', true); }else { masterAdapter.setEditorEditable('NoLength', false); masterAdapter.setEditorEditable('IsPrefix', false); masterAdapter.setEditorEditable('PrefixLen', false); masterAdapter.setEditorEditable('PrefixNo', false); masterAdapter.setEditorEditable('IsDate', false); masterAdapter.setEditorEditable('DateFmt', false); masterAdapter.setEditorEditable('SerialLen', false); } return true; }; Biz.prototype.fieldChangedIsPrefix = function (dataSrc, dr, dc) { let isPrefix = TypeUtil.toString(dr['IsPrefix']); let masterAdapter = this.view.vm['ep_dsMaster']; if(isPrefix == '1') { masterAdapter.setEditorEditable('PrefixLen', true); masterAdapter.setEditorEditable('PrefixNo', true); }else { masterAdapter.setEditorEditable('PrefixLen', false); masterAdapter.setEditorEditable('PrefixNo', false); } return true; }; Biz.prototype.fieldChangedIsDate = function (dataSrc, dr, dc) { let isDate = TypeUtil.toString(dr['IsDate']); let masterAdapter = this.view.vm['ep_dsMaster']; if(isDate == '1') { masterAdapter.setEditorEditable('DateFmt', true); }else { masterAdapter.setEditorEditable('DateFmt', false); } return true; }; Biz.prototype.beforeEdit = function () { let currentRow = this.dsMaster.currentRow; let tblName = TypeUtil.toString(currentRow['BillHeadTbl']); let ret = service.ControlCodeRule(tblName); if(ret.result != 1) { Store.messager.err(ret.message); return false; } return this.super('beforeEdit'); } Biz.prototype.afterEdit = function () { let masterAdapter = this.view.vm['ep_dsMaster']; let currentRow = this.dsMaster.currentRow; let isRule = TypeUtil.toString(currentRow['IsRule']); if(isRule == '0') { masterAdapter.setEditorEditable('NoLength', false); masterAdapter.setEditorEditable('IsPrefix', false); masterAdapter.setEditorEditable('PrefixLen', false); masterAdapter.setEditorEditable('PrefixNo', false); masterAdapter.setEditorEditable('IsDate', false); masterAdapter.setEditorEditable('DateFmt', false); masterAdapter.setEditorEditable('SerialLen', false); }else { let isPrefix = TypeUtil.toString(currentRow['IsPrefix']); if(isPrefix == '0') { masterAdapter.setEditorEditable('PrefixLen', false); masterAdapter.setEditorEditable('PrefixNo', false); } let isDate = TypeUtil.toString(currentRow['IsDate']); if(isDate == '0') { masterAdapter.setEditorEditable('DateFmt', false); } } return this.super('beforeEdit'); } //保存前数据判断 Biz.prototype.beforeSave = function () { let currentRow = this.dsMaster.currentRow; let ret = service.GetDBID(); if(ret.result != 1) { Store.messager.err('获取DBID失败!' + ret.message); return false; } let noLength = ret.data.length; let isPrefix = TypeUtil.toString(currentRow['IsPrefix']); if(isPrefix == '1') { let prefixLen = TypeUtil.toString(currentRow['PrefixLen']); let prefixNo = TypeUtil.toString(currentRow['PrefixNo']); if(prefixLen == '') { Store.messager.err('请输入"前缀长度"!'); return false; } if(prefixLen != prefixNo.length) { Store.messager.err('“前缀”的长度与设置的“前缀长度”不一致!'); return false; } noLength += prefixNo.length; } let isDate = TypeUtil.toString(currentRow['IsDate']); let dateFmt = TypeUtil.toString(currentRow['DateFmt']); if(isDate == '1' && dateFmt == '') { Store.messager.err('请输入"日期格式"!'); return false; } noLength += dateFmt.length + TypeUtil.toFloat(currentRow['SerialLen']); currentRow.setColumnValue('NoLength', noLength); return this.super('beforeSave'); } return Biz; });