define(function(require, exports, module) { var Biz = require('system/base/biz'); var optionTpl = require('text!apps/edp/frs/frs006/option.tpl'); //var MSG = require('../../../../locale/{lang}/ssm_frs'); // _.extend(Store.MSG, MSG); var fixQuery = { 'OptionType': '1', }; function OptionManageBiz(vm) { Biz.call(this, vm); }; inherits(OptionManageBiz, Biz); OptionManageBiz.prototype.initCompleted = function() { this.super('initCompleted'); var self = this; var params = { plugin: 'getOptionLevel', pluginData: {} }; Store.services.executeplugin(params, function(isOk, result) { if (isOk) { var treedata = parseMenuData(result); self.callView('setTreeData', treedata); } }); }; OptionManageBiz.prototype.getTreeTitle = function() { return Store.MSG.FRS006_01 }; OptionManageBiz.prototype.treeSelected = function(selectValue, selectColName) { var dsMaster = this.dsMaster; if (selectValue) { if (selectValue == '*') { fixQuery = { 'OptionType': '1' }; } else { _.extend(fixQuery, { '*CateCode': selectValue }); } dsMaster.fixQuery = fixQuery; dsMaster.search(); } } OptionManageBiz.prototype.getCustomTpl = function() { //多语言转换 optionTpl = Store.compile(optionTpl, { FRS005_09: Store.MSG.FRS005_09 }); return $('
') .append(optionTpl); } OptionManageBiz.prototype.beforeRefresh = function() { this.dsMaster.fixQuery = fixQuery; return this.super("beforeRefresh"); }; OptionManageBiz.prototype.beforeEdit = function() { var self = this; var currentRow = self.dsMaster.currentRow; if (currentRow === null) return false; var isEdit = currentRow["IsEditable"]; if (isEdit === '0') { Store.messager.warn(Store.MSG.FRS006_02); //此选项值,不允许用户编辑。 return false; } return this.super('beforeEdit'); }; OptionManageBiz.prototype.afterEdit = function() { this.super('afterEdit'); var self = this; var currentRow = self.dsMaster.currentRow; var detailSetType = currentRow["DetailSetType"]; self.view.vm.grid_dsDetail.setOptions({ editable: true, enableAddRow: true }); if (detailSetType === '0') { self.view.vm.grid_dsDetail.setOptions({ editable: false, enableAddRow: false }); } this.view.setEditLimit(self.dsMaster, 'DetailSetType', false); this.view.setEditLimit(self.dsMaster, 'OptionName', false); }; OptionManageBiz.prototype.currentChanged = function(dataSrc, oldRow, newRow) { //this.super('currentChanged', dataSrc, oldRow, newRow); var self = this; if (newRow && newRow.Remark && $('.remarkContent1')[0]) { $('.remarkContent2').html(newRow.Remark); } }; OptionManageBiz.prototype.beforeSave = function() { var currentRow = this.dsMaster.currentRow; if (currentRow === null) return false; var pOptionCode = currentRow["OptionCode"]; var pOptionValue = currentRow["OptionValue"]; var params = { plugin: 'proFrsOptionPrcCheck', sync: true, pluginData: { ps_OptionCode: pOptionCode, ps_OptionNewValue: pOptionValue, } }; var resultData = Store.services.executeplugin(params); if (resultData) { var checkResult = resultData.data_Proc.ps_CheckResult; if (checkResult === '0') { Store.messager.err(Store.format(Store.MSG.FRS005_04, resultData.data_Proc.ps_ErrMsg)); //一般选项保存失败,原因:{0} return false; } else if (checkResult === '2') { //是否继续修改? Store.messager.confirm(resultData.data_Proc.ps_ErrMsg + '\n' + Store.MSG.FRS005_05, function(cfm) { if (cfm) return this.super('beforeSave'); }); return false; } } else { return false; } return this.super('beforeSave'); } OptionManageBiz.prototype.dataColumnValidate = function(dataSrc, dr, dc, value) { if ((dataSrc.uiObjCode === "tFrsOption01" || dataSrc.uiObjCode === "tFrsOptionDetail01") && dc.fieldName === "OptionValue" && value !== null) { var pOptionCode = dr["OptionCode"]; var pOptionValue = value; var params = { plugin: 'proFrsCheckOptionValue', sync: true, pluginData: { ps_OptionCode: pOptionCode, ps_OptionValue: pOptionValue, } }; var resultData = Store.services.executeplugin(params); if (resultData) { var valid = resultData.data_Proc.ps_Valid; if (valid === '0') { if (dataSrc.uiObjCode === "tFrsOption01") { Store.messager.warn(Store.MSG.FRS006_05); //主表录入的全局选项值不合法,具体设置请参考选项说明。 } else { Store.messager.warn(Store.MSG.FRS006_06); //从表录入的选项值不合法,具体设置请参考选项说明。 } return false; } } else { return false; } } return this.super('dataColumnValidate'); } OptionManageBiz.prototype.afterSave = function() { this.super('afterSave'); var self = this; var currentRow = self.dsMaster.currentRow; var enableType = currentRow.getColumnText('EnableType'); var indexStart = enableType.indexOf('-') + 1; var indexEnd = enableType.length; var typeStr = enableType.substring(indexStart, indexEnd); Store.messager.tip(Store.format(Store.MSG.FRS006_07, typeStr)); //保存成功,{0} } /** * [强制转换为树结构数据] * @param {[type]} data [要转换树菜单结构的数据,此处为本地选项菜单数据] */ function parseMenuData(data) { var nodes = []; var preNode = { id: '*', pId: '', value: '*', name: Store.MSG.FRS006_08, //选项 open: true }; nodes.push(preNode); $.each(data, function(index, item) { var node = {}; node.id = item.catecode; node.pId = item.precatecode; node.value = item.catecode; node.name = item.catename; nodes.push(node); }); return nodes; } return OptionManageBiz; });