Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.js =================================================================== diff -u -r41323 -r41419 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.js (.../qualityMonitoringDefinitionView.js) (revision 41323) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.js (.../qualityMonitoringDefinitionView.js) (revision 41419) @@ -862,6 +862,12 @@ } else { top.Ext.getCmp('showSterNameAndFre_id').hide(); } + //QYSQXQRMYY-12:抽检器械必填 + if(value == "材料" || value == "材料和器械包"){ + top.Ext.getCmp('inspectMaterialRequiredBox').show(); + }else { + top.Ext.getCmp('inspectMaterialRequiredBox').hide(); + } } }, value: scopeArr[0], @@ -1043,34 +1049,29 @@ anchor: '95%' }] }, { - columnWidth: .36, + columnWidth: .5, layout: 'form', + id:'inspectMaterialRequiredBox', items: [{ - xtype: 'textfield', - fieldLabel: "录入科室", - name: "departNames", - id: "departNames", - readOnly: true, - allowBlank: false, - anchor: '98%' + xtype: 'combo', + fieldLabel: "抽检器械必填", + name: "inspectMaterialRequired", + id: "inspectMaterialRequired", + valueField: 'value', + displayField: 'value', + allowBlank: true, + editable: false, + store: new top.Ext.data.SimpleStore({ + fields: ['value'], + data: [['是'], ['否']] + }), + value: '否', + forceSelection: true, + mode: 'local', + triggerAction: 'all', + anchor: '95%' }] }, { - columnWidth: .14, - layout: 'form', - items: [{ - xtype: 'button', - text: "选择科室", - handler: function () { - var departNames = top.Ext.getCmp('departNames').getValue(); - var departcodes = top.Ext.getCmp('departCodes').getValue(); - openSelectReceiverOrganization(departNames, departcodes); - } - }] - }, { - xtype: 'hidden', - id: 'handleDepartCoding', - name: 'handleDepartCoding' - }, { columnWidth: .5, layout: 'form', items: [{ @@ -1561,7 +1562,35 @@ } } }, { + columnWidth: .9, layout: 'form', + items: [{ + xtype: 'textfield', + fieldLabel: "录入科室", + name: "departNames", + id: "departNames", + readOnly: true, + allowBlank: false, + anchor: '98%' + }] + }, { + columnWidth: .1, + layout: 'form', + items: [{ + xtype: 'button', + text: "选择科室", + handler: function () { + var departNames = top.Ext.getCmp('departNames').getValue(); + var departcodes = top.Ext.getCmp('departCodes').getValue(); + openSelectReceiverOrganization(departNames, departcodes); + } + }] + }, { + xtype: 'hidden', + id: 'handleDepartCoding', + name: 'handleDepartCoding' + }, { + layout: 'form', columnWidth: 1, items: [{ xtype: 'textfield', @@ -2056,11 +2085,15 @@ if (id != null && id != "") { loadFormDefinition(id); } else { + top.Ext.getCmp('inspectMaterialRequiredBox').hide(); showOrHideRecordInformation('回收清点'); if(top.Ext.getCmp('warningUserNames')){ top.Ext.getCmp('remindAllUsers').setValue('是'); top.Ext.getCmp('warningUserNames').setRawValue('全部'); } + if (top.Ext.getCmp('scope').getValue() == "材料" || top.Ext.getCmp('scope').getValue() == "材料和器械包") { + top.Ext.getCmp('inspectMaterialRequiredBox').show(); + } } } @@ -2085,6 +2118,12 @@ top.Ext.getCmp('showSterNameAndFre_id').show(); } } + //QYSQXQRMYY-12:抽检器械必填 + if(scope == "材料" || scope == "材料和器械包"){ + top.Ext.getCmp('inspectMaterialRequiredBox').show(); + }else { + top.Ext.getCmp('inspectMaterialRequiredBox').hide(); + } if (sstsConfig.enableThePeriodicMonitoringRemindersFunction && entityName == '定期监测') { if (formConfig.cycleName == '按周') { top.Ext.getCmp('warningWeekDaysBox').show(); Index: ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js =================================================================== diff -u -r41321 -r41419 --- ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 41321) +++ ssts-web/src/main/webapp/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceForm.js (.../qualitymonitoringInstanceForm.js) (revision 41419) @@ -510,6 +510,7 @@ var tousseDefinitionId = Ext.getCmp('tousseDefinitionId').getValue(); var tousseInstanceId = Ext.getCmp('tousseInstanceId').getValue(); var responsiblePerson = Ext.getCmp('hiddenResponsiblePerson').getValue(); + var inspectMaterialRequired = Ext.getCmp('inspectMaterialRequired').getValue(); firstTousseBagsList.tousseBarcode = barcode; firstTousseBagsList.tousseName = tousseName; @@ -545,12 +546,31 @@ material: firstMaterialArrHidden[0], amount: firstMaterialArrHidden[1] }) + } else { + if (inspectMaterialRequired == '是') { + return false; + } } } var tosseAndMaterialFirstWrapper = Ext.getCmp("tosseAndMaterial").items.items; var tousseBags = setTousseArgument(tosseAndMaterialFirstWrapper); - + if (tousseBags.length > 0) { + if (scope == '材料' || scope == '材料和器械包') { + var isNull = false; + for (var i = 0; i < tousseBags.length; i++) { + var tousseName = tousseBags[i].tousseName; + var materialInfos = tousseBags[i].materialInfos; + if(materialInfos.length == 0){ + isNull = true; + break; + } + } + if (isNull) { + return false; + } + } + } if (firstTousseBagsList.tousseName !== '' && firstTousseBagsList.tousseDefinitionId !== '') { firstTousseBagsList.materialInfos = firstMaterialInfos; tousseBags.unshift(firstTousseBagsList); @@ -559,9 +579,17 @@ firstTousseBagsList = []; } else { if (scope == '材料') { + var isNull = false; for (var i = 0; i < tousseBags.length; i++) { + if (inspectMaterialRequired == '是' && tousseBags[i].materialInfos.length == 0) { + isNull = true; + break; + } firstMaterialInfos = firstMaterialInfos.concat(tousseBags[i].materialInfos) } + if (isNull) { + return false; + } } firstTousseBagsList.materialInfos = firstMaterialInfos; tousseBags.unshift(firstTousseBagsList); @@ -2200,6 +2228,7 @@ var result = Ext.decode(response.responseText); if (result.success) { Ext.getCmp('scope').setValue(result.data.scope); + Ext.getCmp('inspectMaterialRequired').setValue(result.data.inspectMaterialRequired || '否'); showOrHideTousseReprint(false, true); if (result.data.scope == '无') { //FSSDERMYY-18:隐藏器械包信息 @@ -5658,6 +5687,11 @@ return configItemOptionArr; } function getTousseAndMaterialAll() { + var allTousseData = getAllTousseAndMaterialData(); + if(!allTousseData || allTousseData.length == 0){ + showResultQM('器械包或者器械不能为空!'); + return + } var tousseAndMaterialAll = {}; var tousseInstanceInfos = []; var tousseAndMaterialWrapperCountNum = tousseItemCount;//获取添加的块数量 @@ -6969,6 +7003,7 @@ { xtype: 'hidden', name: 'scanTousseInstance_id', id: 'scanTousseInstance_id' }, //回收或灭菌扫描条码的id { xtype: 'hidden', name: 'unQualifiedTousseAmount', id: 'unQualifiedTousseAmount' }, { xtype: 'hidden', name: 'unQualifiedMaterialAmount', id: 'unQualifiedMaterialAmount' }, + { xtype: 'hidden', name: 'inspectMaterialRequired', id: 'inspectMaterialRequired' }, varibaleContent1, varibaleContent2, {