Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.js =================================================================== diff -u -r34965 -r35988 --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.js (.../instrumentRepairManagementView.js) (revision 34965) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.js (.../instrumentRepairManagementView.js) (revision 35988) @@ -204,12 +204,36 @@ { header: "审核人", dataIndex: 'reviewerName', sortable: false, hidden: reviewerNameIsHidden }, { header: "备注", dataIndex: 'remark', sortable: false } ]; + + if (sstsConfig.InstrumentRepairManagementVersion == 2) { + columns = [ + { header: "登记人", dataIndex: 'registrantName', renderer: renderCallModifyFunction }, + { header: "报修时间", dataIndex: 'registerDateTime', width: 140 }, + { header: "维修状态", dataIndex: 'repairStatus', sortable: false, width: 80, renderer: rendererRepairStatus }, + { header: "器械包名称", dataIndex: 'firstTousseDefinitionName', sortable: false }, + { header: "器械具体名称", dataIndex: 'firstInstrumentSpecificName', sortable: false, width: 140 }, + { header: "器械名称", dataIndex: 'materialNameAndAmount', sortable: false, renderer: renderCallModifyFunction }, + { header: "维修码", dataIndex: 'serialNumber', sortable: false, width: 120 }, + { header: "出科时间", dataIndex: 'outHandoverDateTime', sortable: false, width: 140, hidden: outHandoverDateTimeIsHidden }, + { header: "出科接收人", dataIndex: 'outHandoverUserName', sortable: false, hidden: outHandoverUserNameIsHidden }, + { header: "回科时间", dataIndex: 'returnHandoverDateTime', sortable: false, width: 140, hidden: returnHandoverDateTimeIsHidden }, + { header: "回科接收人", dataIndex: 'returnHandoverUserName', sortable: false, hidden: returnHandoverUserNameIsHidden } + ]; + if (newId) { + showAddOrEditWindow2(newId, '已审核', true); + } + } + var tbar = [{ text: '添加', iconCls: 'btn_ext_application_add', hidden: SSTS_InstrumentRepair_handle, handler: function () { - showAddOrEditWindow(); + if (sstsConfig.InstrumentRepairManagementVersion == 2) { + showAddOrEditWindow2(); + } else { + showAddOrEditWindow(); + } } }, '-', { text: '修改', @@ -229,7 +253,11 @@ showResult('该记录状态为已审核,不能修改!'); return } - showAddOrEditWindow(id); + if (sstsConfig.InstrumentRepairManagementVersion == 2) { + showAddOrEditWindow2(id); + } else { + showAddOrEditWindow(id); + } } } }, '-', { @@ -352,7 +380,10 @@ root: 'data', totalProperty: 'totalCount' }, - extraParams: {} + extraParams: { + orderBy: 'registerDateTime', + orderType: 'DESC' + } }, fields: [ { name: 'id' }, @@ -363,6 +394,9 @@ { name: 'roomNumber' }, { name: 'washHandNurseName' }, { name: 'repairNurseName' }, + { name: 'serialNumber' }, + { name: 'firstTousseDefinitionName' }, + { name: 'firstInstrumentSpecificName' }, { name: 'engineer' }, { name: 'repairType' }, { name: 'repairDateTime' }, Index: ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js =================================================================== diff -u -r35547 -r35988 --- ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js (.../config.js) (revision 35547) +++ ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/config.js (.../config.js) (revision 35988) @@ -142,6 +142,16 @@ showTousseNoteOnClickTousse:true, //启用器械维修记录报表 enableInstrumentRepairRecordReports:true, + //器械维修管理功能版本 + InstrumentRepairManagementVersion:2, + //装配界面的检查人是否默认为上一次装配的检查人 + packingPageInspectorDefaultLastInspector:true, + //装配界面的包装人是否默认为上一次装配的包装人 + packingPageWrapperDefaultLastWrapper:true, + //装配界面的灭菌人是否默认为上一次装配的灭菌人 + packingPageSterileUserDefaultLastSterileUser:true, + //上次的处理人所有任务组共享 + lastProcessorSharedByAllTaskGroups:true, //禁用基数限制 disableCardinalNumLimit: true } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm2.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm2.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm2.js (revision 35988) @@ -0,0 +1,1166 @@ +var win; +var departWin; +var formPanel; +var tousseArray = []; +var tousseCount = 0; + +var tousseDefinitionStore = new top.Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do?type=' + encodeURI('器械包和外来器械包'), + reader: { + root: 'data', + totalProperty: 'totalCount' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' }, + { name: 'amount', mapping: 'amount' } + ] +}); + +function cancel() { + win.close(); +} + +//保存器械维修记录 +function saveForm2() { + var registrantName = top.Ext4.getCmp('registrantName').getRawValue(); + var registerDateTime = top.Ext4.getCmp('registerDateTime').getRawValue(); + var repairResult = top.Ext4.getCmp('repairResult').getValue(); + var materialDefinitionName = top.Ext4.getCmp('materialDefinitionName').getRawValue(); + var materialDefinitionID = top.Ext4.getCmp('materialDefinitionID').getValue(); + var tousseDefinitionName = top.Ext4.getCmp('tousseDefinitionName').getRawValue(); + var tousseDefinitionID = top.Ext4.getCmp('tousseDefinitionID').getValue(); + var instrumentSpecificName = top.Ext4.getCmp('instrumentSpecificName').getValue(); + var amount = top.Ext4.getCmp('amount').getValue(); + var repairDesc = top.Ext4.getCmp('repairDesc').getValue(); + var outHandoverUserName = top.Ext4.getCmp('outHandoverUserName').getRawValue(); + var outHandoverDateTime = top.Ext4.getCmp('outHandoverDateTime').getRawValue(); + var returnHandoverUserName = top.Ext4.getCmp('returnHandoverUserName').getRawValue(); + var returnHandoverDateTime = top.Ext4.getCmp('returnHandoverDateTime').getRawValue(); + var discardDateTime = top.Ext4.getCmp('discardDateTime').getRawValue(); + var id = top.Ext4.getCmp('id').getValue(); + var instrumentRepairRemindUserNames = top.Ext4.getCmp('instrumentRepairRemindUserNames').getValue(); + var instrumentRepairRemindUserIds = top.Ext4.getCmp('instrumentRepairRemindUserIds').getValue(); + var useOrgUnitId = top.Ext4.getCmp('useOrgUnitId').getValue(); + var useOrgUnitName = top.Ext4.getCmp('useOrgUnitName').getValue(); + var handoverNurseID = top.Ext4.getCmp('handoverNurseID').getValue(); + var handoverNurseName = top.Ext4.getCmp('handoverNurseName').getValue(); + var receiveNurseID = top.Ext4.getCmp('receiveNurseID').getValue(); + var receiveNurseName = top.Ext4.getCmp('receiveNurseName').getValue(); + var repairInfoRemind = top.Ext4.getCmp('repairInfoRemind').getValue(); + + var tousseMaterialInfo = [{ + amount: amount, + materialDefinitionID: materialDefinitionID, + tousseDefinitionID: tousseDefinitionID, + instrumentSpecificName: instrumentSpecificName, + tousseDefinitionName: tousseDefinitionName, + materialDefinitionName: materialDefinitionName + }] + + if (tousseArray.length > 0) { + for (var i = 0; i < tousseArray.length; i++) { + var j = tousseArray[i]; + var materialDefinitionName = top.Ext4.getCmp('materialDefinitionName_' + j).getRawValue(); + var materialDefinitionID = top.Ext4.getCmp('materialDefinitionID_' + j).getValue(); + var tousseDefinitionName = top.Ext4.getCmp('tousseDefinitionName_' + j).getRawValue(); + var tousseDefinitionID = top.Ext4.getCmp('tousseDefinitionID_' + j).getValue(); + var instrumentSpecificName = top.Ext4.getCmp('instrumentSpecificName_' + j).getValue(); + var amount = top.Ext4.getCmp('amount_' + j).getValue(); + tousseMaterialInfo.push({ + amount: amount, + materialDefinitionID: materialDefinitionID, + tousseDefinitionID: tousseDefinitionID, + instrumentSpecificName: instrumentSpecificName, + tousseDefinitionName: tousseDefinitionName, + materialDefinitionName: materialDefinitionName + }) + } + } + var params = { + id: id, + registrantName: registrantName, + registerDateTime: registerDateTime, + repairResult: repairResult, + tousseMaterialInfo: JSON.stringify(tousseMaterialInfo), + repairDesc: repairDesc, + outHandoverUserName: outHandoverUserName, + outHandoverDateTime: outHandoverDateTime, + returnHandoverUserName: returnHandoverUserName, + returnHandoverDateTime: returnHandoverDateTime, + discardDateTime: discardDateTime, + instrumentRepairRemindUserNames: instrumentRepairRemindUserNames, + instrumentRepairRemindUserIds: instrumentRepairRemindUserIds, + useOrgUnitName: useOrgUnitName, + useOrgUnitId: useOrgUnitId, + handoverNurseID: handoverNurseID, + handoverNurseName: handoverNurseName, + receiveNurseID: receiveNurseID, + receiveNurseName: receiveNurseName, + repairInfoRemind: repairInfoRemind + } + top.Ext4.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/instrumentRepairAction!saveInstrumentRepair.do', + params: params, + success: function (response, options) { + var result = top.Ext4.JSON.decode(response.responseText); + if (result.success) { + showResult('保存成功'); + listStore.loadPage(1); + win.close(); + } else { + showResult('系统加载出错,请稍候再试'); + } + }, + failure: function (response, options) { + showResult('系统加载出错,请稍候再试'); + } + }); +} + +//获取人员store +function getUserStore() { + var userStore = new top.Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/systemmanage/user/userAction!loadUsersBySearchString.do', + reader: { + root: 'data' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'fullName', mapping: 'fullName' } + ] + }); + return userStore; +} + +//获取材料的store +function getMaterialDefinition(index) { + var materialDefinitionStore = new top.Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataIncludeForeignMD.do?selectType=material', + reader: { + root: 'data', + totalProperty: 'totalCount' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'count', mapping: 'count' } + ], + listeners: { + beforeload: function (thiz, options) { + if (index !== undefined && index !== 'undefined') { + if (top.Ext4.getCmp('tousseDefinitionID_' + index) && top.Ext4.getCmp('tousseDefinitionID_' + index).getValue()) { + materialDefinitionStore.proxy.extraParams.tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionID_' + index).getValue(); + } + } else { + if (top.Ext4.getCmp('tousseDefinitionID') && top.Ext4.getCmp('tousseDefinitionID').getValue()) { + materialDefinitionStore.proxy.extraParams.tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionID').getValue(); + } + } + } + } + }); + materialDefinitionStore.reload(); + return materialDefinitionStore; +} + +function getTime(time) { + if ((time || '') !== '') { + var t = time.split(':')[0] + ':' + time.split(':')[1]; + return t; + } +} + +//获取器械维修的详情 +function loadInstrumentRepair2(id, fromPortalPage) { + var url = WWWROOT + '/disinfectSystem/baseData/instrumentRepairAction!loadInstrumentRepair.do'; + var params = { id: id }; + if (fromPortalPage) { + url = WWWROOT + '/disinfectSystem/baseData/instrumentRepairAction!viewInstrumentRepairRemindRecord.do'; + params = { recordId: id }; + } + top.Ext4.Ajax.request({ + url: url, + params: params, + success: function (response, options) { + var result = top.Ext4.JSON.decode(response.responseText); + if (result.success) { + var item = result.data; + top.Ext4.getCmp('registrantName').setRawValue(item.registrantName); + top.Ext4.getCmp('registerDateTime').setValue(getTime(item.registerDateTime)); + top.Ext4.getCmp('repairResult').setValue(item.repairResult); + if (item.repairResult == '报废') { + top.Ext4.getCmp('discardDateTime').setDisabled(false); + } else { + top.Ext4.getCmp('discardDateTime').setDisabled(true); + } + tousseCount = item.instrumentRepairGoodsList.length - 1; + for (var i = 1; i < item.instrumentRepairGoodsList.length; i++) { + addTousseItems2(i); + } + for (var i = 0; i < item.instrumentRepairGoodsList.length; i++) { + var list = item.instrumentRepairGoodsList[i]; + if (i == 0) { + top.Ext4.getCmp('materialDefinitionName').setValue(list.materialDefinitionName); + top.Ext4.getCmp('materialDefinitionID').setValue(list.materialDefinitionID); + top.Ext4.getCmp('tousseDefinitionName').setRawValue(list.tousseDefinitionName); + top.Ext4.getCmp('tousseDefinitionID').setValue(list.tousseDefinitionID); + top.Ext4.getCmp('instrumentSpecificName').setValue(list.instrumentSpecificName); + top.Ext4.getCmp('hiddenTousseDefinitionName').setValue(list.tousseDefinitionName); + top.Ext4.getCmp('amount').setValue(list.amount); + } else { + top.Ext4.getCmp('materialDefinitionName_' + i).setValue(list.materialDefinitionName); + top.Ext4.getCmp('materialDefinitionID_' + i).setValue(list.materialDefinitionID); + top.Ext4.getCmp('tousseDefinitionName_' + i).setRawValue(list.tousseDefinitionName); + top.Ext4.getCmp('tousseDefinitionID_' + i).setValue(list.tousseDefinitionID); + top.Ext4.getCmp('instrumentSpecificName_' + i).setValue(list.instrumentSpecificName); + top.Ext4.getCmp('hiddenTousseDefinitionName_' + i).setValue(list.tousseDefinitionName); + top.Ext4.getCmp('amount_' + i).setValue(list.amount); + tousseArray.push(i); + } + } + top.Ext4.getCmp('repairDesc').setValue(item.repairDesc); + top.Ext4.getCmp('instrumentRepairRemindUserIds').setValue(item.instrumentRepairRemindUserIds); + top.Ext4.getCmp('instrumentRepairRemindUserNames').setValue(item.instrumentRepairRemindUserNames); + top.Ext4.getCmp('useOrgUnitName').setValue(item.useOrgUnitName); + top.Ext4.getCmp('useOrgUnitId').setValue(item.useOrgUnitId); + top.Ext4.getCmp('serialNumber').setValue(item.serialNumber); + top.Ext4.getCmp('outHandoverUserName').setRawValue(item.outHandoverUserName); + top.Ext4.getCmp('outHandoverDateTime').setValue(getTime(item.outHandoverDateTime)); + top.Ext4.getCmp('returnHandoverUserName').setRawValue(item.returnHandoverUserName); + top.Ext4.getCmp('returnHandoverDateTime').setValue(getTime(item.returnHandoverDateTime)); + top.Ext4.getCmp('handoverNurseID').setRawValue(item.handoverNurseID); + top.Ext4.getCmp('handoverNurseName').setValue(item.handoverNurseName); + top.Ext4.getCmp('receiveNurseID').setRawValue(item.receiveNurseID); + top.Ext4.getCmp('receiveNurseName').setValue(item.receiveNurseName); + top.Ext4.getCmp('repairInfoRemind').setValue(item.repairInfoRemind); + top.Ext4.getCmp('discardDateTime').setValue(getTime(item.discardDateTime)); + } else { + showResult('系统加载出错,请稍候再试'); + } + }, + failure: function (response, options) { + showResult('系统加载出错,请稍候再试'); + } + }); +} + +//更改维修状态 +function changerepairResultStore2(status, timeObj) { + var id = top.Ext4.getCmp('id').getValue() || ''; + if (!timeObj.outHandoverUserNameIsHidden) { + top.Ext4.getCmp('outHandoverUserName').allowBlank = true; + } + if (!timeObj.outHandoverDateTimeIsHidden) { + top.Ext4.getCmp('outHandoverDateTime').allowBlank = true; + if (id == '') { + top.Ext4.getCmp('outHandoverDateTime').setValue(''); + } + } + if (!timeObj.returnHandoverUserNameIsHidden) { + top.Ext4.getCmp('returnHandoverUserName').allowBlank = true; + } + if (!timeObj.returnHandoverDateTimeIsHidden) { + top.Ext4.getCmp('returnHandoverDateTime').allowBlank = true; + if (id == '') { + top.Ext4.getCmp('returnHandoverDateTime').setValue(''); + } + } + if (!timeObj.discardDateTimeIsHidden) { + top.Ext4.getCmp('discardDateTime').allowBlank = true; + if (id == '') { + top.Ext4.getCmp('discardDateTime').setValue(''); + } + } + + if (status == '维修中') { + if (!timeObj.outHandoverUserNameIsHidden) { + top.Ext4.getCmp('outHandoverUserName').allowBlank = false; + } + if (!timeObj.outHandoverDateTimeIsHidden) { + top.Ext4.getCmp('outHandoverDateTime').allowBlank = false; + if (top.Ext4.getCmp('outHandoverDateTime').getRawValue() == '') { + setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'outHandoverDateTime'); + } + } + } else if (status == '已维修') { + if (!timeObj.returnHandoverUserNameIsHidden) { + top.Ext4.getCmp('returnHandoverUserName').allowBlank = false; + } + if (!timeObj.returnHandoverDateTimeIsHidden) { + top.Ext4.getCmp('returnHandoverDateTime').allowBlank = false; + if (top.Ext4.getCmp('returnHandoverDateTime').getRawValue() == '') { + setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'returnHandoverDateTime'); + } + } + } else if (status == '报废') { + if (!timeObj.discardDateTimeIsHidden) { + top.Ext4.getCmp('discardDateTime').allowBlank = false; + if (top.Ext4.getCmp('discardDateTime').getRawValue() == '') { + setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'discardDateTime'); + } + } + } +} + +//添加器械包块 +function addTousseItems2(index) { + var item = [{ + columnWidth: 0.27, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + id: 'itemBox1_' + index, + items: [{ + xtype: 'hidden', + id: 'materialDefinitionID_' + index, + name: 'materialDefinitionID_' + index + }, { + xtype: 'hidden', + id: 'hiddenMaterialDefinitionName_' + index, + name: 'hiddenMaterialDefinitionName_' + index + }, { + xtype: 'combo', + fieldLabel: '器械名称', + id: 'materialDefinitionName_' + index, + name: 'materialDefinitionName_' + index, + queryParam: 'spell', + minChars: 0, + valueField: 'name', + displayField: 'name', + store: getMaterialDefinition(index), + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: false, + anchor: '60%', + listeners: { + select: function (combo, record, zIndex) { + top.Ext4.getCmp('materialDefinitionID_' + index).setValue(record[0].data.id); + top.Ext4.getCmp('hiddenMaterialDefinitionName_' + index).setValue(record[0].data.name); + }, + blur: function (field) { + var hiddenMaterialDefinitionName = top.Ext4.getCmp('hiddenMaterialDefinitionName_' + index).getValue(); + var materialDefinitionName = top.Ext4.getCmp('materialDefinitionName_' + index).getRawValue(); + if (materialDefinitionName !== hiddenMaterialDefinitionName) { + top.Ext4.getCmp('materialDefinitionID_' + index).setValue(''); + top.Ext4.getCmp('materialDefinitionName_' + index).setValue(''); + top.Ext4.getCmp('hiddenMaterialDefinitionName_' + index).setValue(''); + } + } + } + }] + }, { + columnWidth: 0.01, + layout: 'form', + border: 0, + id: 'itemBox2_' + index, + items: [{ + xtype: 'displayfield', + fieldLabel: '' + }] + }, { + columnWidth: 0.03, + layout: 'form', + border: 0, + id: 'itemBox3_' + index, + items: [{ + xtype: 'button', + tooltip: '删除', + iconCls: 'btn_ext_application_del', + style: 'margin-top:2px', + handler: function () { + delTousseItems2(index); + } + }] + }, { + columnWidth: 0.27, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + id: 'itemBox6_' + index, + items: [{ + xtype: 'textfield', + fieldLabel: '器械具体名称', + id: 'instrumentSpecificName_' + index, + name: 'instrumentSpecificName_' + index, + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.27, + layout: 'form', + border: 0, + id: 'itemBox4_' + index, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionID_' + index, + name: 'tousseDefinitionID_' + index + }, { + xtype: 'hidden', + id: 'hiddenTousseDefinitionName_' + index, + name: 'hiddenTousseDefinitionName_' + index + }, { + xtype: 'combo', + fieldLabel: '所属器械包', + id: 'tousseDefinitionName_' + index, + name: 'tousseDefinitionName_' + index, + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'name', + store: tousseDefinitionStore, + lazyInit: true, + forceSelection: false, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: false, + anchor: '95%', + listeners: { + select: function (combo, record, zIndex) { + top.Ext4.getCmp('tousseDefinitionID_' + index).setValue(record[0].data.id); + top.Ext4.getCmp('hiddenTousseDefinitionName_' + index).setValue(record[0].data.name); + top.Ext4.getCmp('materialDefinitionID_' + index).setValue(''); + top.Ext4.getCmp('hiddenMaterialDefinitionName_' + index).setValue(''); + top.Ext4.getCmp('materialDefinitionName_' + index).setValue(''); + top.Ext4.getCmp('materialDefinitionName_' + index).getStore().reload(); + }, + blur: function (field) { + var hiddenTousseDefinitionName = top.Ext4.getCmp('hiddenTousseDefinitionName_' + index).getValue(); + var tousseDefinitionName = top.Ext4.getCmp('tousseDefinitionName_' + index).getRawValue(); + if (tousseDefinitionName !== hiddenTousseDefinitionName) { + top.Ext4.getCmp('tousseDefinitionID_' + index).setValue(''); + top.Ext4.getCmp('tousseDefinitionName_' + index).setValue(''); + top.Ext4.getCmp('hiddenTousseDefinitionName_' + index).setValue(''); + } + } + } + }] + }, { + columnWidth: 0.15, + layout: 'form', + border: 0, + id: 'itemBox5_' + index, + style: 'margin-bottom:10px', + items: [{ + xtype: 'numberfield', + allowDecimals: false, + minValue: 1, + labelWidth: 70, + name: 'amount_' + index, + id: 'amount_' + index, + fieldLabel: "数量", + allowBlank: false, + blankText: '数量不能为空', + anchor: '95%', + value: 1 + }] + }] + top.Ext4.getCmp('tousseItem').add(item); +} + +//删除器械包块 +function delTousseItems2(index) { + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox1_' + index)); + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox2_' + index)); + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox3_' + index)); + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox4_' + index)); + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox5_' + index)); + top.Ext4.getCmp('tousseItem').remove(top.Ext4.getCmp('itemBox6_' + index)); + var resultArr = []; + for (var i = 0; i < tousseArray.length; i++) { + if (tousseArray[i] !== index) { + resultArr.push(tousseArray[i]); + } + } + tousseArray = resultArr; +} + +//显示器械维修设置的窗口 +function showAddOrEditWindow2(id, reviewStatus, fromPortalPage) { + tousseArray = []; + var repairResultStore = new top.Ext4.data.Store({ + fields: [{ name: 'value' }], + data: [{ value: '   ' }, { value: '已维修' }, { value: '报废' }] + }); + var useOrgUnitStore = new top.Ext4.data.Store({ + pageSize: 9999, + proxy: { + type: 'ajax', + url: WWWROOT + '/systemmanage/orgUnit/searchOrgUnitByKeyWord.do', + reader: { + type: 'json', + root: 'data' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'name', mapping: 'departmentName' } + ] + }); + var roomNumberIsHidden = false; + var washHandNurseNameIsHidden = false; + var repairNurseNameIsHidden = false; + var engineerIsHidden = false; + var repairTypeIsHidden = false; + var repairDateTimeIsHidden = false; + var outHandoverUserNameIsHidden = false; + var outHandoverDateTimeIsHidden = false; + var returnHandoverUserNameIsHidden = false; + var returnHandoverDateTimeIsHidden = false; + var discardDateTimeIsHidden = false; + var uniqueTousseIsHidden = false; + var infectedIsHidden = false; + var repairDescIsHidden = false; + var hiddenFieldsForInstrumentRepairRecords = sstsConfig.hiddenFieldsForInstrumentRepairRecords || []; + if (hiddenFieldsForInstrumentRepairRecords.length > 0) { + for (var i = 0; i < hiddenFieldsForInstrumentRepairRecords.length; i++) { + var item = hiddenFieldsForInstrumentRepairRecords[i]; + if (item == '房间号') { + roomNumberIsHidden = true; + } + if (item == '发现者') { + washHandNurseNameIsHidden = true; + } + if (item == '送修者') { + repairNurseNameIsHidden = true; + } + if (item == '工程师') { + engineerIsHidden = true; + } + if (item == '送修类别') { + repairTypeIsHidden = true; + } + if (item == '维修时间') { + repairDateTimeIsHidden = true; + } + if (item == '出科交接人') { + outHandoverUserNameIsHidden = true; + } + if (item == '出科时间') { + outHandoverDateTimeIsHidden = true; + } + if (item == '回科交接人') { + returnHandoverUserNameIsHidden = true; + } + if (item == '回科时间') { + returnHandoverDateTimeIsHidden = true; + } + if (item == '报废时间') { + discardDateTimeIsHidden = true; + } + if (item == '器械是否唯一') { + uniqueTousseIsHidden = true; + } + if (item == '是否感染') { + infectedIsHidden = true; + } + if (item == '器械故障现象描述并标记故障点') { + repairDescIsHidden = true; + } + } + } + var dateXtype = 'datetimefield'; + var dateEditable = false; + if (isIE(8)) { + dateXtype = 'datefield'; + dateEditable = true; + } + formPanel = new top.Ext4.form.Panel({ + id: 'formSumPanel', + frame: true, + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px;overflow: auto;', + width: 1000, + fieldDefaults: { + labelAlign: 'right', + labelWidth: 100 + }, + buttonAlign: 'center', + layout: 'form', + items: [{ + xtype: 'fieldset', + title: '报修信息', + collapsible: false, + items: [{ + xtype: 'hidden', + id: 'id', + name: 'id', + value: id || '' + }, { + layout: 'column', + items: [{ + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'textfield', + fieldLabel: '维修码', + id: 'serialNumber', + name: 'serialNumber', + allowBlank: true, + anchor: '95%', + disabled: true + }] + }, { + columnWidth: 0.5, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'instrumentRepairRemindUserIds', + name: 'instrumentRepairRemindUserIds' + }, { + xtype: 'textfield', + fieldLabel: '维修信息接收者', + labelWidth: 120, + id: 'instrumentRepairRemindUserNames', + name: 'instrumentRepairRemindUserNames', + allowBlank: true, + readOnly: true, + anchor: '95%' + }] + }, { + columnWidth: 0.01, + layout: 'form', + border: 0, + items: [{ + xtype: 'displayfield', + fieldLabel: '' + }] + }, { + columnWidth: 0.15, + layout: 'form', + border: 0, + items: [{ + xtype: 'button', + text: '选择用户', + handler: function () { + openSelectUserWindow('instrumentRepairRemindUserNames', 'instrumentRepairRemindUserIds'); + } + }] + }] + }, { + layout: 'column', + items: [{ + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'combo', + fieldLabel: '登记人', + id: 'registrantName', + name: 'registrantName', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'fullName', + store: getUserStore(), + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: true, + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: dateXtype, + fieldLabel: '报修时间', + labelAlign: 'right', + id: 'registerDateTime', + name: 'registerDateTime', + format: 'Y-m-d H:i', + editable: dateEditable, + allowBlank: false, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'useOrgUnitId', + name: 'useOrgUnitId' + }, { + xtype: 'combo', + fieldLabel: '使用科室', + id: 'useOrgUnitName', + name: 'useOrgUnitName', + valueField: 'name', + displayField: 'name', + minChars: 0, + queryParam: 'spell', + allowBlank: true, + store: useOrgUnitStore, + triggerAction: 'all', + anchor: '95%', + listeners: { + select: function (combo, record, index) { + var id = record[0].data.id; + top.Ext4.getCmp('useOrgUnitId').setValue(id); + } + } + }] + }] + }, { + layout: 'column', + items: [{ + columnWidth: 0.27, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'materialDefinitionID', + name: 'materialDefinitionID' + }, { + xtype: 'hidden', + id: 'hiddenMaterialDefinitionName', + name: 'hiddenMaterialDefinitionName' + }, { + xtype: 'combo', + fieldLabel: '器械名称', + id: 'materialDefinitionName', + name: 'materialDefinitionName', + queryParam: 'spell', + minChars: 0, + valueField: 'name', + displayField: 'name', + store: getMaterialDefinition(), + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: false, + anchor: '60%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('materialDefinitionID').setValue(record[0].data.id); + top.Ext4.getCmp('hiddenMaterialDefinitionName').setValue(record[0].data.name); + }, + blur: function (field) { + var hiddenMaterialDefinitionName = top.Ext4.getCmp('hiddenMaterialDefinitionName').getValue(); + var materialDefinitionName = top.Ext4.getCmp('materialDefinitionName').getRawValue(); + if (materialDefinitionName !== hiddenMaterialDefinitionName) { + top.Ext4.getCmp('materialDefinitionID').setValue(''); + top.Ext4.getCmp('materialDefinitionName').setValue(''); + top.Ext4.getCmp('hiddenMaterialDefinitionName').setValue(''); + } + } + } + }] + }, { + columnWidth: 0.01, + layout: 'form', + border: 0, + items: [{ + xtype: 'displayfield', + fieldLabel: '' + }] + }, { + columnWidth: 0.03, + layout: 'form', + border: 0, + items: [{ + xtype: 'button', + tooltip: '添加', + iconCls: 'btn_ext_add', + style: 'margin-top:2px', + handler: function () { + tousseCount++; + tousseArray.push(tousseCount); + addTousseItems2(tousseCount); + } + }] + }, { + columnWidth: 0.27, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'textfield', + fieldLabel: '器械具体名称', + id: 'instrumentSpecificName', + name: 'instrumentSpecificName', + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.27, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionID', + name: 'tousseDefinitionID' + }, { + xtype: 'hidden', + id: 'hiddenTousseDefinitionName', + name: 'hiddenTousseDefinitionName' + }, { + xtype: 'combo', + fieldLabel: '所属器械包', + id: 'tousseDefinitionName', + name: 'tousseDefinitionName', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'name', + store: tousseDefinitionStore, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('tousseDefinitionID').setValue(record[0].data.id); + top.Ext4.getCmp('hiddenTousseDefinitionName').setValue(record[0].data.name); + top.Ext4.getCmp('materialDefinitionID').setValue(''); + top.Ext4.getCmp('hiddenMaterialDefinitionName').setValue(''); + top.Ext4.getCmp('materialDefinitionName').setValue(''); + top.Ext4.getCmp('materialDefinitionName').getStore().reload(); + }, + blur: function (field) { + var hiddenTousseDefinitionName = top.Ext4.getCmp('hiddenTousseDefinitionName').getValue(); + var tousseDefinitionName = top.Ext4.getCmp('tousseDefinitionName').getRawValue(); + if (tousseDefinitionName !== hiddenTousseDefinitionName) { + top.Ext4.getCmp('tousseDefinitionID').setValue(''); + top.Ext4.getCmp('tousseDefinitionName').setValue(''); + top.Ext4.getCmp('hiddenTousseDefinitionName').setValue(''); + } + } + } + }] + }, { + columnWidth: 0.15, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'numberfield', + allowDecimals: false, + minValue: 1, + labelWidth: 70, + name: 'amount', + id: 'amount', + fieldLabel: "数量", + allowBlank: false, + blankText: '数量不能为空', + anchor: '95%', + value: 1 + }] + + }, { + columnWidth: 1, + layout: 'column', + border: 0, + id: 'tousseItem', + style: 'margin-bottom:10px' + }] + }, { + layout: 'column', + items: [{ + columnWidth: 0.99, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: repairDescIsHidden, + items: [{ + xtype: 'textarea', + maxLength: '300', + height: 45, + fieldLabel: '特殊描述', + id: 'repairDesc', + name: 'repairDesc', + allowBlank: true, + anchor: '95%' + }] + }] + }] + }, { + xtype: 'fieldset', + title: '送修信息', + collapsible: false, + items: [{ + layout: 'column', + items: [{ + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: outHandoverDateTimeIsHidden, + items: [{ + xtype: dateXtype, + fieldLabel: '出科时间', + labelAlign: 'right', + id: 'outHandoverDateTime', + name: 'outHandoverDateTime', + format: 'Y-m-d H:i', + editable: dateEditable, + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: outHandoverUserNameIsHidden, + items: [{ + xtype: 'textfield', + fieldLabel: '出科接收人', + id: 'outHandoverUserName', + name: 'outHandoverUserName', + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'handoverNurseID', + name: 'handoverNurseID' + }, { + xtype: 'combo', + fieldLabel: '交接护士', + id: 'handoverNurseName', + name: 'handoverNurseName', + queryParam: 'spell', + minChars: 0, + valueField: 'fullName', + displayField: 'fullName', + store: getUserStore(), + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: true, + allowBlank: true, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + var id = record[0].data.id; + top.Ext4.getCmp('handoverNurseID').setValue(id); + } + } + }] + }] + }, { + layout: 'column', + items: [{ + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: returnHandoverDateTimeIsHidden, + items: [{ + xtype: dateXtype, + fieldLabel: '回科时间', + labelAlign: 'right', + id: 'returnHandoverDateTime', + name: 'returnHandoverDateTime', + format: 'Y-m-d H:i', + editable: dateEditable, + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: returnHandoverUserNameIsHidden, + items: [{ + xtype: 'textfield', + fieldLabel: '回科交接人', + id: 'returnHandoverUserName', + name: 'returnHandoverUserName', + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'hidden', + id: 'receiveNurseID', + name: 'receiveNurseID' + }, { + xtype: 'combo', + fieldLabel: '接收护士', + id: 'receiveNurseName', + name: 'receiveNurseName', + queryParam: 'spell', + minChars: 0, + valueField: 'fullName', + displayField: 'fullName', + store: getUserStore(), + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: true, + allowBlank: true, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + var id = record[0].data.id; + top.Ext4.getCmp('receiveNurseID').setValue(id); + } + } + }] + }] + }] + }, { + xtype: 'fieldset', + title: '送修信息', + collapsible: false, + items: [{ + layout: 'column', + items: [{ + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'combo', + fieldLabel: '维修结果', + id: 'repairResult', + name: 'repairResult', + valueField: 'value', + displayField: 'value', + store: repairResultStore, + value: '', + editable: false, + mode: 'local', + triggerAction: 'all', + anchor: '95%', + listeners: { + select: function (combo, record, index) { + var value = record[0].data.value; + if (value == '报废') { + top.Ext4.getCmp('discardDateTime').setValue(''); + top.Ext4.getCmp('discardDateTime').setDisabled(false); + } else { + top.Ext4.getCmp('discardDateTime').setValue(''); + top.Ext4.getCmp('discardDateTime').setDisabled(true); + } + } + } + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + hidden: discardDateTimeIsHidden, + items: [{ + xtype: dateXtype, + fieldLabel: '报废时间', + labelAlign: 'right', + id: 'discardDateTime', + name: 'discardDateTime', + disabled: true, + format: 'Y-m-d H:i', + editable: dateEditable, + allowBlank: true, + anchor: '95%' + }] + }, { + columnWidth: 0.33, + layout: 'form', + border: 0, + style: 'margin-bottom:10px', + items: [{ + xtype: 'combo', + fieldLabel: '维修信息提醒', + id: 'repairInfoRemind', + name: 'repairInfoRemind', + valueField: 'value', + displayField: 'value', + store: new top.Ext4.data.Store({ + fields: [{ name: 'value' }], + data: [{ value: '是' }, { value: '否' }] + }), + value: '否', + editable: false, + mode: 'local', + triggerAction: 'all', + anchor: '95%' + }] + }] + }] + }], + buttons: [{ + id: 'saveBtn', + text: '保存', + hidden: (reviewStatus == '已审核') || SSTS_InstrumentRepair_handle, + handler: function () { + if (formPanel.getForm().isValid()) { + saveForm2(); + } else { + showResult('请填写表单!'); + return false; + } + } + }, { + text: '取消', + handler: cancel + }] + }); + win = new top.Ext4.window.Window({ + id: 'win', + layout: 'border', + title: '器械维修记录', + width: 1000, + height: 600, + border: false, + plain: true, + modal: true, + items: [{ + region: 'center', + width: 1000, + layout: 'fit', + items: [formPanel] + }] + }); + win.show(); + if ((id || '') !== '') { + loadInstrumentRepair2(id, fromPortalPage); + } else { + top.Ext4.getCmp('registrantName').setRawValue(currentUserFullName); + setStartDate(top.Ext4, 'yyyy/MM/dd HH:mm', 'registerDateTime'); + } +} + Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js =================================================================== diff -u -r35156 -r35988 --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js (.../instrumentRepairManagementForm.js) (revision 35156) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementForm.js (.../instrumentRepairManagementForm.js) (revision 35988) @@ -209,15 +209,15 @@ for (var i = 0; i < item.instrumentRepairGoodsList.length; i++) { var list = item.instrumentRepairGoodsList[i]; if (i == 0) { - top.Ext4.getCmp('materialDefinitionName').setRawValue(list.materialDefinitionName); + top.Ext4.getCmp('materialDefinitionName').setValue(list.materialDefinitionName); top.Ext4.getCmp('materialDefinitionID').setValue(list.materialDefinitionID); top.Ext4.getCmp('tousseDefinitionName').setRawValue(list.tousseDefinitionName); top.Ext4.getCmp('tousseDefinitionID').setValue(list.tousseDefinitionID); top.Ext4.getCmp('hiddenTousseDefinitionName').setValue(list.tousseDefinitionName); top.Ext4.getCmp('amount').setValue(list.amount); } else { addTousseItems(i); - top.Ext4.getCmp('materialDefinitionName_' + i).setRawValue(list.materialDefinitionName); + top.Ext4.getCmp('materialDefinitionName_' + i).setValue(list.materialDefinitionName); top.Ext4.getCmp('materialDefinitionID_' + i).setValue(list.materialDefinitionID); top.Ext4.getCmp('tousseDefinitionName_' + i).setRawValue(list.tousseDefinitionName); top.Ext4.getCmp('tousseDefinitionID_' + i).setValue(list.tousseDefinitionID); @@ -421,7 +421,7 @@ name: 'materialDefinitionName_' + index, queryParam: 'spell', minChars: 0, - valueField: 'id', + valueField: 'name', displayField: 'name', store: getMaterialDefinition(index), lazyInit: true, @@ -739,7 +739,7 @@ name: 'materialDefinitionName', queryParam: 'spell', minChars: 0, - valueField: 'id', + valueField: 'name', displayField: 'name', store: getMaterialDefinition(), lazyInit: true, Index: ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp =================================================================== diff -u -r33157 -r35988 --- ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp (.../instrumentRepairManagementView.jsp) (revision 33157) +++ ssts-web/src/main/webapp/disinfectsystem/instrumentRepairManagement/instrumentRepairManagementView.jsp (.../instrumentRepairManagementView.jsp) (revision 35988) @@ -15,6 +15,7 @@ - + +