|
|
|
|
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('./cnt070205service');
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 定义业务类对象
|
|
|
|
|
* @param vm 界面相关ViewModule
|
|
|
|
|
*/
|
|
|
|
|
function Biz(vm) {
|
|
|
|
|
//继承第一步,构造继承
|
|
|
|
|
BaseBiz.call(this, vm);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//继承第二步,方法继承
|
|
|
|
|
inherits(Biz, BaseBiz);
|
|
|
|
|
|
|
|
|
|
Biz.prototype.initCompleted = function () {
|
|
|
|
|
this.super('initCompleted');
|
|
|
|
|
|
|
|
|
|
this.orgType = rhtComm.GetOrgType(Store.logOn.orgCode);
|
|
|
|
|
this.ctrlCntOrgDepRight = rhtComm.getRhtOptionValue("",'CNT','CtrlCntOrgDepRight','0');
|
|
|
|
|
this.isRefZkRate = rhtComm.getRhtOptionValue(Store.logOn.orgCode,'CNT','IsRefZkRate','1');
|
|
|
|
|
this.tcRateSecond = rhtComm.getRhtOptionValue(Store.logOn.orgCode,'CNT','CNT_TCRATE_SECOND','1');
|
|
|
|
|
this.isForeignCheck = rhtComm.getRhtOptionValue(Store.logOn.orgCode,'SYS','Sys_IsForeignCheck','0');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//拼装查询条件
|
|
|
|
|
Biz.prototype.beforeDataSrcSearch = function (dataSrc, params) {
|
|
|
|
|
let self = this;
|
|
|
|
|
self.setServerBiz('cn.qdhezheng.rht.app.cnt.cnt070204.PreProcess');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @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 'SupCode':
|
|
|
|
|
this.fieldChangedSupCode(dataSrc, dr, dc);
|
|
|
|
|
break;
|
|
|
|
|
case 'AsnMode':
|
|
|
|
|
this.fieldChangedAsnMode(dataSrc, dr, dc);
|
|
|
|
|
break;
|
|
|
|
|
case 'AsnBase':
|
|
|
|
|
this.fieldChangedAsnBase(dataSrc, dr, dc);
|
|
|
|
|
break;
|
|
|
|
|
case 'HtCode':
|
|
|
|
|
this.fieldChangedHtCode(dataSrc, dr, dc);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}else if (dataSrc.uiObjCode === this.dsDetail.uiObjCode) {
|
|
|
|
|
let currentRow = self.dsDetail.currentRow;
|
|
|
|
|
if (currentRow === null) return false;
|
|
|
|
|
switch (dc.fieldName) {
|
|
|
|
|
case 'UsOrgCode':
|
|
|
|
|
this.fieldChangedUsOrgCode(dataSrc, dr, dc);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return this.super('fieldChanged');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Biz.prototype.fieldChangedSupCode = function (dataSrc, dr, dc) {
|
|
|
|
|
let supCode = TypeUtil.toString(dr['SupCode']);
|
|
|
|
|
if(supCode != '') {
|
|
|
|
|
dr.setColumnText('HtCode', '');
|
|
|
|
|
dr.setColumnText('PluCode', '');
|
|
|
|
|
dr.setColumnText('BarCode', '');
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
Biz.prototype.fieldChangedAsnMode = function (dataSrc, dr, dc) {
|
|
|
|
|
let masterAdapter = this.view.vm['ep_dsMaster'];
|
|
|
|
|
let asnMode = TypeUtil.toString(this.dsMaster.currentRow['AsnMode']);
|
|
|
|
|
|
|
|
|
|
if(asnMode == '0') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', true);
|
|
|
|
|
}else {
|
|
|
|
|
dr.setColumnValue('AsnRate', 0);
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', false);
|
|
|
|
|
}
|
|
|
|
|
if(asnMode == '2') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', true);
|
|
|
|
|
}else {
|
|
|
|
|
dr.setColumnValue('AsnTotal', 0);
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', false);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
Biz.prototype.fieldChangedAsnBase = function (dataSrc, dr, dc) {
|
|
|
|
|
let asnBase = TypeUtil.toString(this.dsMaster.currentRow['AsnBase']);
|
|
|
|
|
let masterAdapter = this.view.vm['ep_dsMaster'];
|
|
|
|
|
if(asnBase == '24') {
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', true);
|
|
|
|
|
}else {
|
|
|
|
|
dr.setColumnText('PayMode', '');
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', false);
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Biz.prototype.fieldChangedHtCode = function (dataSrc, dr, dc) {
|
|
|
|
|
let htCode = TypeUtil.toString(this.dsMaster.currentRow.HtCode);
|
|
|
|
|
|
|
|
|
|
if(htCode === '') {
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dr.setColumnText('PluCode', '');
|
|
|
|
|
dr.setColumnText('BarCode', '');
|
|
|
|
|
|
|
|
|
|
// 查询签订组织、部门、是否管理品牌
|
|
|
|
|
let ret = Service.GetCntInfo(htCode);
|
|
|
|
|
if (ret.result != 1) {
|
|
|
|
|
dr.setColumnError('HtCode','加载合同信息失败!' + ret.message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.isMngBrand = TypeUtil.toString(ret.data.ismngbrand);
|
|
|
|
|
let supCode = TypeUtil.toString(ret.data.etpcode);
|
|
|
|
|
let signOrgCode = TypeUtil.toString(ret.data.orgcode);
|
|
|
|
|
let signDepCode = TypeUtil.toString(ret.data.signdepcode);
|
|
|
|
|
|
|
|
|
|
if(this.ctrlCntOrgDepRight == '1') {
|
|
|
|
|
// 检查合同的组织部门权限
|
|
|
|
|
ret = Service.CheckCntOrgDepRightAll('0', Store.logOn.userId, '', htCode, signOrgCode, signDepCode, '');
|
|
|
|
|
if (ret.result != 1) {
|
|
|
|
|
dr.setColumnError('HtCode','验证用户权限失败!' + ret.message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dr.setColumnValue('SupCode', supCode);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Biz.prototype.fieldChangedUsOrgCode = function (dataSrc, dr, dc) {
|
|
|
|
|
dr.setColumnText('PrjType', '1');
|
|
|
|
|
return true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//新增行后处理,默认值已经处理
|
|
|
|
|
Biz.prototype.afterNewRow = function (dataSrc, newRow) {
|
|
|
|
|
if (dataSrc.uiObjCode === this.dsMaster.uiObjCode) {
|
|
|
|
|
this.dsMaster.getColumn('PayMode').set('isEditable',false);
|
|
|
|
|
dataSrc.currentRow.setColumnValue('OrgCode', '*');
|
|
|
|
|
dataSrc.currentRow.setColumnValue('SerialNo', rhtComm.GetNextId("7014","1",Store.logOn.orgCode));
|
|
|
|
|
}else if (dataSrc.uiObjCode === this.dsDetail.uiObjCode) {
|
|
|
|
|
if(TypeUtil.toString(this.dsMaster.currentRow['HtCode']) == '') {
|
|
|
|
|
Store.messager.err('请录入合同!');
|
|
|
|
|
dataSrc.currentRow.delete();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return this.super('afterNewRow', dataSrc, newRow);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
Biz.prototype.afterAdd = function () {
|
|
|
|
|
let masterAdapter = this.view.vm['ep_dsMaster'];
|
|
|
|
|
let asnBase = TypeUtil.toString(this.dsMaster.currentRow['AsnBase']);
|
|
|
|
|
let asnMode = TypeUtil.toString(this.dsMaster.currentRow['AsnMode']);
|
|
|
|
|
if(asnBase == '24') {
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(asnMode == '0') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', false);
|
|
|
|
|
}
|
|
|
|
|
if(asnMode == '2') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', false);
|
|
|
|
|
}
|
|
|
|
|
return this.super('afterEdit');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Biz.prototype.afterEdit = function () {
|
|
|
|
|
let masterAdapter = this.view.vm['ep_dsMaster'];
|
|
|
|
|
let asnBase = TypeUtil.toString(this.dsMaster.currentRow['AsnBase']);
|
|
|
|
|
let asnMode = TypeUtil.toString(this.dsMaster.currentRow['AsnMode']);
|
|
|
|
|
if(asnBase == '24') {
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('PayMode', false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(asnMode == '0') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnRate', false);
|
|
|
|
|
}
|
|
|
|
|
if(asnMode == '2') {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', true);
|
|
|
|
|
}else {
|
|
|
|
|
masterAdapter.setEditorEditable('AsnTotal', false);
|
|
|
|
|
}
|
|
|
|
|
return this.super('afterEdit');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//保存前数据判断
|
|
|
|
|
Biz.prototype.beforeSave = function () {
|
|
|
|
|
let curRow = this.dsMaster.currentRow;
|
|
|
|
|
if(curRow){
|
|
|
|
|
let asnBase = TypeUtil.toString(this.dsMaster.currentRow['AsnBase']);
|
|
|
|
|
let asnMode = TypeUtil.toString(this.dsMaster.currentRow['AsnMode']);
|
|
|
|
|
let payMode = TypeUtil.toString(this.dsMaster.currentRow['PayMode']);
|
|
|
|
|
let bgnDate = TypeUtil.toString(this.dsMaster.currentRow['BgnDate']);
|
|
|
|
|
let endDate = TypeUtil.toString(this.dsMaster.currentRow['EndDate']);
|
|
|
|
|
let jTaxRate = TypeUtil.toFloat(this.dsMaster.currentRow['JTaxRate']);
|
|
|
|
|
let xTaxRate = TypeUtil.toFloat(this.dsMaster.currentRow['XTaxRate']);
|
|
|
|
|
|
|
|
|
|
if(asnBase == '24' && payMode == '') {
|
|
|
|
|
Store.messager.err('请指定支付方式!');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(bgnDate > endDate) {
|
|
|
|
|
Store.messager.err('开始日期不能大于结束日期!');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(asnBase == '30' && asnMode != '2') {
|
|
|
|
|
Store.messager.err('当分配基数为“30-商品销售数量”时,分配方式只能是“2-按指定金额”!');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(asnBase != '30' && asnMode == '2') {
|
|
|
|
|
Store.messager.err('当分配方式为“2-按指定金额”时,分配基数只能是“30-商品销售数量”!');
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
curRow.setColumnValue('PRISet', '0');
|
|
|
|
|
}
|
|
|
|
|
return this.super('beforeSave');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除前询问,通常进行一些删除前校验操作
|
|
|
|
|
* 默认操作会提示‘确定删除?’询问
|
|
|
|
|
* @return {Boolean,String} 返回操作是否被允许,只有false时,才会不允许执行,其他则作为提示询问用户
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
Biz.prototype.beforeDelete = function () {
|
|
|
|
|
let self = this;
|
|
|
|
|
let curRow = this.dsMaster.currentRow;
|
|
|
|
|
Store.messager.confirm("确定删除当前数据吗?",
|
|
|
|
|
function (isOK) {
|
|
|
|
|
if(isOK) {
|
|
|
|
|
let serialNo = TypeUtil.toString(curRow['SerialNo']);
|
|
|
|
|
let orgCode = TypeUtil.toString(curRow['OrgCode']);
|
|
|
|
|
|
|
|
|
|
// 合同状态维护
|
|
|
|
|
let whRes= Service.CntDeleteDisCd(serialNo, orgCode, '1');
|
|
|
|
|
if (whRes.result !== 1) {
|
|
|
|
|
Store.messager.tip('删除失败!' + whRes.message);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
self.opRouter('refresh');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
return false;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return Biz;
|
|
|
|
|
});
|