|
@@ -45,6 +45,8 @@ mbos('entries').bind('afterRendered', function (e) {
|
|
|
mbos('entries_person',e.index).show();
|
|
mbos('entries_person',e.index).show();
|
|
|
mbos('entries_person',e.index).attr("mustinput",true)
|
|
mbos('entries_person',e.index).attr("mustinput",true)
|
|
|
}
|
|
}
|
|
|
|
|
+ // 出国(境)事由控制具体事由必填
|
|
|
|
|
+ _this.controlRemarkRequired(e.index);
|
|
|
// 初始化审批流
|
|
// 初始化审批流
|
|
|
_this.getNextPerson();
|
|
_this.getNextPerson();
|
|
|
})
|
|
})
|
|
@@ -108,6 +110,9 @@ _this.save = function (event) {
|
|
|
if(!_this.verify()){
|
|
if(!_this.verify()){
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
+ if(!_this.validateRemarkRequired()){
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
setModel()
|
|
setModel()
|
|
|
//debugger
|
|
//debugger
|
|
|
var param = getModel('', 'save');
|
|
var param = getModel('', 'save');
|
|
@@ -121,13 +126,16 @@ _this.save = function (event) {
|
|
|
_this.submit = function (event) {
|
|
_this.submit = function (event) {
|
|
|
if(!_this.verify()){
|
|
if(!_this.verify()){
|
|
|
return false;
|
|
return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(!_this.validateRemarkRequired()){
|
|
|
|
|
+ return false;
|
|
|
}
|
|
}
|
|
|
// 确认提交 弹框
|
|
// 确认提交 弹框
|
|
|
mbos.ui.showConfirm({
|
|
mbos.ui.showConfirm({
|
|
|
title: localeResource.confirmSubmit,
|
|
title: localeResource.confirmSubmit,
|
|
|
iconclass: "kdfont kdfont-zhuangtai_jingshi the_info",
|
|
iconclass: "kdfont kdfont-zhuangtai_jingshi the_info",
|
|
|
callback: function (data) {
|
|
callback: function (data) {
|
|
|
- if (data == 0) {
|
|
|
|
|
|
|
+ if (data == 0) {
|
|
|
setModel()
|
|
setModel()
|
|
|
//debugger
|
|
//debugger
|
|
|
var param = getModel('', 'submit');
|
|
var param = getModel('', 'submit');
|
|
@@ -243,7 +251,7 @@ function getStartEndTime(i) {
|
|
|
setModel(i)
|
|
setModel(i)
|
|
|
var params = _.cloneDeep(mbos('entity').data)
|
|
var params = _.cloneDeep(mbos('entity').data)
|
|
|
var endTime = params.entries[i].endTime
|
|
var endTime = params.entries[i].endTime
|
|
|
- if (endTime && endTime.includes('00:00')) { // 防止结束日期会一直触发
|
|
|
|
|
|
|
+ if (endTime && endTime.includes('00:00')) { // 防止结束日期会一直触发
|
|
|
params.entries[i].endTime = moment(endTime).subtract(1, "minutes").format("YYYY-MM-DD HH:mm")
|
|
params.entries[i].endTime = moment(endTime).subtract(1, "minutes").format("YYYY-MM-DD HH:mm")
|
|
|
}
|
|
}
|
|
|
// 【BT-01684276】改为传一条分录数据
|
|
// 【BT-01684276】改为传一条分录数据
|
|
@@ -309,6 +317,60 @@ _this.lengthChange = function(event){
|
|
|
})
|
|
})
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 出国(境)事由:处理个人事务(枚举值 = 3)
|
|
|
|
|
+var CGSY_PERSONAL_AFFAIRS = '3';
|
|
|
|
|
+
|
|
|
|
|
+function isPersonalAffairs(cgsy) {
|
|
|
|
|
+ if (cgsy == null || cgsy === '') {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (typeof cgsy === 'object') {
|
|
|
|
|
+ return String(cgsy.value != null ? cgsy.value : cgsy) === CGSY_PERSONAL_AFFAIRS;
|
|
|
|
|
+ }
|
|
|
|
|
+ return String(cgsy) === CGSY_PERSONAL_AFFAIRS;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 出国(境)事由变更,设计器绑定 onChange = _this.cgsyChange
|
|
|
|
|
+_this.cgsyChange = function (event) {
|
|
|
|
|
+ _this.controlRemarkRequired(event.index);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+// 控制具体事由必填 + 前端红星
|
|
|
|
|
+_this.controlRemarkRequired = function (index) {
|
|
|
|
|
+ var needReq = isPersonalAffairs(mbos('entries_cgsy', index).value());
|
|
|
|
|
+
|
|
|
|
|
+ // 1. 设置 MBOS 内部必录属性(给后台校验用)
|
|
|
|
|
+ mbos('entries_remark', index).attr('mustinput', needReq);
|
|
|
|
|
+
|
|
|
|
|
+ // 2. 找到具体事由的 label
|
|
|
|
|
+ var $fieldContainer = $('#entries_remark_' + index);
|
|
|
|
|
+ var $label = $fieldContainer.find('label.lclabel');
|
|
|
|
|
+ if (!$label.length) return;
|
|
|
|
|
+
|
|
|
|
|
+ // 3. 先移除旧的红星(防止重复添加)
|
|
|
|
|
+ $label.find('i.mustinput').remove();
|
|
|
|
|
+
|
|
|
|
|
+ // 4. 需要必填时,添加 MBOS 原生红星
|
|
|
|
|
+ if (needReq) {
|
|
|
|
|
+ $label.append('<i class="mustinput">*</i>');
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
+// 多分录具体事由必填校验
|
|
|
|
|
+_this.validateRemarkRequired = function () {
|
|
|
|
|
+ var entries = mbos('entity').data.entries;
|
|
|
|
|
+ if (!entries || entries.length === 0) return true;
|
|
|
|
|
+
|
|
|
|
|
+ for (var i = 0; i < entries.length; i++) {
|
|
|
|
|
+ var cgsy = mbos('entries_cgsy', i).value();
|
|
|
|
|
+ var remark = mbos('entries_remark', i).value();
|
|
|
|
|
+ if (isPersonalAffairs(cgsy) && (!remark || !String(remark).trim())) {
|
|
|
|
|
+ mbos.msgBox.showError('第' + (i + 1) + '行:出国(境)事由为【处理个人事务】时,请填写具体事由!');
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return true;
|
|
|
|
|
+};
|