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.

464 lines
19 KiB

4 years ago
define(function (require, exports, module) {
//引入业务类基类
let BaseBiz = require('apps/rht/base/rhtBiz');
let rhtComm = require('apps/rht/comm/rhtComm');
let service = require('./sku080206service');
let multiWindow = require("system/views/pages/singlewindow/singlewindow");
let Revert = require('./Revert');
let PreAbandon = require('./PreAbandon');
require('css!./pagePluAbandon.css');
let selectedTreeNode;
let self;
/**
* 定义业务类对象
* @param vm 界面相关ViewModule
*/
function Biz(vm) {
//继承第一步,构造继承
BaseBiz.call(this, vm);
}
//继承第二步,方法继承
inherits(Biz, BaseBiz);
function btnPluClick() {
//定义多选窗口界面
let param = {
uiObjCode: '8001',
pk: "PluCode",
biz: self,
funcCode: self.FuncCode,
showCheckColumn: false,
enablePager: true,
callback: function (row) {
$('#pluCode').textbox("setText", row.PluCode);
}
};
//new多选窗体 并打开
let myWindow = new multiWindow(param);
myWindow.open();
};
/**
* @description 点击组织选择按钮
*/
function btnOrgClick() {
//定义多选窗口界面
let param = {
uiObjCode: '6209',
pk: "EtpCode",
biz: self,
funcCode: self.FuncCode,
showCheckColumn: false,
enablePager: true,
callback: function (row) {
$('#supCode').textbox("setText", row.EtpCode);
}
};
//new多选窗体 并打开
let myWindow = new multiWindow(param);
myWindow.open();
};
/**
* @description 点击刷新按钮
*/
function btnRefreshClick() {
let pluCode = $('#pluCode').textbox("getText");
let supCode = $('#supCode').textbox("getText");
if(pluCode === '' && supCode === '') {
if (!Store.confirm("不设置商品编码或供应商可能数据量过大,继续吗?")) {
return false;
}
}
$('#masterArea').datagrid('getPager').pagination('select', 1);
};
function refresh(pageNumber, pageSize) {
let pluCode = $('#pluCode').textbox("getText");
let supCode = $('#supCode').textbox("getText");
let pluStatus = $('#pluStatus').combobox("getValue");
let seasonStatus = $('#seasonStatus').combobox("getValue");
let qzts = $('#qzts').textbox("getText");
let where = 'IsActive=\'1\'';
if(pluCode !== '') {
where += ' and (PluCode=\'' + pluCode + '\' or PluName like \'%' + pluCode + '%\')';
}
if(pluStatus == '') {
where += ' and YwStatus<>\'0\'';
}else {
where += ' and YwStatus=\'' + pluStatus + '\'';
}
if(seasonStatus != '') {
where += ' and IsSeason=\'1\' and IsNewPlu=\'' + seasonStatus + '\'';
}
//where += ' and rownum >' + (pageSize*(pageNumber-1)) + 'rownum<' + (pageSize*pageNumber+1);
let ret = service.SkuGetDisUsePluData('', supCode, qzts, where, '', pageNumber, pageSize);
if(ret.result != 1) {
Store.messager.err('获取商品失败!' + ret.message);
return false;
}
$('#masterArea').datagrid('loadData', ret.data);
$('#detailArea').datagrid('loadData', []);
};
/**
* @description 主表单击事件
*/
function masterRowClick(index, row) {
let ywStatus = row.ywstatus;
let ret = service.GetSkuPluEx(row.pluid);
if(ret.result == 1) {
$('#detailArea').datagrid('loadData', ret.data);
}
};
/**
* @description 点击预淘汰按钮
*/
function btnPreAbandonClick() {
let selRows = $('#masterArea').datagrid('getChecked');
if(selRows.length < 1) {
Store.messager.err('请勾选商品!');
return false;
}
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
if(row.ywstatus != '1') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '不是正常状态,不能预淘汰!');
return false;
}
}
let preAbandon = new PreAbandon('并预淘汰');
preAbandon.callback = function (status, disuseReason) {
let ret;
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
ret = service.DisUseDeal(row.pluid, '2', status);
if(ret.result != 1) {
Store.messager.err('预淘汰' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
}
btnRefreshClick();
}
preAbandon.open();
};
/**
* @description 点击淘汰按钮
*/
function btnAbandonClick() {
let selRows = $('#masterArea').datagrid('getChecked');
if(selRows.length < 1) {
Store.messager.err('请勾选商品!');
return false;
}
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
if(row.ywstatus != '2') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '不是预淘汰状态,不能淘汰!');
return false;
}
}
if (!Store.confirm("您确定要淘汰吗?")) {
return false;
}
let delDisUsePlu = rhtComm.getRhtOptionValue(Store.logOn.orgCode,'SKU','Sku_DelDisUsePlu_Cnt','1');
let ret;
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
ret = service.DisUseDeal(row.pluid, '3', '000000');
if(ret.result != 1) {
Store.messager.err('淘汰' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
if(delDisUsePlu == '1') {
ret = service.DelDisUsePluCntAcc(row.pluid, 1);
if(ret.result != 1) {
Store.messager.err('自动删除该商品所在合同中商品明细出错!' + ret.message);
return false;
}
}
}
btnRefreshClick();
};
/**
* @description 点击休眠按钮
*/
function btnSleepClick() {
let selRows = $('#masterArea').datagrid('getChecked');
if(selRows.length < 1) {
Store.messager.err('请勾选商品!');
return false;
}
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
if(row.ywstatus == '3') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '已经淘汰,无法休眠!');
return false;
}
if(row.isseason != '1') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '不是季节性商品,无法休眠!');
return false;
}
if(row.isnewplu != '1') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '已经休眠!');
return false;
}
}
if (!Store.confirm("您确定要休眠所选商品吗?")) {
return false;
}
let ret;
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
ret = service.SkuSetPluStatus(row.pluid, row.plucode, '10', '11');
if(ret.result != 1) {
Store.messager.err('休眠' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
}
btnRefreshClick();
};
/**
* @description 点击恢复按钮
*/
function btnRevertClick() {
let selRows = $('#masterArea').datagrid('getChecked');
if(selRows.length < 1) {
Store.messager.err('请勾选商品!');
return false;
}
let revert = new Revert();
revert.callback = function (czType) {
if(czType == '0') {
// 淘汰商品恢复为正常
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
if(row.ywstatus != '2' && row.ywstatus != '3') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '不是预淘汰或淘汰状态,不能恢复!');
return false;
}
}
if (!Store.confirm("您确定要恢复为正常吗?")) {
return false;
}
let ret;
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
ret = service.DisUseDeal(row.pluid, '1', '111111');
if(ret.result != 1) {
Store.messager.err('恢复' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
ret = service.UDisReason(row.pluid, '');
if(ret.result != 1) {
Store.messager.err('恢复' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
}
btnRefreshClick();
}else {
// 休眠商品恢复为在季
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
if(row.ywstatus == '3') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '已经淘汰,无法设置为在季!');
return false;
}
if(row.isseason != '1') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '不是季节性商品,无法设置为在季!');
return false;
}
if(row.isnewplu != '0') {
Store.messager.err('商品' + row.plucode + '-' + row.pluname + '已经在季!');
return false;
}
}
if (!Store.confirm("您确定要唤醒所选商品吗?")) {
return false;
}
let ret;
for(let i = 0; i < selRows.length; i++) {
let row = selRows[i];
ret = service.SkuSetPluStatus(row.pluid, row.plucode, '11', '10');
if(ret.result != 1) {
Store.messager.err('唤醒' + row.plucode + '-' + row.pluname + '失败!' + ret.message);
return false;
}
}
btnRefreshClick();
}
};
revert.open();
};
/**
* @description 初始化完毕
*/
Biz.prototype.initCompleted = function () {
$('#btnRefresh').linkbutton();
$('#btnPreAbandon').linkbutton();
$('#btnAbandon').linkbutton();
$('#btnSleep').linkbutton();
$('#btnRevert').linkbutton();
$('#pluCode').textbox();
$('#btnPlu').linkbutton();
$('#supCode').textbox();
$('#btnOrg').linkbutton();
$('#pluStatus').combobox();
$('#seasonStatus').combobox();
$('#qzts').numberbox();
$('#masterArea').datagrid({
columns:[[
{field:'sel',checkbox: true,width:100},
{field:'pluid',title:'商品ID',hidden:true, width:100},
{field:'plucode',title:'商品编码',width:100},
{field:'pluname',title:'商品名称',width:100},
{field:'unit',title:'单位',width:100},
{field:'spec',title:'规格',width:100},
{field:'hjprice',title:'含税进价',width:100},
{field:'wjprice',title:'无税进价',width:100},
{field:'price',title:'建议零售价',width:100},
{field:'hyprice',title:'建议会员价',width:100},
{field:'xscount',title:'销售数量',width:100},
{field:'hxtotal',title:'销售金额',width:100},
{field:'jthcount',title:'进退货数量',width:100},
{field:'jthcost',title:'进退货金额',width:100},
{field:'kccount',title:'库存数量',width:100},
{field:'kccost',title:'库存金额',width:100},
{field:'qzdays',title:'前置天数',width:100},
{field:'ywstatus',title:'商品状态',width:100,
formatter: function(value,row,index){
if(row.ywstatus == '1') {
return '正常';
}else if(row.ywstatus == '2') {
return '预淘汰';
}else if(row.ywstatus == '3') {
return '淘汰';
}else {
return '';
}
}
},
{field:'disusereason',title:'淘汰原因',width:100},
{field:'isnewplu',title:'是否在季',width:100,
formatter: function(value,row,index){
if(row.isnewplu == '0') {
return '否';
}else if(row.isnewplu == '1') {
return '是';
}else {
return '';
}
}
},
{field:'barcode',title:'条形码',width:100}
]],
pagination:true,
pagePosition:'bottom',
pageSize:50,
checkOnSelect:false,
selectOnCheck:false,
striped:true,
ctrlSelect:true,
onSelect:masterRowClick
});
$('#detailArea').datagrid({
columns:[[
{field:'orgcode',title:'组织',width:100,
formatter: function(value,row,index){
return row.orgcode + '-' + row.orgname;
}
},
{field:'depcode',title:'主业务部门',width:100,
formatter: function(value,row,index){
return row.depcode + '-' + row.depname;
}
},
{field:'jhcycle',title:'进货周期',width:100},
{field:'pscycle',title:'配送周期',width:100},
{field:'aqdays',title:'安全天数',width:100},
{field:'mincount',title:'最低库存',width:100},
{field:'maxcount',title:'最高库存',width:100},
{field:'pfprice',title:'批发价',width:100},
{field:'hyprice',title:'会员价',width:100},
{field:'price',title:'售价',width:100},
{field:'isjh',title:'允许进货',width:100},
{field:'isth',title:'允许退货',width:100},
{field:'isps',title:'允许配送',width:100},
{field:'isjs',title:'允许结算',width:100},
{field:'issale',title:'允许销售',width:100},
{field:'issaleth',title:'允许销售退货',width:100}
]],
// pagination:true,
// pagePosition:'bottom',
// pageSize:50,
// showRefresh: false,
striped:true,
ctrlSelect:true
});
self = this;
// 对页面中的元素进行事件绑定
let btnPlu = document.getElementById('btnPlu');
btnPlu.addEventListener('click', btnPluClick, false);
let btnOrg = document.getElementById('btnOrg');
btnOrg.addEventListener('click', btnOrgClick, false);
let btnRefresh = document.getElementById('btnRefresh');
btnRefresh.addEventListener('click', btnRefreshClick, false);
let btnPreAbandon = document.getElementById('btnPreAbandon');
btnPreAbandon.addEventListener('click', btnPreAbandonClick, false);
let btnAbandon = document.getElementById('btnAbandon');
btnAbandon.addEventListener('click', btnAbandonClick, false);
let btnSleep = document.getElementById('btnSleep');
btnSleep.addEventListener('click', btnSleepClick, false);
let btnRevert = document.getElementById('btnRevert');
btnRevert.addEventListener('click', btnRevertClick, false);
$('#btnAdd').linkbutton('disable');
var pg = $("#masterArea").datagrid("getPager");
if(pg)
{
$(pg).pagination({
showRefresh: false,
onSelectPage:function(pageNumber,pageSize){
refresh(pageNumber===0 ? 1 : pageNumber,pageSize);
}
});
}
};
return Biz;
});