Index: ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js =================================================================== diff -u -r33614 -r37077 --- ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 33614) +++ ssts-web/src/main/webapp/buttjoint/useRecord/useRecordForm.js (.../useRecordForm.js) (revision 37077) @@ -1,33 +1,34 @@ var entityName = '使用记录'; -Ext4.define('TousseInstance',{ - extend : 'Ext4.data.Model', - fields:['id','barcode','tousseDefinitionName', - 'amount','batchNo','packageType', - 'goodsType','validUntil','showTousseName', - 'tousseType','foreignTousseApp_id','isUrgentForUseRecord', - 'includeImplant','actualUsed','haveUnSupplementMaterials'] - }); - +var iskeypress = false; +Ext4.define('TousseInstance', { + extend: 'Ext4.data.Model', + fields: ['id', 'barcode', 'tousseDefinitionName', + 'amount', 'batchNo', 'packageType', + 'goodsType', 'validUntil', 'showTousseName', + 'tousseType', 'foreignTousseApp_id', 'isUrgentForUseRecord', + 'includeImplant', 'actualUsed', 'haveUnSupplementMaterials'] +}); + /** * 使用记录录入的物品信息(含录入的器械包、一次性物品(普通物品与高值耗材)、器械材料(仅类型为高值耗材)、高值耗材等) */ var useItemsStore = new Ext4.data.Store({ - proxy : { - type : 'ajax', - url : WWWROOT + '/disinfectSystem/useRecordAction!loadUseItemsByUseRecordId.do' - }, - model : 'TousseInstance' - }); + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/useRecordAction!loadUseItemsByUseRecordId.do' + }, + model: 'TousseInstance' +}); /** * 移除对象 */ function removeGridItem(barcode) { var tousseInstanceGridStore = Ext4.getCmp('tousseInstanceGrid').getStore();// 返回值为 if (tousseInstanceGridStore) { - for ( var i = 0; i < tousseInstanceGridStore.getCount(); i++) { + for (var i = 0; i < tousseInstanceGridStore.getCount(); i++) { var tempRecord = tousseInstanceGridStore.getAt(i); - if(tempRecord.data["barcode"] == barcode){ + if (tempRecord.data["barcode"] == barcode) { useItemsStore.remove(tempRecord); useAmount--; Ext4.getCmp('useAmount').setValue(useAmount); @@ -36,10 +37,11 @@ } } } + //获取扫描的物品所有条码 function getTousseGridData() { var tousseInstanceBarcodes = ""; - for ( var i = 0; i < useItemsStore.getCount(); i++) { + for (var i = 0; i < useItemsStore.getCount(); i++) { var barcode = useItemsStore.getAt(i).get('barcode'); if (tousseInstanceBarcodes == "") { tousseInstanceBarcodes = barcode; @@ -56,7 +58,7 @@ var exist = false; if (currentBarcode == "") return exist; - for ( var i = 0; i < useItemsStore.getCount(); i++) { + for (var i = 0; i < useItemsStore.getCount(); i++) { var barcode = useItemsStore.getAt(i).get('barcode'); if (currentBarcode == barcode) { exist = true; @@ -70,12 +72,12 @@ * 扫描处理 * @param barcode 扫描的条码 */ -function scanedBarcode(barcode){ - if(!userCode){ +function scanedBarcode(barcode) { + if (!userCode) { showResult('用户工号不能为空'); return; } - if(!barcode){ + if (!barcode) { showResult('条码不能为空'); return; } @@ -84,90 +86,90 @@ return; } Ext4.Ajax.request({ - url : WWWROOT + '/buttjoint/buttjointUseRecordAction!loadScanedGoods.do', - params : { - barcode : barcode, - userCode : userCode, - departCode : departCode, - scanedBarcodes : getTousseGridData() + url: WWWROOT + '/buttjoint/buttjointUseRecordAction!loadScanedGoods.do', + params: { + barcode: barcode, + userCode: userCode, + departCode: departCode, + scanedBarcodes: getTousseGridData() }, - success : function(response, options) { + success: function (response, options) { var result = response.responseText; if (result) { var goodsInfo = Ext4.decode(result); - if(goodsInfo.success != true){ + if (goodsInfo.success != true) { showResult(goodsInfo.message); return; } - if(goodsInfo.tousseType != '一次性物品' && goodsInfo.tousseType != '高值耗材'){ + if (goodsInfo.tousseType != '一次性物品' && goodsInfo.tousseType != '高值耗材') { var validTime = goodsInfo.validUntil; var currentTime = Ext4.util.Format.date(new Date(), - 'Y-m-d'); + 'Y-m-d'); // 未签收的器械包不能登记使用记录 /* if(goodsInfo.status == hadShipped && sstsConfig.notSignedItemsCanRegistUseRecord == false){ showResult('该器械包未签收,不能被使用!'); return; } */ - if ((goodsInfo.status == hadShipped && goodsInfo.registUseRecordAfterSigned == '否')|| goodsInfo.status == hadSigned) { - //if ((goodsInfo.status == hadShipped && sstsConfig.notSignedItemsCanRegistUseRecord != false)|| goodsInfo.status == hadSigned) { + if ((goodsInfo.status == hadShipped && goodsInfo.registUseRecordAfterSigned == '否') || goodsInfo.status == hadSigned) { + //if ((goodsInfo.status == hadShipped && sstsConfig.notSignedItemsCanRegistUseRecord != false)|| goodsInfo.status == hadSigned) { if (validTime && !compareDate(currentTime, validTime)) { showResult('该器械包已过期!'); } else { - function addTousse(){ + function addTousse() { var record = new TousseInstance({ - id : goodsInfo.id, - barcode : goodsInfo.barcode, - amount : 1, - batchNo : '', - tousseDefinitionName : goodsInfo.tousseDefinitionName, - showTousseName : goodsInfo.showTousseName, - packageType : goodsInfo.packageType, - validUntil : validTime, - tousseType : goodsInfo.tousseType, - foreignTousseApp_id : goodsInfo.foreignTousseApp_id, - includeImplant : goodsInfo.includeImplant, - actualUsed : goodsInfo.actualUsed, - haveUnSupplementMaterials : goodsInfo.haveUnSupplementMaterials + id: goodsInfo.id, + barcode: goodsInfo.barcode, + amount: 1, + batchNo: '', + tousseDefinitionName: goodsInfo.tousseDefinitionName, + showTousseName: goodsInfo.showTousseName, + packageType: goodsInfo.packageType, + validUntil: validTime, + tousseType: goodsInfo.tousseType, + foreignTousseApp_id: goodsInfo.foreignTousseApp_id, + includeImplant: goodsInfo.includeImplant, + actualUsed: goodsInfo.actualUsed, + haveUnSupplementMaterials: goodsInfo.haveUnSupplementMaterials }); if (checkBarcodeIsExist(goodsInfo.barcode)) { showResult('条码为:' + barcode + '的物品已在当前扫描物品里!'); return; } - useItemsStore.insert(0 , record); + useItemsStore.insert(0, record); useAmount++; Ext4.getCmp('useAmount').setValue(useAmount); } - if(sstsConfig.olderTousseComfirmForUserecord && goodsInfo.older){ - if(confirm(goodsInfo.older.tousseName+"[条码:"+goodsInfo.older.barcode+"]更接近失效期,是否继续?")){ + if (sstsConfig.olderTousseComfirmForUserecord && goodsInfo.older) { + if (confirm(goodsInfo.older.tousseName + "[条码:" + goodsInfo.older.barcode + "]更接近失效期,是否继续?")) { addTousse(); } - }else{ + } else { addTousse(); } } } else { - if (goodsInfo.registUseRecordAfterSigned == '是'){ - //if (sstsConfig.notSignedItemsCanRegistUseRecord == false){ + if (goodsInfo.registUseRecordAfterSigned == '是') { + //if (sstsConfig.notSignedItemsCanRegistUseRecord == false){ showResult('器械包状态为【' + goodsInfo.status + '】,只能登记已签收并且未被使用的器械包!'); } - else{ + else { showResult('器械包状态为【' + goodsInfo.status + '】,只能登记已发货并且未被使用的器械包!'); } } - }else if(goodsInfo.tousseType == '高值耗材'){ + } else if (goodsInfo.tousseType == '高值耗材') { showResult('暂时不支持录入高值耗材!'); - }else if(goodsInfo.tousseType == '一次性物品'){ + } else if (goodsInfo.tousseType == '一次性物品') { showResult('暂时不支持录入一次性物品!'); } } else { - if(sstsConfig.enableExpensiveGoods){ + if (sstsConfig.enableExpensiveGoods) { showResult('找不到该条码的器械包或一次性物品或高值耗材!'); - }else{ + } else { showResult('找不到该条码的器械包或一次性物品!'); } } }, - failure : function(response, options) { + failure: function (response, options) { showResult('加载出错!请稍候再试。'); } }); @@ -196,971 +198,1619 @@ * operationTime:"" * } */ -function showPatientInfo(patientInfo){ - if(patientInfo){ - if(patientInfo.clinicNumber){ +function showPatientInfo(patientInfo) { + if (patientInfo) { + if (patientInfo.clinicNumber) { Ext4.getCmp('treatmentNum').setValue(patientInfo.clinicNumber); } - if(patientInfo.hospitalNumber){ + if (patientInfo.hospitalNumber) { Ext4.getCmp('hospitalNum').setValue(patientInfo.hospitalNumber); } - if(patientInfo.patientName){ + if (patientInfo.patientName) { Ext4.getCmp('patientName').setValue(patientInfo.patientName); } - if(patientInfo.patientAge){ + if (patientInfo.patientAge) { Ext4.getCmp('patientAge').setValue(patientInfo.patientAge); } - if(patientInfo.patientIDCard){ + if (patientInfo.patientIDCard) { Ext4.getCmp('patientIDCard').setValue(patientInfo.patientIDCard); } - if(patientInfo.patientSex){ - if(patientInfo.patientSex == '男'){ + if (patientInfo.patientSex) { + if (patientInfo.patientSex == '男') { Ext4.getCmp('patientSex').setValue('男'); - }else if(patientInfo.patientSex == '女'){ + } else if (patientInfo.patientSex == '女') { Ext4.getCmp('patientSex').setValue('女'); - }else{ + } else { Ext4.getCmp('patientSex').setValue(''); } } - if(patientInfo.bedNumber){ + if (patientInfo.bedNumber) { Ext4.getCmp('bedNumber').setValue(patientInfo.bedNumber); } - if(patientInfo.doctorName){ + if (patientInfo.doctorName) { Ext4.getCmp('doctorName').setValue(patientInfo.doctorName); } -// if(patientInfo.operation){ -// Ext4.getCmp('operation').setValue(patientInfo.operation); -// } - if(patientInfo.roomNumber){ + if (patientInfo.operation) { + Ext4.getCmp('operation').setRawValue(patientInfo.operation); + } + if (patientInfo.roomNumber) { Ext4.getCmp('roomNumber').setValue(patientInfo.roomNumber); } - if(patientInfo.visitId){ + if (patientInfo.visitId) { Ext4.getCmp('visitId').setValue(patientInfo.visitId); } - if(patientInfo.remark){ + if (patientInfo.remark) { Ext4.getCmp('remark').setValue(patientInfo.remark); } - if(patientInfo.circuitNurse){ + if (patientInfo.circuitNurse) { Ext4.getCmp('circuitNurse').setValue(patientInfo.circuitNurse); } - if(patientInfo.washHandNurse){ + if (patientInfo.washHandNurse) { Ext4.getCmp('washHandNurse').setValue(patientInfo.washHandNurse); } -// if(patientInfo.specialInfection){ -// Ext4.getCmp('specialInfection').setValue(patientInfo.specialInfection); -// } - if(patientInfo.opRoomId){ + if (patientInfo.specialInfection) { + Ext4.getCmp('specialInfection').setRawValue(patientInfo.specialInfection); + } + if (patientInfo.opRoomId) { Ext4.getCmp('operationRoom').setValue(patientInfo.opRoomId); } - if(patientInfo.operationTime){ + if (patientInfo.operationTime) { //把所有的减号替换成/ - Ext4.getCmp('operationTime').setValue(new Date(patientInfo.operationTime.replace(/-/g,"/"))); + Ext4.getCmp('operationTime').setValue(new Date(patientInfo.operationTime.replace(/-/g, "/"))); } - if(patientInfo.operationScheduleId){ + if (patientInfo.operationScheduleId) { Ext4.getCmp('operationScheduleId').setValue(patientInfo.operationScheduleId); } + if (patientInfo.ascriptionDepartment) { + Ext4.getCmp('departNameOfpatient').setValue(patientInfo.ascriptionDepartment); + } + if (patientInfo.ascriptionDepartCode) { + Ext4.getCmp('departNameOfpatientCode').setValue(patientInfo.ascriptionDepartCode); + } + if (patientInfo.patientArea) { + Ext4.getCmp('patientArea').setRawValue(patientInfo.patientArea); + } } } -Ext4.onReady(function(){ - Ext4.QuickTips.init(); - var operationRoomAllowBlank = true; - var hospitalNumAllowBlank = true; - //巡回护士项的标签 - var circuitNurseLabelName = sstsConfig.circuitNurseLabelName ? sstsConfig.circuitNurseLabelName : '巡回护士'; +Ext4.onReady(function () { + Ext4.QuickTips.init(); + //XJJQZYY-104:使用记录增加必填项配置 + //住院号 + var hospitalNumAllowBlank = true + //诊疗号 + var treatmentNumAllowBlank = true; + //洗手护士 + var washHandNurseAllowBlank = true; + //巡回护士 + var circuitNurseAllowBlank = true; + //手术间 + var operationRoomAllowBlank = true; + //姓名 + var patientNameAllowBlank = true; + //年龄 + var patientAgeAllowBlank = true; + //性别 + var patientSexAllowBlank = true; + //病区 + var patientAreaAllowBlank = true; + //病人所在科室 + var departNameOfpatientAllowBlank = true; + //病室 + var roomNumberAllowBlank = true; + //床位 + var bedNumberAllowBlank = true; + //身份证 + var patientIDCardAllowBlank = true; + //手术医生 + var doctorNameAllowBlank = true; + //主刀医生 + var surgeonAllowBlank = true; + //麻醉医生 + var anesthetistAllowBlank = true; + //麻醉方式 + var anesthesiaModeAllowBlank = true; + //手术名称 + var operationNameAllowBlank = true; + //手术单号 + var operationScheduleIdAllowBlank = true; + //手术时间 + var operationTimeAllowBlank = true; + //住院次数 + var visitIdAllowBlank = true; + //特殊感染类型 + var specialInfectionAllowBlank = true; + //主刀医生核算科室 + var doctorAccountDepartAllowBlank = true; + //备注 + var remarkAllowBlank = true; + if (sstsConfig.notAllowBlankFieldsOnUseRecordPage && typeof sstsConfig.notAllowBlankFieldsOnUseRecordPage == 'object') { var allowBlankObj = returnFieldAllowBlankObj('notAllowBlankFieldsOnUseRecordPage'); - operationRoomAllowBlank = allowBlankObj.operationRoom; + //住院号 hospitalNumAllowBlank = allowBlankObj.hospitalNumber; + //诊疗号 + treatmentNumAllowBlank = allowBlankObj.treatmentNum; + //洗手护士 + washHandNurseAllowBlank = allowBlankObj.washHandNurse; + //巡回护士 + circuitNurseAllowBlank = allowBlankObj.circuitNurse; + //手术间 + operationRoomAllowBlank = allowBlankObj.operationRoom; + //姓名 + patientNameAllowBlank = allowBlankObj.patientName; + //年龄 + patientAgeAllowBlank = allowBlankObj.patientAge; + //性别 + patientSexAllowBlank = allowBlankObj.patientSex; + //病区 + patientAreaAllowBlank = allowBlankObj.patientArea; + //病人所在科室 + departNameOfpatientAllowBlank = allowBlankObj.departNameOfpatient; + //病室 + roomNumberAllowBlank = allowBlankObj.roomNumber; + //床位 + bedNumberAllowBlank = allowBlankObj.bedNumber; + //身份证 + patientIDCardAllowBlank = allowBlankObj.patientIDCard; + //手术医生 + doctorNameAllowBlank = allowBlankObj.doctorName; + //主刀医生 + surgeonAllowBlank = allowBlankObj.surgeon; + //麻醉医生 + anesthetistAllowBlank = allowBlankObj.anesthetist; + //麻醉方式 + anesthesiaModeAllowBlank = allowBlankObj.anesthesiaMode; + //手术名称 + operationNameAllowBlank = allowBlankObj.operation; + //手术单号 + operationScheduleIdAllowBlank = allowBlankObj.operationScheduleId; + //手术时间 + operationTimeAllowBlank = allowBlankObj.operationTime; + //住院次数 + visitIdAllowBlank = allowBlankObj.visitId; + //特殊感染类型 + specialInfectionAllowBlank = allowBlankObj.specialInfection; + //主刀医生核算科室 + doctorAccountDepartAllowBlank = allowBlankObj.doctorAccountDepart; + //备注 + remarkAllowBlank = allowBlankObj.remark; } - - var yesNoStore = new Ext4.data.Store( { - fields : [{name:'value'},{name:'text'}], - data : [{value:'0',text:'否'}, {value:'1',text:'是'}] + + //ZJYY-80:使用记录字段别名设置 + var configureObj = replaceName('aliasNameOfUseRecordFields'); + var hospitalNumName = configureObj.hospitalNumber; + var treatmentNumName = configureObj.treatmentNum; + var washHandNurseName = configureObj.washHandNurse; + var circuitNurseName = configureObj.circuitNurse; + var operationRoomName = configureObj.operationRoom; + var patientNameSet = configureObj.patient; + var patientAgeName = configureObj.patientAge; + var patientSexName = configureObj.patientSex; + var patientAreaName = configureObj.patientArea; + var departNameOfpatientName = configureObj.departNameOfpatient; + var roomNumberName = configureObj.roomNumber; + var bedNumberName = configureObj.bedNumber; + var patientIDCardName = configureObj.patientIDCard; + var doctorNameSet = configureObj.doctorName; + var surgeonName = configureObj.surgeon; + var anesthetistName = configureObj.anesthetist; + var anesthesiaModeName = configureObj.anesthesiaMode; + var operationName = configureObj.operation; + var operationScheduleIdName = configureObj.operationScheduleId; + var operationTimeName = configureObj.operationTime; + var visitIdName = configureObj.visitId; + var specialInfectionName = configureObj.specialInfection; + var doctorAccountDepartName = configureObj.doctorAccountDepart; + var remarkName = configureObj.remark; + + //巡回护士项的标签 + circuitNurseName = sstsConfig.circuitNurseLabelName ? sstsConfig.circuitNurseLabelName : circuitNurseName; + + var yesNoStore = new Ext4.data.Store({ + fields: [{ name: 'value' }, { name: 'text' }], + data: [{ value: '0', text: '否' }, { value: '1', text: '是' }] }); - - function onTextfieldFoucus(thiz){ - thiz.selectText(); - } - - Ext4.define('DepartUser',{ - extend : 'Ext4.data.Model', - fields:['id','fullName','orgUnitName'] - }); - // 查找某科室的人员的store - var departUsersStore = new Ext4.data.Store({ - proxy : { - type : 'ajax', - url : WWWROOT + '/buttjoint/buttjointUseRecordAction!loadUsersBySearchString.do?departCode='+departCode - }, - model : 'DepartUser' - }); - - var sexStore = new Ext4.data.Store( { - fields : [{name:'value'},{name:'text'}], - data : [{value:'男',text:'男'}, {value:'女',text:'女'}] + + var operationStatusStore = new Ext4.data.Store({ + fields: [{ name: 'operationStatus' }], + data: [{ operationStatus: OPERATION_STATUS_PRE_OPERATION }, { operationStatus: OPERATION_STATUS_BEGIN_OPERATION }, { operationStatus: OPERATION_STATUS_IN_OPERATION }, { operationStatus: OPERATION_STATUS_END_OPERATION }] }); - - var tousseCm = [ - {header : "name",dataIndex : 'tousseDefinitionName',hidden : true,menuDisabled : true}, - {header : "条码",dataIndex : 'barcode',width : 120/*,menuDisabled : true,renderer : renderTousseInstanceInfoShowFun*/}, - {id:'showTousseName' , header : "名称",dataIndex : 'showTousseName',width : 150,menuDisabled : true/*,renderer : renderTousseInstanceNameForUrgent*/}, - {header : '加急',width : 35,hidden : true, - renderer : function(v, p, record,rowIndex, colIndex) { - var imgName = (record.data.isUrgentForUseRecord=='是')?'arrow_down':'arrow_top'; - var str = "
"; - return str; - }, - menuDisabled : true - },{header : "是否真正使用",hidden : true,dataIndex : 'actualUsed',width : 70,menuDisabled : true,hidden:!sstsConfig.enableActualUsed, - renderer: function(v, p, record,rowIndex, colIndex){ - var str = v; - var id = record.id; - if(record.data.actualUsed == '否'){ - str = "是 否"; - }else if(record.data.actualUsed == '是'){ - str = "是 否"; - } - return str; - }}, - {header : "数量",dataIndex : 'amount',width : 50,menuDisabled : true,editor : new Ext4.form.NumberField({ - allowBlank : false, - listeners : { - focus : function(thiz){ - var record = Ext4.getCmp('tousseInstanceGrid').getSelectionModel().getSelected(); - if(record.data.tousseType == '一次性物品' && record.data.goodsType != '高值耗材'){ - thiz.selectText(); - }else if(record.data.tousseType != '一次性物品'){ - Ext4.MessageBox.alert("提示","不能修改器械包数量!"); - }else if(record.data.goodsType == '高值耗材'){ - Ext4.MessageBox.alert("提示","不能修改高值耗材数量!"); - } - } - } - })}, - {header : "包装类型",dataIndex : 'packageType',width : 90,menuDisabled : true}, - {header : "物品类型",dataIndex : 'goodsType',hidden : true}, -// {header : "批次",dataIndex : 'batchNo',width : 100,menuDisabled : true}, - {header : "有效期",dataIndex : 'validUntil',menuDisabled : true,width : 110}, - {hidden : true,header : "图片",dataIndex : 'tousseDefinitionName',menuDisabled : true,width : 35,renderer : function(v, p, record){ - if(record.data.tousseType != '一次性物品'){ - var str = "
"; - return str; - } - }}, - {hidden : true,header : "植入物使用情况",dataIndex : 'tousseDefinitionName',menuDisabled : true,width : 90,renderer : function(v, p, record){ - var tousseType = record.get("tousseType"); - var includeImplant = record.get("includeImplant"); - var tousseBarcode = record.get("barcode"); - if("外来器械包" == tousseType || "外来器械拆分小包" == tousseType || "是" == includeImplant){ - var app_id = record.get("foreignTousseApp_id"); - if(app_id == undefined){ - app_id = ""; - } - var str = "
"; - return str; - } - return ""; - }}, - {header : '操作',id : 'delAction',width : 130, - renderer : function(v, p, record) { - var str = ""; - var tousseType = record.get("tousseType"); - var includeImplant = record.get("includeImplant"); - var tousseBarcode = record.get("barcode"); - if("外来器械包" == tousseType || "外来器械拆分小包" == tousseType || "是" == includeImplant){ - var app_id = record.get("foreignTousseApp_id"); - if(app_id == undefined){ - app_id = ""; - } - str = ""; - } - var deleteStr = ""; - if(str){ - str += " " + deleteStr; - }else{ - str = deleteStr; - } - return "
" + str + "
"; - }, - menuDisabled : true, - dataIndex : 'button' - }]; - - var formObj = new Ext4.form.Panel({ - frame:true, - labelSeparator:':', - title: '录入使用记录', - bodyStyle:'padding:5px 5px 0px 25px', - width: 720, - items: [{ - xtype : "fieldset", - title : "基础数据", - layout : 'column', - autoHeight : true, - width:710, - items : [ { - xtype : 'hidden', - name : 'id', - id : 'id' - },{ - xtype : 'hidden', - name : 'items', - id : 'items' - },{ - xtype : 'hidden', - name : 'originalItems', - id : 'originalItems' - },{ - xtype : 'hidden', - name : 'formParams', - id : 'formParams' - },{ - xtype : 'hidden', - name : 'originalFormParams', - id : 'originalFormParams' + + function onTextfieldFoucus(thiz) { + thiz.selectText(); + } + + Ext4.define('DepartUser', { + extend: 'Ext4.data.Model', + fields: ['id', 'fullName', 'orgUnitName'] + }); + // 查找某科室的人员的store + var departUsersStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/buttjoint/buttjointUseRecordAction!loadUsersBySearchString.do?departCode=' + departCode + }, + model: 'DepartUser' + }); + + var operationRoomJsonStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/operationRoomAction!getOperationRoomByCurrentOrgUnitCode.do', + reader: { + type: 'json', + root: 'data' + } + }, + fields: [ + { name: 'id' }, + { name: 'operationRoomName' } + ] + }); + + var operationNameStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectsystem/basedatamanager/operationOrgAction!findOrgUnitOperationName.do', + reader: { + type: 'json', + totalProperty: 'totalCount', + root: 'data' + } + }, + fields: [ + { name: 'id' }, + { name: 'operationName' } + ] + }); + + operationNameStore.load(); + + var specialInfectionStore = new Ext4.data.Store({ + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/specialInfectionAction!loadEnableSpecialInfectionList.do', + reader: { + type: 'json', + totalProperty: 'totalCount', + root: 'data' + } + }, + fields: [ + { name: 'id' }, + { name: 'name' }, + { name: 'barcode' }, + { name: 'displayName' }, + { name: 'colorCode' } + ], + listeners: { + load: function (thiz, records, options) { + specialInfectionStore.removeAll(); + if (specialInfectionStore.proxy.extraParams.spell && specialInfectionStore.proxy.extraParams.spell !== '') { + var name = ''; + if (records && records.length > 0) { + for (var i = records.length - 1; i >= 0; i--) { + if (specialInfectionStore.proxy.extraParams.spell == records[i].data.name) { + name = records[i].data.name; + break; + } + } + } + if (name == '') { + return; + } + } + if (records && records.length > 0) { + specialInfectionStore.add({ + 'id': '', + 'name': '', + 'barcode': '', + 'colorCode': '', + 'displayName': " " + }); + for (var i = records.length - 1; i >= 0; i--) { + var recordItem = records[i].data; + specialInfectionStore.add({ + 'id': recordItem.id, + 'name': recordItem.name, + 'barcode': recordItem.barcode, + 'colorCode': recordItem.colorCode, + 'displayName': "
" + recordItem.name + "
" + }); + } + } + } + } + }); + + specialInfectionStore.load(); + + var sexStore = new Ext4.data.Store({ + fields: [{ name: 'typeName' }], + data: [{ typeName: '男' }, { typeName: '女' }] + }); + + var patientAreaStore = new Ext4.data.Store({ + fields: [{ name: 'patientArea' }], + data: patientAreaList + }); + + var tousseCm = [ + { header: "name", dataIndex: 'tousseDefinitionName', hidden: true, menuDisabled: true }, + { header: "条码", dataIndex: 'barcode', width: 120/*,menuDisabled : true,renderer : renderTousseInstanceInfoShowFun*/ }, + { id: 'showTousseName', header: "名称", dataIndex: 'showTousseName', width: 150, menuDisabled: true/*,renderer : renderTousseInstanceNameForUrgent*/ }, + { + header: '加急', width: 35, hidden: true, + renderer: function (v, p, record, rowIndex, colIndex) { + var imgName = (record.data.isUrgentForUseRecord == '是') ? 'arrow_down' : 'arrow_top'; + var str = "
"; + return str; + }, + menuDisabled: true + }, { + header: "是否真正使用", hidden: true, dataIndex: 'actualUsed', width: 70, menuDisabled: true, hidden: !sstsConfig.enableActualUsed, + renderer: function (v, p, record, rowIndex, colIndex) { + var str = v; + var id = record.id; + if (record.data.actualUsed == '否') { + str = "是 否"; + } else if (record.data.actualUsed == '是') { + str = "是 否"; + } + return str; + } + }, + { + header: "数量", dataIndex: 'amount', width: 50, menuDisabled: true, editor: new Ext4.form.NumberField({ + allowBlank: false, + listeners: { + focus: function (thiz) { + var record = Ext4.getCmp('tousseInstanceGrid').getSelectionModel().getSelected(); + if (record.data.tousseType == '一次性物品' && record.data.goodsType != '高值耗材') { + thiz.selectText(); + } else if (record.data.tousseType != '一次性物品') { + Ext4.MessageBox.alert("提示", "不能修改器械包数量!"); + } else if (record.data.goodsType == '高值耗材') { + Ext4.MessageBox.alert("提示", "不能修改高值耗材数量!"); + } + } + } + }) + }, + { header: "包装类型", dataIndex: 'packageType', width: 90, menuDisabled: true }, + { header: "物品类型", dataIndex: 'goodsType', hidden: true }, + // {header : "批次",dataIndex : 'batchNo',width : 100,menuDisabled : true}, + { header: "有效期", dataIndex: 'validUntil', menuDisabled: true, width: 110 }, + { + hidden: true, header: "图片", dataIndex: 'tousseDefinitionName', menuDisabled: true, width: 35, renderer: function (v, p, record) { + if (record.data.tousseType != '一次性物品') { + var str = "
"; + return str; + } + } + }, + { + hidden: true, header: "植入物使用情况", dataIndex: 'tousseDefinitionName', menuDisabled: true, width: 90, renderer: function (v, p, record) { + var tousseType = record.get("tousseType"); + var includeImplant = record.get("includeImplant"); + var tousseBarcode = record.get("barcode"); + if ("外来器械包" == tousseType || "外来器械拆分小包" == tousseType || "是" == includeImplant) { + var app_id = record.get("foreignTousseApp_id"); + if (app_id == undefined) { + app_id = ""; + } + var str = "
"; + return str; + } + return ""; + } + }, + { + header: '操作', id: 'delAction', width: 130, + renderer: function (v, p, record) { + var str = ""; + var tousseType = record.get("tousseType"); + var includeImplant = record.get("includeImplant"); + var tousseBarcode = record.get("barcode"); + if ("外来器械包" == tousseType || "外来器械拆分小包" == tousseType || "是" == includeImplant) { + var app_id = record.get("foreignTousseApp_id"); + if (app_id == undefined) { + app_id = ""; + } + str = ""; + } + var deleteStr = ""; + if (str) { + str += " " + deleteStr; + } else { + str = deleteStr; + } + return "
" + str + "
"; + }, + menuDisabled: true, + dataIndex: 'button' + }]; + + var formObj = new Ext4.form.Panel({ + frame: true, + labelSeparator: ':', + title: '录入使用记录', + bodyStyle: 'padding:5px 5px 0px 25px', + width: 720, + fieldDefaults: { + labelAlign: 'right', + height: 22 + }, + items: [{ + xtype: "fieldset", + title: "基础数据", + layout: 'column', + autoHeight: true, + width: 670, + items: [{ + xtype: 'hidden', + name: 'id', + id: 'id' }, { - xtype : 'hidden', - name : 'tousseInstanceBarcodes', - id : 'tousseInstanceBarcodes' + xtype: 'hidden', + name: 'items', + id: 'items' }, { - xtype : 'hidden', - name : 'applicationFormType', - id : 'applicationFormType', - value : sstsConfig.applicationFormType + xtype: 'hidden', + name: 'originalItems', + id: 'originalItems' }, { - xtype : 'hidden', - name : 'audited', - id : 'audited' - },{ - xtype : 'hidden', - name : 'departCoding', - id : 'departCoding', - value : departCode - },{ - xtype : 'hidden', - name : 'userCode', - id : 'userCode', - value : userCode + xtype: 'hidden', + name: 'formParams', + id: 'formParams' }, { - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '住院号', - id : 'hospitalNum', - name : 'hospitalNum', - allowBlank : hospitalNumAllowBlank, - enableKeyEvents : true, - maxLength:20, - maxLengthText :'长度超过限制,不能保存!', - listeners : { - render : function(c){ - c.getEl().on('keypress',function(e,thiz){ - if(e.getKey() == 13){ + xtype: 'hidden', + name: 'originalFormParams', + id: 'originalFormParams' + }, { + xtype: 'hidden', + name: 'departCodeOfpatient', + id: 'departCodeOfpatient' + }, { + xtype: 'hidden', + name: 'tousseInstanceBarcodes', + id: 'tousseInstanceBarcodes' + }, { + xtype: 'hidden', + name: 'applicationFormType', + id: 'applicationFormType', + value: sstsConfig.applicationFormType + }, { + xtype: 'hidden', + name: 'audited', + id: 'audited' + }, { + xtype: 'hidden', + name: 'departCoding', + id: 'departCoding', + value: $Id("currentOrgUnitCode").value + }, { + xtype: 'hidden', + name: 'userCode', + id: 'userCode', + value: userCode + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: hospitalNumName, + id: 'hospitalNum', + name: 'hospitalNum', + allowBlank: hospitalNumAllowBlank, + enableKeyEvents: true, + maxLength: 20, + maxLengthText: '长度超过限制,不能保存!', + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e, thiz) { + if (e.getKey() == 13) { + iskeypress = true; var patientParams = {}; patientParams.patientNum = thiz.value; patientParams.numType = 'hospitalNum'; patientParams.sourcePage = 1; loadPatientInfoByValAndType2(JSON.stringify(patientParams)); - - // 如果洗手护士输入框隐藏,则聚焦到巡回护士输入框,否则聚焦到洗手护士输入框 - if (sstsConfig.hideWashHandNurseOfUseRecord == true){ - Ext4.getCmp('circuitNurse').focus(); - } - else{ - Ext4.getCmp('washHandNurse').focus(); - } + + // 如果洗手护士输入框隐藏,则聚焦到巡回护士输入框,否则聚焦到洗手护士输入框 + if (sstsConfig.hideWashHandNurseOfUseRecord == true) { + Ext4.getCmp('circuitNurse').focus(); + } + else { + Ext4.getCmp('washHandNurse').focus(); + } } }); + }, + blur: function () { + if (!iskeypress) { + validPatientInfo(); + } } }, - anchor : '96%' + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - hidden : sstsConfig.hideTreatmentNumOfUseRecord, - items : [{ - xtype : 'textfield', - fieldLabel : '诊疗号', - id : 'treatmentNum', - name : 'treatmentNum', - allowBlank : true, - maxLength:20, - maxLengthText :'长度超过限制,不能保存!', - enableKeyEvents : true, - listeners : { - render : function(c){ - c.getEl().on('keypress',function(e,thiz){ - if(e.getKey() == 13){ + layout: 'form', + columnWidth: 0.33, + hidden: sstsConfig.hideTreatmentNumOfUseRecord, + items: [{ + xtype: 'textfield', + fieldLabel: treatmentNumName, + id: 'treatmentNum', + name: 'treatmentNum', + allowBlank: treatmentNumAllowBlank, + maxLength: 20, + maxLengthText: '长度超过限制,不能保存!', + enableKeyEvents: true, + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e, thiz) { + if (e.getKey() == 13) { + iskeypress = true; var patientParams = {}; patientParams.patientNum = thiz.value; patientParams.numType = 'treatmentNum'; patientParams.sourcePage = 1; - + loadPatientInfoByValAndType2(JSON.stringify(patientParams)); - - // 如果洗手护士输入框隐藏,则聚焦到巡回护士输入框,否则聚焦到洗手护士输入框 - if (sstsConfig.hideWashHandNurseOfUseRecord == true){ - Ext4.getCmp('circuitNurse').focus(); - } - else{ - Ext4.getCmp('washHandNurse').focus(); - } + + // 如果洗手护士输入框隐藏,则聚焦到巡回护士输入框,否则聚焦到洗手护士输入框 + if (sstsConfig.hideWashHandNurseOfUseRecord == true) { + Ext4.getCmp('circuitNurse').focus(); + } + else { + Ext4.getCmp('washHandNurse').focus(); + } } }); + }, + blur: function () { + if (!iskeypress) { + validPatientInfo(); + } } }, - anchor : '96%' + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - hidden : sstsConfig.hideWashHandNurseOfUseRecord, - items : [{ - xtype : 'combo', - fieldLabel : '洗手护士', - id : 'washHandNurse', - name : 'washHandNurse', - hidden : sstsConfig.hideWashHandNurseOfUseRecord, -// disabled : !fillTousseName, - queryParam : 'spell', - minChars : 0, - displayField : 'fullName', - store : departUsersStore, - forceSelection : false, - lazyInit : true, - triggerAction : 'all', - hideTrigger : false, - typeAhead : false, - allowBlank : true, - anchor : '96%', - listeners : { - render : function(c){ - c.getEl().on('keypress',function(e,thiz){ -// if(e.getKey() == 13){ -// var text = Ext4.getCmp('washHandNurse').getValue(); -// if (isValidBarcode(text)){ -// Ext4.getCmp('washHandNurse').setValue(""); -// UserTableManager.getUserObjByBarcode(text,function(responseText){ -// if(responseText != null && responseText != ""){ -// var userName = responseText.split(",")[0]; -// Ext4.getCmp('washHandNurse').setValue(userName); -// Ext4.getCmp('circuitNurse').focus(); -// }else{ -// showResult('找不到该条码所对应的人员信息'); -// } -// }); -// } -// else if (isValidStaffNumber(text)){ -// UserTableManager.getUserObjByName(text,function(responseText){ -// if(responseText != null && responseText != ""){ -// var userName = responseText.split(",")[0]; -// Ext4.getCmp('washHandNurse').setValue(userName); -// Ext4.getCmp('circuitNurse').focus(); -// }else{ -// showResult('找不到该工号对应的人员信息'); -// } -// }); -// } -// else{ -// Ext4.getCmp('circuitNurse').focus(); -// } -// } + layout: 'form', + columnWidth: 0.33, + hidden: sstsConfig.hideWashHandNurseOfUseRecord, + items: [{ + xtype: 'combo', + fieldLabel: washHandNurseName, + id: 'washHandNurse', + name: 'washHandNurse', + queryParam: 'spell', + minChars: 0, + displayField: 'fullName', + store: departUsersStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: washHandNurseAllowBlank, + anchor: '96%', + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e, thiz) { + if (e.getKey() == 13) { + var washHandNurseBox = Ext4.getCmp('washHandNurse'); + var text = washHandNurseBox.getValue(); + getUserObjByBarcode(text, washHandNurseBox, '', function (userName) { + if (userName !== '') { + washHandNurseBox.setValue(userName); + Ext4.getCmp('circuitNurse').focus(); + } + }) + } }); - c.getEl().on('dblclick',function(e,thiz){ + c.getEl().on('dblclick', function (e, thiz) { c.doQuery(c.allQuery, true); c.expand(); }); } } }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'combo', - fieldLabel : circuitNurseLabelName, - id : 'circuitNurse', - name : 'circuitNurse', -// disabled : !fillTousseName, - queryParam : 'spell', - minChars : 0, - displayField : 'fullName', - store : departUsersStore, - forceSelection : false, - lazyInit : true, - triggerAction : 'all', - hideTrigger : false, - typeAhead : false, - allowBlank : true, - anchor : '96%', - listeners : { - render : function(c){ - c.getEl().on('keypress',function(e,thiz){ -// if(e.getKey() == 13){ -// var text = Ext4.getCmp('circuitNurse').getValue(); -// if (isValidBarcode(text)){ -// Ext4.getCmp('circuitNurse').setValue(""); -// UserTableManager.getUserObjByBarcode(text,function(responseText){ -// if(responseText != null && responseText != ""){ -// var userName = responseText.split(",")[0]; -// Ext4.getCmp('circuitNurse').setValue(userName); -// Ext4.getCmp('operationRoom').focus(); -// -// Ext4.getCmp("tempBarcode").focus(); -// -// }else{ -// showResult('找不到该条码所对应的人员信息'); -// } -// -// }); -// } -// else if (isValidStaffNumber(text)){ -// UserTableManager.getUserObjByName(text,function(responseText){ -// if(responseText != null && responseText != ""){ -// var userName = responseText.split(",")[0]; -// Ext4.getCmp('circuitNurse').setValue(userName); -// Ext4.getCmp('tempBarcode').focus(); -// }else{ -// showResult('找不到该工号对应的人员信息'); -// } -// }); -// } -// else{ -// Ext4.getCmp('tempBarcode').focus(); -// } -// } + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'combo', + fieldLabel: circuitNurseName, + id: 'circuitNurse', + name: 'circuitNurse', + queryParam: 'spell', + minChars: 0, + displayField: 'fullName', + store: departUsersStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: circuitNurseAllowBlank, + anchor: '96%', + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e, thiz) { + if (e.getKey() == 13) { + var circuitNurseBox = Ext4.getCmp('circuitNurse'); + var text = circuitNurseBox.getValue(); + getUserObjByBarcode(text, circuitNurseBox, '', function (userName) { + if (userName !== '') { + circuitNurseBox.setValue(userName); + Ext4.getCmp('operationRoom').focus(); + } + }) + } }); - c.getEl().on('dblclick',function(e,thiz){ + c.getEl().on('dblclick', function (e, thiz) { c.doQuery(c.allQuery, true); c.expand(); }); } } }] - },{ - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '科室', - id : 'depart', - name : 'depart', - disabled : true, - allowBlank : true, - anchor : '96%' + }, { + layout: 'form', + columnWidth: 0.33, + hidden: true, + items: [{ + xtype: 'textfield', + fieldLabel: '科室', + id: 'depart', + name: 'depart', + disabled: true, + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '手术间', - id : 'operationRoom', - name : 'operationRoom', - maxLength:10, - maxLengthText :'长度超过限制,不能保存!', - allowBlank : operationRoomAllowBlank, - anchor : '96%', - listeners:{ - render : function(c) { - c.getEl().on('keypress', function(e) { - if (e.getKey() == 13) {// + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: sstsConfig.onlySelectExistedOperationRoom ? 'combo' : 'textfield', + fieldLabel: operationRoomName, + id: 'operationRoom', + name: 'operationRoom', + maxLength: 10, + maxLengthText: '长度超过限制,不能保存!', + allowBlank: operationRoomAllowBlank, + anchor: '96%', + valueField: 'operationRoomName', + displayField: 'operationRoomName', + listConfig: { width: 193 }, + matchFieldWidth: false, + store: sstsConfig.onlySelectExistedOperationRoom ? operationRoomJsonStore : "", + lazyInit: true, + triggerAction: sstsConfig.onlySelectExistedOperationRoom ? 'all' : "", + hideTrigger: sstsConfig.onlySelectExistedOperationRoom ? false : true,//隐藏向下箭头 + typeAhead: false, + editable: sstsConfig.onlySelectExistedOperationRoom ? false : true, + forceSelection: sstsConfig.onlySelectExistedOperationRoom ? true : false, + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e) { + if (e.getKey() == 13) { Ext4.getCmp("hospitalNum").focus(); } }); } } }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '姓名', - maxLength : '100', - id : 'patientName', - name : 'patientName', - anchor : '96%' + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: patientNameSet, + maxLength: '100', + id: 'patientName', + name: 'patientName', + anchor: '96%', + allowBlank: patientNameAllowBlank, + listeners: { + blur: function () { + validPatientInfo(); + } + } }] }, { - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '年龄', - maxLength : '10', - id : 'patientAge', - name : 'patientAge', - //allowDecimals : false, - //allowNegative : false, - anchor : '96%' + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: patientAgeName, + maxLength: '10', + id: 'patientAge', + name: 'patientAge', + allowBlank: patientAgeAllowBlank, + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'combo', - fieldLabel : '性别', - valueField : 'value', - displayField : 'text', - id : 'patientSex', - name : 'patientSex', - mode : 'local', - triggerAction : 'all', - forceSelection : true, - editable : false, - store : sexStore, - anchor : '96%' + layout: 'form', + columnWidth: .33, + items: [{ + xtype: 'combo', + fieldLabel: patientSexName, + valueField: 'typeName', + displayField: 'typeName', + id: 'patientSex', + name: 'patientSex', + mode: 'local', + triggerAction: 'all', + forceSelection: true, + editable: false, + allowBlank: patientSexAllowBlank, + store: sexStore, + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - hidden : sstsConfig.hideRoomNumber, - items : [{ - xtype : 'textfield', - fieldLabel : '病室', - maxLength : '16', - id : 'roomNumber', - name : 'roomNumber', - anchor : '96%' + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'combo', + fieldLabel: patientAreaName, + valueField: 'patientArea', + displayField: 'patientArea', + id: 'patientArea', + name: 'patientArea', + mode: 'local', + listWidth: '200', + triggerAction: 'all', + forceSelection: false, + editable: true, + matchFieldWidth: false, + listConfig: { width: 200 }, + allowBlank: patientAreaAllowBlank, + store: patientAreaStore, + anchor: '96%' }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '床位', - maxLength : '16', - id : 'bedNumber', - name : 'bedNumber', - anchor : '96%' + }, { + columnWidth: .33, + layout: 'form', + items: [{ + xtype: 'hidden', + id: 'departNameOfpatientCode', + name: 'departNameOfpatientCode' + }, { + xtype: 'textfield', + fieldLabel: departNameOfpatientName, + maxLength: '16', + id: 'departNameOfpatient', + name: 'departNameOfpatient', + readOnly: true, + allowBlank: departNameOfpatientAllowBlank, + anchor: '96%' }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '身份证', - maxLength : '18', - id : 'patientIDCard', - name : 'patientIDCard', - allowDecimals : false, - allowNegative : false, - anchor : '96%' + }, { + layout: 'form', + columnWidth: 0.33, + hidden: sstsConfig.hideRoomNumber, + items: [{ + xtype: 'textfield', + fieldLabel: roomNumberName, + maxLength: '16', + id: 'roomNumber', + name: 'roomNumber', + allowBlank: roomNumberAllowBlank, + anchor: '96%' }] }, { - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'textfield', - fieldLabel : '医生', - maxLength : '16', - id : 'doctorName', - name : 'doctorName', - allowBlank : true, - anchor : '96%' + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: bedNumberName, + maxLength: '16', + id: 'bedNumber', + name: 'bedNumber', + allowBlank: bedNumberAllowBlank, + anchor: '96%' }] - },{ - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '手术单号', - maxLength : '16', - id : 'operationScheduleId', - name : 'operationScheduleId', - allowBlank : true, - anchor : '96%' + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: patientIDCardName, + maxLength: '19', + id: 'patientIDCard', + name: 'patientIDCard', + allowDecimals: false, + allowNegative: false, + allowBlank: patientIDCardAllowBlank, + anchor: '96%' }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'datefield', - fieldLabel : '手术时间', - id : 'operationTime', - name : 'operationTime', - altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', - format : 'Y-m-d H:i', - readOnly : true, - width : 150 - }] - },{ - layout : 'form', - columnWidth : 0.45, - items : [{ - xtype : 'numberfield', - fieldLabel : '住院次数', - minValue:0, - id : 'visitId', - name : 'visitId', - allowBlank : true, - anchor : '96%' - }] - },{ - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '录入人', - maxLength : '41', - id : 'operator', - name : 'operator', - readOnly : true, - allowBlank : true, - anchor : '96%', - cls : 'fieldReadOnlyNoRemove' - }] - },{ - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'datefield', - fieldLabel : '录入时间', - id : 'enteringTime', - name : 'enteringTime', - altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', - format : 'Y-m-d H:i', - readOnly : true - }] - },{ - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '审核人', - maxLength : '41', - id : 'reviewer', - name : 'reviewer', - readOnly : true, - allowBlank : true, - anchor : '96%', - cls : 'fieldReadOnlyNoRemove' - }] }, { - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '审核时间', - maxLength : '41', - id : 'reviewTime', - name : 'reviewTime', - readOnly : true, - anchor : '96%', - cls : 'fieldReadOnlyNoRemove' - }] - }, { - layout : 'form', - columnWidth : 0.45, - hidden:true, - items : [{ - xtype : 'textfield', - fieldLabel : '申请时间', - maxLength : '41', - id : 'applicationTime', - name : 'applicationTime', - readOnly : true, - anchor : '96%', - cls : 'fieldReadOnlyNoRemove' - }] - }, { - layout : 'form', - columnWidth : 0.9, - items : [{ - xtype : 'textfield', - fieldLabel : '备注', - id : 'remark', - name : 'remark', - anchor : '97%', - height : 25 + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: doctorNameSet, + maxLength: '16', + id: 'doctorName', + name: 'doctorName', + allowBlank: doctorNameAllowBlank, + anchor: '96%' }] + }, { + layout: 'form', + columnWidth: 0.33, + hidden: !sstsConfig.showSurgeonOfUseRecord, + items: [{ + xtype: 'textfield', + fieldLabel: surgeonName, + maxLength: '16', + id: 'surgeon', + name: 'surgeon', + allowBlank: surgeonAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.33, + hidden: !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains(anesthetistName)), + items: [{ + xtype: 'textfield', + fieldLabel: anesthetistName, + maxLength: '16', + id: 'anesthetist', + name: 'anesthetist', + allowBlank: anesthetistAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.33, + hidden: !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains(anesthesiaModeName)), + items: [{ + xtype: 'textfield', + fieldLabel: anesthesiaModeName, + maxLength: '16', + id: 'anesthesiaMode', + name: 'anesthesiaMode', + allowBlank: anesthesiaModeAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.66, + items: [{ + xtype: 'combo', + fieldLabel: operationName, + queryParam: 'spell', + minChars: 0, + valueField: 'operationName', + displayField: 'operationName', + store: operationNameStore, + forceSelection: false, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + allowBlank: operationNameAllowBlank, + editable: true, + name: "operation", + id: "operation", + anchor: '98%' + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: operationScheduleIdName, + maxLength: '16', + id: 'operationScheduleId', + name: 'operationScheduleId', + allowBlank: operationScheduleIdAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'datefield', + fieldLabel: operationTimeName, + id: 'operationTime', + name: 'operationTime', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + format: 'Y-m-d H:i', + allowBlank: operationTimeAllowBlank, + width: 150 + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'numberfield', + fieldLabel: visitIdName, + id: 'visitId', + name: 'visitId', + allowBlank: visitIdAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: '录入人', + maxLength: '41', + id: 'operator', + name: 'operator', + readOnly: true, + anchor: '96%', + cls: 'fieldReadOnlyNoRemove', + height: 26 + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'datefield', + fieldLabel: '录入时间', + id: 'enteringTime', + name: 'enteringTime', + altFormats: 'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + format: 'Y-m-d H:i', + width: 150 + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: '审核人', + maxLength: '41', + id: 'reviewer', + name: 'reviewer', + readOnly: true, + allowBlank: true, + anchor: '96%', + cls: 'fieldReadOnlyNoRemove' + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: '审核时间', + maxLength: '41', + id: 'reviewTime', + name: 'reviewTime', + readOnly: true, + anchor: '96%', + cls: 'fieldReadOnlyNoRemove' + }] + }, { + layout: 'form', + columnWidth: 0.33, + items: [{ + xtype: 'textfield', + fieldLabel: '申请时间', + maxLength: '41', + id: 'applicationTime', + name: 'applicationTime', + readOnly: true, + anchor: '96%', + cls: 'fieldReadOnlyNoRemove' + }] + }, { + layout: 'form', + columnWidth: .33, + items: [{ + xtype: 'hidden', + id: 'specialInfectionID', + name: 'specialInfectionID' + }, { + xtype: 'combo', + fieldLabel: specialInfectionName, + queryParam: 'spell', + minChars: 0, + valueField: 'name', + displayField: 'displayName', + store: specialInfectionStore, + forceSelection: true, + lazyInit: true, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: specialInfectionAllowBlank, + editable: true, + id: 'specialInfection', + name: 'specialInfection', + matchFieldWidth: false, + listConfig: { width: 200 }, + anchor: '98%', + listeners: { + render: function (p) { + p.getEl().on('keypress', function (e) { + if (e.getKey() == 13) {//回车键 + var value = Ext4.getCmp('specialInfection').getRawValue(); + Ext.Ajax.request({ + url: WWWROOT + '/disinfectSystem/baseData/specialInfectionAction!loadScanedSpecialInfection.do', + params: { + barcode: value + }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + var colorCode = result.data.colorCode; + var name = result.data.name; + var id = result.data.id; + Ext4.getCmp('specialInfectionID').setValue(id); + Ext4.getCmp('specialInfection').setRawValue(name); + Ext4.getCmp('specialInfection').el.dom.style.background = colorCode; + } else { + showResult(result.message); + } + } + }) + } + }); + }, + 'select': function (combo, records, eOpts) { + var colorCode = records[0].data.colorCode; + var name = records[0].data.name; + var id = records[0].data.id; + Ext4.getCmp('specialInfectionID').setValue(id); + combo.setRawValue(name); + combo.el.dom.getElementsByTagName("input")[0].style.background = colorCode; + }, + 'blur': function (combo) { + var value = Ext4.getCmp('specialInfection').getValue(); + var records; + for (var i = 0; i < specialInfectionStore.getCount(); i++) { + var name = specialInfectionStore.getAt(i).data.name; + if (value == name) { + records = specialInfectionStore.getAt(i); + break; + } + } + if (records) { + Ext4.getCmp('specialInfection').setRawValue(records.data.name); + return false + } else { + Ext4.getCmp('specialInfection').setRawValue(''); + Ext4.getCmp('specialInfection').el.dom.getElementsByTagName("input")[0].style.background = '#fff'; + } + } + } + }] + }, { + layout: 'form', + columnWidth: 0.33, + labelWidth: 120, + hidden: !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains(doctorAccountDepartName)), + items: [{ + xtype: 'hidden', + id: 'doctorAccountDepartCode', + name: 'doctorAccountDepartCode' + }, { + xtype: 'textfield', + fieldLabel: doctorAccountDepartName, + maxLength: '16', + id: 'doctorAccountDepart', + name: 'doctorAccountDepart', + readOnly: true, + allowBlank: doctorAccountDepartAllowBlank, + anchor: '96%' + }] + }, { + layout: 'form', + labelWidth: 70, + columnWidth: .33, + hidden: !(sstsConfig.enableUseRecordFormExtensionFields && sstsConfig.enableUseRecordFormExtensionFields.contains('手术状态')), + items: [{ + xtype: 'combo', + fieldLabel: '手术状态', + valueField: 'operationStatus', + displayField: 'operationStatus', + id: 'operationStatus', + name: 'operationStatus', + mode: 'local', + triggerAction: 'all', + forceSelection: true, + editable: true, + store: operationStatusStore, + anchor: '96%' + }] + }, { + layout: 'form', + columnWidth: 0.99, + items: [{ + xtype: 'textfield', + fieldLabel: remarkName, + id: 'remark', + name: 'remark', + anchor: '97%', + allowBlank: remarkAllowBlank, + height: 25 + }] }] - },{ - xtype : "fieldset", - title : "器械包信息", - layout : 'column', - autoHeight : true, - items : [new Ext4.grid.Panel({ - id : 'tousseInstanceGrid', - store : useItemsStore, -// selModel:Ext4.create('Ext4.selection.CheckboxModel'), - columns : tousseCm, - height : 600, - width:710, - autoHeight : true, - autoExpandColumn : 'delAction', - frame : false, + }, { + xtype: "fieldset", + title: "器械包信息", + layout: 'column', + autoHeight: true, + items: [new Ext4.grid.Panel({ + id: 'tousseInstanceGrid', + store: useItemsStore, + // selModel:Ext4.create('Ext4.selection.CheckboxModel'), + columns: tousseCm, + height: 600, + width: 710, + autoHeight: true, + autoExpandColumn: 'delAction', + frame: false, viewConfig: { - forceFit:true + forceFit: true }, - bodyStyle : 'border:1px solid #afd7af', -// selModel :sm, - tbar : [{ - xtype : 'textfield', - fieldLabel : '扫描条码', - id : 'tempBarcode', - name : 'tempBarcode', - width : 260, - anchor : '99%', - enableKeyEvents : true, - listeners : { - render : function(c) { - c.getEl().on('keypress', function(e) { + bodyStyle: 'border:1px solid #afd7af', + // selModel :sm, + tbar: [{ + xtype: 'textfield', + fieldLabel: '扫描条码', + id: 'tempBarcode', + name: 'tempBarcode', + width: 260, + anchor: '99%', + enableKeyEvents: true, + listeners: { + render: function (c) { + c.getEl().on('keypress', function (e) { if (e.getKey() == 13) {// scanedBarcode(Ext4.getCmp('tempBarcode').getValue()); Ext4.getCmp('tempBarcode').setValue(''); } }); } } - },{ - text : '已扫描数量:' }, { - xtype : 'textfield', - id : 'useAmount', - name : 'useAmount', - cls : 'fieldReadOnlyNoRemove', - width : 70, - value:0, - anchor : '99%' + text: '已扫描数量:' + }, { + xtype: 'textfield', + id: 'useAmount', + name: 'useAmount', + cls: 'fieldReadOnlyNoRemove', + width: 70, + value: 0, + anchor: '99%' }] })] }], - buttons: [{ - id:'saveBtn', - text: '保存', - hidden : (sstsConfig.useRecordAuditMode == 3), - handler: saveUseRecordForm - },{ - id:'saveAndReviewAndConvertBtn', - text: '保存并审核生成申请单', - hidden : (sstsConfig.useRecordAuditMode != 3), - handler: saveAndReviewAndConvertUseRecordForm - },{ - text: '清空物品', - handler:function(){ - useItemsStore.removeAll(); - Ext4.getCmp('useAmount').setValue(0); - useAmount = 0; - } - }] - }); + buttons: [{ + id: 'saveBtn', + text: '保存', + hidden: (sstsConfig.useRecordAuditMode == 3), + handler: saveUseRecordForm + }, { + id: 'saveAndReviewAndConvertBtn', + text: '保存并审核生成申请单', + hidden: (sstsConfig.useRecordAuditMode != 3), + handler: saveAndReviewAndConvertUseRecordForm + }, { + text: '清空物品', + handler: function () { + useItemsStore.removeAll(); + Ext4.getCmp('useAmount').setValue(0); + useAmount = 0; + } + }] + }); - formObj.render("formDiv"); - - function checkForSave(){ - var enteringTime = Ext4.getCmp('enteringTime').getValue(); - if (!formObj.isValid()) { - showResult('请正确填写表单各值'); - return false; - } - if(!sstsConfig.noInputTreatmentNumOrHospitalNum && Ext4.getCmp('treatmentNum').getValue() == '' && Ext4.getCmp('hospitalNum').getValue() == '' && Ext4.getCmp('patientName').getValue() == ''){ - showResult('请输入诊疗号或者住院号或者病人姓名'); - return false; - } - // 获取扫描的物品所有条码 - var barcodes = getTousseGridData(); - if (barcodes != "") { - return true; - }else{ - showResult('器械包列表信息不能为空'); - return false; - } - return false; + formObj.render("formDiv"); - } - - function buildJSONObjectFromAtts(atts){ - var obj = {}; - if(typeof(atts) == 'undefined'){ - return obj; - } - for(var i=0;i 0) { + showResult('请注意,以下外来器械包的病人信息与使用记录中的病人信息不一致:' + nameArr.join(",") + '!'); + } +} \ No newline at end of file Index: ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-acegi-security.xml =================================================================== diff -u -r35947 -r37077 --- ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 35947) +++ ssts-web/src/main/webapp/WEB-INF/spring/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 37077) @@ -67,9 +67,11 @@ + + - + Index: ssts-web/src/main/webapp/buttjoint/useRecord/useRecord.jsp =================================================================== diff -u -r33519 -r37077 --- ssts-web/src/main/webapp/buttjoint/useRecord/useRecord.jsp (.../useRecord.jsp) (revision 33519) +++ ssts-web/src/main/webapp/buttjoint/useRecord/useRecord.jsp (.../useRecord.jsp) (revision 37077) @@ -1,14 +1,15 @@ <%@page import="com.forgon.tools.string.StringTools"%> <%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/common/taglibs.jsp"%> +<%@page import="java.util.List"%> <%@ page import="com.forgon.tools.SpringBeanManger" %> +<%@page import="com.forgon.systemsetting.service.HttpOptionManager"%> <%@ page import="com.forgon.directory.acegi.tools.AcegiHelper" %> <%@ page import="com.forgon.disinfectsystem.common.CssdUtils" %> <%@ page import="com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance" %> <%@ page import="com.forgon.disinfectsystem.entity.useRecord.UseRecord" %> <% - //request.setAttribute("userName",AcegiHelper.getLoginUser().getUserName()); //访问页面时传过来的住院号 String hospitalNum = request.getParameter("hospitalNum"); //访问页面时传过来的诊疗号 @@ -20,7 +21,26 @@ if(StringTools.isBlank(departCode)){ departCode = ""; } + String userName = AcegiHelper.getLoginUser().getUserFullName(); + String currentOrgUnitName = AcegiHelper.getLoginUser().getCurrentOrgUnitName(); + String currentOrgUnitCode = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); + request.setAttribute("userName",userName); + request.setAttribute("currentOrgUnitName",currentOrgUnitName); + request.setAttribute("currentOrgUnitCode",currentOrgUnitCode); + + HttpOptionManager httpOptionManager = (HttpOptionManager)SpringBeanManger.getBean("httpOptionManager"); + List patientAreaList = httpOptionManager.getHttpOptionTextById("patientArea"); + String tem2 = "["; + if(patientAreaList!=null && patientAreaList.size() !=0){ + for(String patientArea : patientAreaList){ + tem2 += "{patientArea:'"+patientArea+"'},"; + } + tem2 = tem2.substring(0, tem2.length()-1); + } + tem2 += "]"; + request.setAttribute("patientAreaList", tem2); + String project = CssdUtils.getConfigProperty("project"); session.setAttribute("profile", project); @@ -32,11 +52,22 @@ + .x4-panel-body-default { + background: none !important; + border: 0 !important; + } + * { + font-size: 14px !important; + } + .x4-boundlist-item { + height: 22px; + } + @@ -72,6 +111,9 @@ + + + @@ -106,5 +148,7 @@ + + \ No newline at end of file