You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
430 lines
14 KiB
430 lines
14 KiB
|
|
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 Tran = require('./Tran');
|
|
|
|
//引入业务服务
|
|
let Service = require('./etp0607service');
|
|
|
|
/**
|
|
* 定义业务类对象
|
|
* @param vm 界面相关ViewModule
|
|
*/
|
|
function Biz(vm) {
|
|
//继承第一步,构造继承
|
|
BaseBiz.call(this, vm);
|
|
}
|
|
|
|
//继承第二步,方法继承
|
|
inherits(Biz, BaseBiz);
|
|
|
|
Biz.prototype.initCompleted = function () {
|
|
this.super('initCompleted');
|
|
this.dsMaster.serverBiz = 'customerBiz'
|
|
|
|
this.inOrgCode = rhtComm.GetInOrgCode(Store.logOn.orgCode).message;
|
|
this.orgType = rhtComm.GetOrgType(Store.logOn.orgCode);
|
|
//this.productClass = rhtComm.getRhtOptionValue('*','SYS','PRODUCT_CLASS','0');
|
|
this.isSupportFrgCurr = rhtComm.getRhtOptionValue('*','SYS','SYS_ISSUPPORTFRGCURR','0');
|
|
|
|
this.isZb = this.orgType=='1001';
|
|
|
|
this.alterMode = '0';
|
|
let ret = Service.GetAlterMode('6008');
|
|
if (ret.result == 1) {
|
|
this.alterMode = ret.data;
|
|
}
|
|
};
|
|
|
|
//控制主界面按钮状态
|
|
Biz.prototype.getOpEnabled = function (opCode) {
|
|
let self = this;
|
|
let isOk = this.super('getOpEnabled', opCode);
|
|
if (!isOk) return false;
|
|
let curRow = this.dsMaster.currentRow;
|
|
|
|
if (opCode == 'add') {
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
}
|
|
if (opCode == 'edit') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus > '1')
|
|
return false;
|
|
}
|
|
if (opCode == 'delete') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus != '0' && ywStatus != '3')
|
|
return false;
|
|
}
|
|
if (opCode == 'act') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus != '0')
|
|
return false;
|
|
}
|
|
if (opCode == 'tran') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
let etpAttribute = TypeUtil.toString(curRow['EtpAttribute']);
|
|
if(!(etpAttribute == '0' && ywStatus == '1'))
|
|
return false;
|
|
}
|
|
if (opCode == 'stop') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus != '1')
|
|
return false;
|
|
}
|
|
if (opCode == 'logout') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus != '2')
|
|
return false;
|
|
}
|
|
if (opCode == 'revert') {
|
|
if (!curRow)
|
|
return false;
|
|
if(this.orgType > '1003' && this.orgType < '1099' && this.alterMode == '1')
|
|
return false;
|
|
let ywStatus = TypeUtil.toString(curRow['YwStatus']);
|
|
if(ywStatus != '2' && ywStatus != '3')
|
|
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 'EtpCode':
|
|
this.fieldChangedEtpCode(dataSrc, dr, dc);
|
|
break;
|
|
case 'IsQk':
|
|
this.fieldChangedIsQk(dataSrc, dr, dc);
|
|
break;
|
|
case 'JsDay':
|
|
this.fieldChangedJsDay(dataSrc, dr, dc);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return this.super('fieldChanged');
|
|
};
|
|
|
|
Biz.prototype.fieldChangedEtpCode = function (dataSrc, dr, dc) {
|
|
let ret = Service.GetEtpLx(dr.EtpCode);
|
|
if (ret.result == 1) {
|
|
dr.setColumnValue('EtpDstType', ret.data);
|
|
}
|
|
dr.setColumnText('JsEtpCode', dr.EtpCode);
|
|
return true;
|
|
};
|
|
Biz.prototype.fieldChangedIsQk = function (dataSrc, dr, dc) {
|
|
let iaQk = TypeUtil.toString(dr.IsQk);
|
|
let masterBdAdapter = this.view.vm['ep_dsMaster'];
|
|
if (iaQk == '0') {
|
|
masterBdAdapter.setEditorEditable('QkTotal', false);
|
|
dr.setColumnValue('QkTotal', 0);
|
|
}else {
|
|
masterBdAdapter.setEditorEditable('QkTotal', true);
|
|
}
|
|
return true;
|
|
};
|
|
Biz.prototype.fieldChangedJsDay = function (dataSrc, dr, dc) {
|
|
let jsDay = TypeUtil.toFloat(dr.JsDay);
|
|
if(jsDay == '') {
|
|
dr.setColumnValue('JsDay', 0);
|
|
}
|
|
if(jsDay < '0' || jsDay > '31') {
|
|
dr.setColumnError('JsDay', '客户月结日不对请重新输入!');
|
|
return false;
|
|
}
|
|
return true;
|
|
};
|
|
|
|
//添加后执行
|
|
Biz.prototype.afterAdd = function () {
|
|
let currentRow = this.dsMaster.currentRow;
|
|
let masterBdAdapter = this.view.vm['ep_dsMaster'];
|
|
if(this.orgType != '1001') {
|
|
masterBdAdapter.setEditorEditable('OrgCode', false);
|
|
}
|
|
|
|
if((this.orgType != '1001' && this.orgType != '1002')) {
|
|
masterBdAdapter.setEditorEditable('JsEtpCode', false);
|
|
}
|
|
masterBdAdapter.setEditorEditable('IsKzCredit', true);
|
|
|
|
if(this.orgType != '1001' && this.orgType != '1002') {
|
|
masterBdAdapter.setEditorEditable('OrgCode', false);
|
|
}else {
|
|
masterBdAdapter.setEditorEditable('OrgCode', true);
|
|
}
|
|
|
|
if(this.isSupportFrgCurr == '1') {
|
|
masterBdAdapter.setEditorEditable('CurrCode', true);
|
|
}else {
|
|
masterBdAdapter.setEditorEditable('CurrCode', false);
|
|
}
|
|
//currentRow.setColumnValue('IsQk', 1);
|
|
currentRow.setColumnValue('IsTh', 1);
|
|
currentRow.setColumnValue('IsKzCredit', 0);
|
|
currentRow.setColumnValue('LoginDate', new Date(rhtComm.GetServerDateTime(0)).format('yyyy-MM-dd'));
|
|
|
|
let ret = Service.GetCurrCode();
|
|
if (ret.result == 1) {
|
|
currentRow.setColumnValue('CurrCode', ret.data);
|
|
}
|
|
return this.super('afterAdd');
|
|
}
|
|
|
|
//编辑后执行
|
|
Biz.prototype.afterEdit = function () {
|
|
let currentRow = this.dsMaster.currentRow;
|
|
let masterBdAdapter = this.view.vm['ep_dsMaster'];
|
|
|
|
if((this.orgType != '1001' && this.orgType != '1002')) {
|
|
masterBdAdapter.setEditorEditable('JsEtpCode', false);
|
|
}
|
|
masterBdAdapter.setEditorEditable('IsKzCredit', true);
|
|
|
|
let iaQk = TypeUtil.toString(this.dsMaster.currentRow.IsQk);
|
|
if (iaQk == '0') {
|
|
masterBdAdapter.setEditorEditable('QkTotal', false);
|
|
currentRow.setColumnValue('QkTotal', 0);
|
|
}else {
|
|
masterBdAdapter.setEditorEditable('QkTotal', true);
|
|
}
|
|
|
|
if(this.isSupportFrgCurr == '1') {
|
|
masterBdAdapter.setEditorEditable('CurrCode', true);
|
|
}else {
|
|
masterBdAdapter.setEditorEditable('CurrCode', false);
|
|
}
|
|
|
|
return this.super('afterEdit');
|
|
};
|
|
|
|
//保存前校验
|
|
Biz.prototype.beforeSave = function () {
|
|
let self = this;
|
|
let curRow = this.dsMaster.currentRow;
|
|
let etpCode = TypeUtil.toString(curRow.EtpCode);
|
|
let jsEtpCode = TypeUtil.toString(curRow.JsEtpCode);
|
|
let jsDay = TypeUtil.toFloat(curRow.JsDay);
|
|
let yhRate = TypeUtil.toFloat(curRow.PfYhRate);
|
|
let qkTotal = TypeUtil.toFloat(curRow.QkTotal);
|
|
|
|
if(yhRate < 0) {
|
|
Store.messager.err('优惠率必须大于零!');
|
|
return false;
|
|
}
|
|
if(qkTotal < 0) {
|
|
Store.messager.err('允许欠款额度必须大于零!');
|
|
return false;
|
|
}
|
|
|
|
if(jsDay == '') {
|
|
curRow.setColumnValue('JsDay', 0);
|
|
}
|
|
if(jsDay < '0' || jsDay > '31') {
|
|
Store.messager.err('客户月结日不对请重新输入!');
|
|
return false;
|
|
}
|
|
|
|
let ret = Service.CheckEtpOrg(etpCode, jsEtpCode);
|
|
if (ret.result != 1) {
|
|
Store.messager.err(ret.message);
|
|
return false;
|
|
}
|
|
|
|
if(etpCode == this.inOrgCode) {
|
|
Store.messager.err('本组织内部组织不允许设置为客户!');
|
|
return false;
|
|
}
|
|
|
|
return this.super('beforeSave');
|
|
};
|
|
|
|
//删除前执行
|
|
Biz.prototype.beforeDelete = function () {
|
|
let self = this;
|
|
let curRow = this.dsMaster.currentRow;
|
|
let ywStatus = TypeUtil.toString(curRow.YwStatus);
|
|
let etpAttribute = TypeUtil.toString(curRow.EtpAttribute);
|
|
let logoutDate = TypeUtil.toString(curRow.LogoutDate);
|
|
let etpDstType = TypeUtil.toString(curRow.EtpDstType);
|
|
|
|
if(ywStatus != '0' && etpAttribute == '1' && etpDstType == '1') {
|
|
Store.messager.err('启用后的内部配送客户不允许删除!');
|
|
return false;
|
|
}
|
|
if(ywStatus == '3' && logoutDate != '') {
|
|
let currDate = new Date(rhtComm.GetServerDateTime(0));
|
|
currDate = new Date(currDate.setFullYear(currDate.getFullYear()-1));
|
|
let oneYearBefore = currDate.format('yyyy-MM-dd');
|
|
if(logoutDate >= oneYearBefore) {
|
|
Store.messager.err('客户必须注销一年以上才能删除!');
|
|
return false;
|
|
}
|
|
}
|
|
return this.super('beforeDelete');
|
|
};
|
|
|
|
//按钮事件控制
|
|
Biz.prototype.doOp = function (opCode) {
|
|
let self = this;
|
|
if (opCode == 'act') {
|
|
let ds = self.dsMaster;
|
|
this.onAct(self, ds);
|
|
}
|
|
if (opCode == 'tran') {
|
|
let ds = self.dsMaster;
|
|
this.onTran(self, ds);
|
|
}
|
|
if (opCode == 'stop') {
|
|
let ds = self.dsMaster;
|
|
this.onStop(self, ds);
|
|
}
|
|
if (opCode == 'logout') {
|
|
let ds = self.dsMaster;
|
|
this.onLogout(self, ds);
|
|
}
|
|
if (opCode == 'revert') {
|
|
let ds = self.dsMaster;
|
|
this.onRevert(self, ds);
|
|
}
|
|
};
|
|
|
|
//启用
|
|
Biz.prototype.onAct = function (biz, ds) {
|
|
let self = this;
|
|
let currentRow = self.dsMaster.currentRow;
|
|
let orgCode = TypeUtil.toString(currentRow.OrgCode);
|
|
let etpCode = TypeUtil.toString(currentRow.EtpCode);
|
|
|
|
if (!Store.confirm("您确定要启用该供应商吗?")) {
|
|
return false;
|
|
}
|
|
|
|
let ret = Service.EtpAllCustToAudit(orgCode, etpCode, '0', '0', '', '客户管理');
|
|
if (ret.result != 1) {
|
|
Store.messager.err(ret.message);
|
|
return false;
|
|
}
|
|
Store.messager.tip('启用成功!');
|
|
biz.dsMaster.updateRow();
|
|
}
|
|
|
|
//转化
|
|
Biz.prototype.onTran = function (biz, ds) {
|
|
let self = this;
|
|
let currentRow = self.dsMaster.currentRow;
|
|
let orgCode = TypeUtil.toString(currentRow.OrgCode);
|
|
let etpCode = TypeUtil.toString(currentRow.EtpCode);
|
|
let etpAttribute = TypeUtil.toString(currentRow.EtpAttribute);
|
|
|
|
tran = new Tran(orgCode, etpCode, etpAttribute);
|
|
tran.callback = function () {
|
|
biz.dsMaster.updateRow();
|
|
}
|
|
tran.open();
|
|
}
|
|
|
|
//禁用
|
|
Biz.prototype.onStop = function (biz, ds) {
|
|
let self = this;
|
|
let currentRow = self.dsMaster.currentRow;
|
|
let orgCode = TypeUtil.toString(currentRow.OrgCode);
|
|
let etpCode = TypeUtil.toString(currentRow.EtpCode);
|
|
|
|
if (!Store.confirm("您确定要禁用吗?")) {
|
|
return false;
|
|
}
|
|
|
|
let ret = Service.EtpCustomerChangeState(orgCode, etpCode, 'Forbid');
|
|
if (ret.result != 1) {
|
|
Store.messager.err('禁用失败:' + ret.message);
|
|
return false;
|
|
}
|
|
Store.messager.tip('禁用成功!');
|
|
biz.dsMaster.updateRow();
|
|
}
|
|
|
|
//注销
|
|
Biz.prototype.onLogout = function (biz, ds) {
|
|
let self = this;
|
|
let currentRow = self.dsMaster.currentRow;
|
|
let orgCode = TypeUtil.toString(currentRow.OrgCode);
|
|
let etpCode = TypeUtil.toString(currentRow.EtpCode);
|
|
|
|
if (!Store.confirm("您确定要注销吗?")) {
|
|
return false;
|
|
}
|
|
|
|
let ret = Service.EtpCustomerChangeState(orgCode, etpCode, 'Cancel');
|
|
if (ret.result != 1) {
|
|
Store.messager.err('注销失败:' + ret.message);
|
|
return false;
|
|
}
|
|
Store.messager.tip('注销成功!');
|
|
biz.dsMaster.updateRow();
|
|
}
|
|
|
|
//恢复
|
|
Biz.prototype.onRevert = function (biz, ds) {
|
|
let self = this;
|
|
let currentRow = self.dsMaster.currentRow;
|
|
let orgCode = TypeUtil.toString(currentRow.OrgCode);
|
|
let etpCode = TypeUtil.toString(currentRow.EtpCode);
|
|
|
|
if (!Store.confirm("您确定要恢复吗?")) {
|
|
return false;
|
|
}
|
|
|
|
let ret = Service.EtpCustomerChangeState(orgCode, etpCode, 'Recall');
|
|
if (ret.result != 1) {
|
|
Store.messager.err('恢复失败:' + ret.message);
|
|
return false;
|
|
}
|
|
Store.messager.tip('恢复成功!');
|
|
biz.dsMaster.updateRow();
|
|
}
|
|
|
|
|
|
|
|
return Biz;
|
|
}); |