<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE html
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml"
|
xmlns:ui="http://java.sun.com/jsf/facelets"
|
xmlns:p="http://primefaces.org/ui"
|
xmlns:h="http://java.sun.com/jsf/html"
|
xmlns:f="http://java.sun.com/jsf/core"
|
xmlns:c="http://java.sun.com/jsp/jstl/core">
|
<head></head>
|
<ui:composition>
|
<h:form id="reagentMngForm">
|
<p:panel styleClass="center-header">
|
<p:outputLabel styleClass="title" value="试剂管理"></p:outputLabel>
|
|
<p:panelGrid styleClass="filter" columns="12">
|
<p:outputLabel value="名称:"></p:outputLabel>
|
<p:inputText value="#{reagentMngController.name}"></p:inputText>
|
<p:outputLabel value="CAS:"></p:outputLabel>
|
<p:inputText value="#{reagentMngController.cas}"></p:inputText>
|
<p:outputLabel value="供应商:"></p:outputLabel>
|
<p:selectOneMenu value="#{reagentMngController.supplierId}">
|
<f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem>
|
<f:selectItems value="#{reagentMngController.supplierSelectList}" var="item"
|
itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>
|
<p:outputLabel value="种类:"></p:outputLabel>
|
<p:selectOneMenu value="#{reagentMngController.type}">
|
<f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem>
|
<f:selectItems value="#{reagentMngController.typeList}" var="item"
|
itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems>
|
</p:selectOneMenu>
|
|
<p:outputLabel value="产品编号:"></p:outputLabel>
|
<p:inputText value="#{reagentMngController.productSn}"></p:inputText>
|
|
<p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
|
</p:panelGrid>
|
</p:panel>
|
<p:panel styleClass="center-body">
|
<p:panelGrid columns="9" styleClass="btn">
|
<p:commandButton value="新建" styleClass="new-btn"
|
process="@this"
|
actionListener="#{reagentMngController.onNewBtnClick}"
|
oncomplete="PF('dialog').show();"
|
update=":dialog,:dialogForm"></p:commandButton>
|
<p:commandButton value="修改" styleClass="edit-btn"
|
process="@form"
|
actionListener="#{reagentMngController.onEditBtnClick}"
|
update=":dialog,:dialogForm"></p:commandButton>
|
<p:commandButton value="删除" styleClass="del-btn"
|
process="@form"
|
actionListener="#{reagentMngController.onDeleteBtnClick}"
|
update="@form">
|
<p:confirm header="确认" message="确认操作?"></p:confirm>
|
</p:commandButton>
|
<p:commandButton value="安全库存" styleClass="del-btn"
|
process="@form"
|
actionListener="#{reagentMngController.openUpdateSafetyNumDialog}"
|
update=":dialogForm-safetynum">
|
</p:commandButton>
|
<p:commandButton value="试剂导入" styleClass="import-btn" onclick="importReagent()"
|
></p:commandButton>
|
<a href="resources/template/试剂导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a>
|
<p:commandButton value="耗材导入" styleClass="import-btn" onclick="importReagent2()"
|
></p:commandButton>
|
<a href="resources/template/耗材导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a>
|
<p:commandButton value="导出" styleClass="new-btn" ajax="false" id="exportButton" widgetVar="exportButton"
|
actionListener="#{reagentMngController.export2Excel}" />
|
<script type="text/javascript">
|
function importReagent(){
|
$("#reagentMngForm\\:importReagentBtn_input").click();
|
}
|
function importReagent2(){
|
$("#reagentMngForm\\:importReagentBtn2_input").click();
|
}
|
function firebutton(name){
|
var c = $("#"+name)[0].childNodes;
|
for(var i=0; i<c.length; i++){
|
if(c[i].tagName=="BUTTON"){
|
c[i].click();
|
break;
|
}
|
}
|
}
|
</script>
|
</p:panelGrid>
|
|
<p:dataTable id="reagentMngDataTable" styleClass="data-table"
|
paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
|
lazy="true" value="#{reagentMngController.dataModel}" var="row" rowKey="#{row.id}"
|
emptyMessage="无数据" selection="#{reagentMngController.selectedList}"
|
rows="20" pageLinks="5">
|
<p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>
|
<p:column headerText="种类">
|
<h:outputText value="耗材" rendered="#{row.type==0}"></h:outputText>
|
<h:outputText value="试剂" rendered="#{row.type==1}"></h:outputText>
|
</p:column>
|
<p:column headerText="名称">
|
<h:outputText value="#{row.name}"></h:outputText>
|
</p:column>
|
<p:column headerText="产品编号">
|
<h:outputText value="#{row.productSn}"></h:outputText>
|
</p:column>
|
<p:column headerText="CAS">
|
<h:outputText value="#{row.cas}"></h:outputText>
|
</p:column>
|
<!--<p:column headerText="产品编号">
|
<h:outputText value="#{row.productSn}"></h:outputText>
|
</p:column>-->
|
<p:column headerText="试剂类型">
|
<h:outputText value="#{row.reagentType}"></h:outputText>
|
</p:column>
|
<p:column headerText="危险性质">
|
<h:outputText value="#{row.reagentCharacter}"></h:outputText>
|
</p:column>
|
<p:column headerText="供应商">
|
<h:outputText value="#{row.supplierName}"></h:outputText>
|
</p:column>
|
<p:column headerText="厂家">
|
<h:outputText value="#{row.productHome}"></h:outputText>
|
</p:column>
|
<p:column headerText="规格">
|
<h:outputText value="#{row.reagentFormat}"></h:outputText>
|
</p:column>
|
<p:column headerText="包装">
|
<h:outputText value="#{''.concat(row.mainMetering).concat(row.reagentUnit)}"></h:outputText>
|
</p:column>
|
<p:column headerText="含税售价">
|
<h:outputText value="#{row.price}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="密度g/ml" rendered="#{reagentMngController.type == 1}">
|
<h:outputText value="#{row.density}" decimalPlaces="4" minValue="0" maxlength="6" ></h:outputText>
|
</p:column>
|
<p:column headerText="每箱数量">
|
<h:outputText value="#{row.perBox}"></h:outputText>
|
</p:column>
|
<p:column headerText="安全库存" rendered="#{reagentMngController.type == 1}">
|
<h:outputText value="#{row.safetynum}" ></h:outputText>
|
</p:column>
|
<p:column headerText="管制品" rendered="#{reagentMngController.type == 1}">
|
<h:outputText value="#{row.controlProducts}" ></h:outputText>
|
</p:column>
|
<!-- <p:column headerText="库存">-->
|
<!-- <h:outputText value="#{row.reserve}"></h:outputText>-->
|
<!-- </p:column>-->
|
<!-- <p:column headerText="货期">-->
|
<!-- <h:outputText value="#{row.deadline}"></h:outputText>-->
|
<!-- </p:column>-->
|
</p:dataTable>
|
</p:panel>
|
<div style="display: none" id='importDv'>
|
<p:fileUpload fileUploadListener="#{reagentMngController.uploadFile}"
|
dragDropSupport="false" id="importReagentBtn" label="导入"
|
update="@form" auto="true" sizeLimit="5000000"
|
mode="advanced"/>
|
</div>
|
<div style="display: none" id='importDv2'>
|
<p:fileUpload fileUploadListener="#{reagentMngController.uploadFile2}"
|
dragDropSupport="false" id="importReagentBtn2" label="导入"
|
update="@form" auto="true" sizeLimit="5000000"
|
mode="advanced"/>
|
</div>
|
|
</h:form>
|
|
<p:dialog modal="true" header="#{reagentMngController.action==constants.ACTION_ADD?'新建':'修改'}" appendTo="@(body)"
|
id="dialog" widgetVar="dialog"
|
resizable="false" width="1000">
|
<h:outputScript>
|
window.onload=function(){
|
var test = document.getElementById("dialogForm:j_idt182");
|
if(test!=null){
|
alert(test.innerHTML);
|
}
|
}
|
|
</h:outputScript>
|
<h:form id="dialogForm">
|
<p:panelGrid styleClass="content2 grid-padding-bottom2">
|
<p:row>
|
<p:column>
|
<p:outputLabel value="试剂名称"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.name}" maxlength="100"
|
required="true" requiredMessage="请输入试剂名称"></p:inputText>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="CAS"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.cas}" maxlength="100"
|
required="true" requiredMessage="请输入CAS" onkeyup="this.value=this.value.replace(/\s/g,'')"></p:inputText>
|
</p:column>
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="产品编号"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.productSn}" maxlength="100"
|
required="true" requiredMessage="请输入产品编号"></p:inputText>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="试剂类型"></p:outputLabel>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentType}"
|
required="true" requiredMessage="请选择试剂类型">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_REAGENT_TYPE)}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
</p:column>
|
<p:column>
|
<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentType}" required="true" requiredMessage="请选择试剂类型">
|
<f:selectItems value="#{reagentMngController.reagentTypeFlagList}"
|
var="item" itemLabel="#{item.value}" itemValue="#{item.value}"></f:selectItems>
|
</p:selectOneMenu>
|
</p:column>
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="危险性质"></p:outputLabel>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentCharacter}"
|
required="true" requiredMessage="请选择危险性质">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_REAGENT_CHARACTER)}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.reagentCharacter}" maxlength="100"
|
required="true" requiredMessage="请输入危险性质"></p:inputText>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="厂家"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.productHome}" maxlength="100"
|
required="true" requiredMessage="请输入厂家"></p:inputText>
|
</p:column>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.productHome}"
|
required="true" requiredMessage="请选择厂家">
|
|
<f:selectItems value="#{reagentMngController.products}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="供应商"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:autoComplete id="supplier" value="#{reagentMngController.sysReagent.supplierId}" completeMethod="#{reagentMngController.getSuppliers}"
|
required="true" requiredMessage="请输入供应商" forceSelection="true"
|
var="item"
|
dropdown="true"
|
styleClass="apply-user-autocomplete"
|
itemLabel="#{!empty reagentMngController.sysReagent.supplierId ?sysSupplierService.getSysSupplier(reagentMngController.sysReagent.supplierId).getName() : item.name}"
|
itemValue="#{item.id}">
|
<p:ajax event="itemSelect" process="@this" update="@this" />
|
<!--<p:column>
|
<h:outputText value="#{item.metaKey}" />
|
</p:column>-->
|
<p:column>
|
<h:outputText value="#{item.name}" />
|
</p:column>
|
|
</p:autoComplete>
|
</p:column>
|
<p:column>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.supplierId}"
|
required="true" requiredMessage="请选择供应商">
|
<f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem>
|
<f:selectItems value="#{reagentMngController.supplierSelectList}"
|
var="item" itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
|
|
<p:outputLabel value="规格"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.reagentFormat}" maxlength="100"
|
required="true" requiredMessage="请输入规格"></p:inputText>
|
</p:column>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentFormat}"
|
required="true" requiredMessage="请选择规格">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_REAGENT_FORMAT)}"
|
var="item" itemLabel="#{item.metaValue}" itemLabelEscaped="true" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
|
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="包装"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.mainMetering}"
|
decimalPlaces="2" minValue="0" maxlength="10"
|
required="true" requiredMessage="请输入包装"></p:inputNumber>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="主计单位"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.reagentUnit}" maxlength="100"
|
required="true" requiredMessage="请输入主计单位"></p:inputText>
|
</p:column>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentUnit}"
|
required="true" requiredMessage="请选择主计单位">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_REAGENT_UNIT)}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="含税售价"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.price}"
|
decimalPlaces="4" minValue="0" maxlength="10"
|
required="true" requiredMessage="请输入含税售价"></p:inputNumber>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="每箱数量"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.perBox}"
|
decimalPlaces="0" minValue="0" maxlength="11"
|
required="true" requiredMessage="请输入每箱数量"></p:inputNumber>
|
</p:column>
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="备注"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputTextarea autoResize="false" style="height: 80px"
|
value="#{reagentMngController.sysReagent.memo}"
|
maxlength="200"></p:inputTextarea>
|
</p:column>
|
<p:column>
|
<p:outputLabel value="货期"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.deadline}"
|
decimalPlaces="0" minValue="0" maxlength="9"
|
></p:inputNumber>
|
</p:column>
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="危险品标识"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:selectOneMenu value="#{reagentMngController.sysReagent.dangerousFlag}"
|
required="true" requiredMessage="请选择危险品标识">
|
<f:converter converterId="dangerousFlagConvert"></f:converter>
|
<f:selectItems value="#{reagentMngController.dangerousFlagSelectList}"
|
var="item" itemLabel="#{item.value}" itemValue="#{item}"></f:selectItems>
|
</p:selectOneMenu>
|
</p:column>
|
<p:column>
|
|
<p:outputLabel value="管制品"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:selectOneMenu value="#{reagentMngController.sysReagent.controlProducts}" requiredMessage="请选择管制品">
|
<f:selectItem itemLabel="请选择管制品" itemValue="#{null}" noSelectionOption="true" ></f:selectItem>
|
<f:selectItem itemLabel="易制毒" itemValue="易制毒" ></f:selectItem>
|
<f:selectItem itemLabel="易制爆" itemValue="易制爆" ></f:selectItem>
|
<f:selectItem itemLabel="剧毒" itemValue="剧毒" ></f:selectItem>
|
</p:selectOneMenu>
|
</p:column>
|
<!--<p:selectOneMenu value="#{reagentMngController.sysReagent.controlProducts}"
|
required="true" requiredMessage="请选择是否是管制品">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_CONTROL_PRODUCTS)}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
</p:row>
|
|
<p:row rendered="#{reagentMngController.action == constants.ACTION_ADD or reagentMngController.sysReagent.type == 1}">
|
<p:column>
|
<p:outputLabel value="密度g/ml"/>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.density}"
|
decimalPlaces="4" minValue="0" maxlength="6"
|
/>
|
</p:column>
|
</p:row>
|
<!--<p:row>
|
<p:column>
|
<p:outputLabel value="种类"></p:outputLabel>
|
</p:column>
|
<p:column>
|
<p:selectOneMenu value="#{reagentMngController.sysReagent.type}"
|
required="true">
|
<f:converter converterId="dangerousFlagConvert"></f:converter>
|
<f:selectItems value="#{reagentMngController.typeList}"
|
var="item" itemLabel="#{item.text}" itemValue="#{item.key}"></f:selectItems>
|
</p:selectOneMenu>
|
</p:column>
|
</p:row>-->
|
</p:panelGrid>
|
<p:panel styleClass="btn">
|
<p:commandButton value="保存" actionListener="#{reagentMngController.onSaveBtnClick}"
|
process="@form" update=":reagentMngForm:reagentMngDataTable">
|
<p:confirm header="确认" message="确认操作?"></p:confirm>
|
</p:commandButton>
|
</p:panel>
|
</h:form>
|
</p:dialog>
|
|
<p:dialog modal="true" header="设置安全库存" appendTo="@(body)"
|
id="dialog-setSafetynum" widgetVar="dialog-setSafetynum"
|
resizable="false" width="1000">
|
<h:form id="dialogForm-safetynum">
|
<p:panelGrid styleClass="content2 grid-padding-bottom2">
|
<p:row>
|
<p:column>
|
<p:outputLabel value="试剂名称"/>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.name}"
|
maxlength="100"
|
disabled="true" />
|
</p:column>
|
<p:column>
|
<p:outputLabel value="CAS"/>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.cas}"
|
maxlength="100"
|
disabled="true"/>
|
</p:column>
|
</p:row>
|
<p:row>
|
<p:column>
|
<p:outputLabel value="产品编号"/>
|
</p:column>
|
<p:column>
|
<p:inputText value="#{reagentMngController.sysReagent.productSn}"
|
maxlength="100"
|
disabled="true"/>
|
|
</p:column>
|
|
<p:column>
|
<p:outputLabel value="安全库存"/>
|
</p:column>
|
<p:column>
|
<p:inputNumber value="#{reagentMngController.sysReagent.safetynum}"
|
minValue="0"
|
decimalPlaces="0"
|
maxlength="100"/>
|
|
</p:column>
|
</p:row>
|
</p:panelGrid>
|
<p:panel styleClass="btn">
|
<p:commandButton value="保存" actionListener="#{reagentMngController.updateSafetyNum}"
|
process="@form" update=":reagentMngForm:reagentMngDataTable">
|
<p:confirm header="确认" message="确认操作?"/>
|
</p:commandButton>
|
</p:panel>
|
</h:form>
|
</p:dialog>
|
|
|
</ui:composition>
|
</html>
|