//const SetOverType = require('./setovertype'); define(function (require, exports, module) { let BaseBiz = require('apps/rht/base/rhtBiz'); let Service = require('./sys010111service'); let queryWindow = require("apps/rht/sys/sys010111/multiwindowdel"); let SetOverType = require('apps/rht/sys/sys010111/setovertype'); /** * 控制按钮的可用 * @param opCode 按钮编码 * @return [description] */ function Biz(vm) { //继承第一步,构造继承 BaseBiz.call(this, vm); } //继承第二步,方法继承 inherits(Biz, BaseBiz); let tempData = null; /* 控制按钮操作 */ //按钮事件控制 Biz.prototype.doOp = function (opCode) { if (opCode == 'issale') { this.onsetsale("1"); } if (opCode == 'nosale') { this.onsetsale("0"); } if (opCode == 'doover') { this.doover("2"); } if (opCode == 'overtype') { let dhead = this.dsMaster; this.doovertype(this, dhead); } }; //控制主界面按钮状态 Biz.prototype.getOpEnabled = function (opCode) { let isOk = this.super('getOpEnabled', opCode); if (!isOk) { return false; } let masterRow = this.dsMaster.currentRow; let sIsEnable = masterRow ? TypeUtil.toString(masterRow['UsPos']) : ''; let sOverType = masterRow ? TypeUtil.toString(masterRow['OverType']) : ''; if (opCode == 'issale'){ if (this.isEdit()) return false; if (!masterRow) return false; if (sIsEnable == '1') return false; } if (opCode == 'nosale'){ if (this.isEdit()) return false; if (!masterRow) return false; if (sIsEnable == '0') return false; } if (opCode == 'edit'){ if (this.isEdit()) return false; if (!masterRow) return false; if (sIsEnable == '0') return false; } if (opCode == 'overtype'){ if (this.isEdit()) return false; if (!masterRow) return false; } if (opCode == 'doover'){ if (this.isEdit()) return false; if (!masterRow) return false; if (sOverType != '1') return false; if (sIsEnable == '0') return false; } return true; }; Biz.prototype.onsetsale = function (optype) { self = this; let curRow = self.dsMaster.currentRow; let orgCode = curRow.OrgCode; if (curRow) { let ret = Service.getSlideMenuData("actExecute",optype, orgCode, "", "", "", ""); if (ret.result !== 1) { Store.messager.err(ret.message); return false; } } return true; }; Biz.prototype.doover = function (optype) { self = this; let curRow = self.dsMaster.currentRow; let orgCode = curRow.OrgCode; let rptDate = curRow.RptDate_Mis; let tmpdate = TypeUtil.toDate(rptDate); tmpdate.setDate(tmpdate.getDate()+1); rptDate = tmpdate.format('yyyy-MM-dd'); if (curRow) { let ret = Service.getSlideMenuData("actExecute",'doOver', orgCode, rptDate, "1", "", ""); if (ret.result !== 1) { Store.messager.err(ret.message); return false; } else{ Store.messager.tip(ret.message); return true; } } return true; }; Biz.prototype.doovertype = function (biz, ds, dr) { let setOverType = new SetOverType(ds.currentRow); setOverType.callback=function(){ biz.dsMaster.updateRow(); }; setOverType.open(); return true; }; /** * 获取显示菜单内容 * @param {object} ds 对应的数据源 * @param source 菜单触发位置 * @return {array} */ Biz.prototype.getContextMenus = function (ds, source) { let edit = ds.getEditable(); let ms = this.super('getContextMenus', ds, source); if (ds.uiObjCode == '1036'){ ms.push({ text: '台结历史', opCode: 'onoverlistview', disabled: edit }) } return ms; }; Biz.prototype.onoverlistview = function () { let self = this; let detailRow = self.dsDetail.currentRow; let sOrgCode = detailRow ? TypeUtil.toString(detailRow['OrgCode']) : ''; let sPosNo = detailRow ? TypeUtil.toString(detailRow['PosNo']) : ''; //定义多选窗口界面 let exists = new Array(); let param={ exists: exists, uiObjCode: '1037', biz: self, pk: "OrgCode,PosNo,RptDate", fixQuery: { 'OrgCode': sOrgCode, 'PosNo': sPosNo }, data:tempData, showCheckColumn: false, funcCode: self.FuncCode, ds: tempData, callback: function (rows) { tempData = rows; } }; //new多选窗体 并打开 let myWindow = new queryWindow(param); myWindow.open(); }; /** *校验时间格式 */ Biz.prototype.checkDateTime = function (str) { let a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); if (a == null) { return false; } if (a[1]>24 || a[3]>60 || a[4]>60) { return false } return true; }; Biz.prototype.beforeSave = function() { let self = this; for (let j = 0; j < self.dsDetail.rows.length; j++) { let _nwRow = self.dsDetail.rows[j]; let overtime = _nwRow['OverTime']; let posType = _nwRow['PosType']; let overType = _nwRow['OverType']; let isOk = self.checkDateTime(overtime); if (!isOk){ Store.messager.tip('[结账时间]请输入正确的时间格式!如:22:30:00'); return false; } if (posType=='3'){ if (overType != '3'){ Store.messager.tip('小程序类型的销售终端,需要设置结账方式为[3-不需要结账]'); return false; } } } return this.super('beforeSave'); } module.exports = Biz; });