<?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="warehouseReagentUseForm">
|
<p:panel styleClass="center-header">
|
<p:outputLabel styleClass="title" value="仓库库存管理 > 领用"></p:outputLabel>
|
</p:panel>
|
|
<p:panel styleClass="center-body">
|
<p:panel styleClass="apply-mng-new-body">
|
<p:panelGrid styleClass="info grid-padding-bottom2" columns="10">
|
<p:outputLabel value="申领人:"></p:outputLabel>
|
|
<p:autoComplete value="#{warehouseStockMngController.userId}" completeMethod="#{warehouseStockMngController.getUserSelectList}"
|
var="item"
|
dropdown="true"
|
styleClass="apply-user-autocomplete"
|
itemLabel="#{!empty warehouseStockMngController.userId ?warehouseStockMngController.getSelectedUserById(warehouseStockMngController.userId).name : ' '}"
|
itemValue="#{item.id}" forceSelection="true">
|
<p:ajax event="itemSelect" listener="#{warehouseStockMngController.resetLaboratory()}" process="@this" update="@this,experments,stacks" />
|
<p:column>
|
<h:outputText value="#{item.name}" />
|
</p:column>
|
</p:autoComplete>
|
|
<!-- <p:outputLabel value="课题名称:"></p:outputLabel>
|
<p:selectOneMenu value="#{warehouseStockMngController.projectNum}"
|
required="true" requiredMessage="请选择课题名称">
|
<f:selectItems value="#{baseMetaService.getBaseMetaList(constants.BASE_META_GROUP_PROJECT_NUM)}"
|
var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>-->
|
<p:outputLabel value="实验室:" style="margin-left: 20px"></p:outputLabel>
|
<p:selectOneMenu value="#{warehouseStockMngController.laboratoryId}"
|
id="experments">
|
<f:selectItems value="#{warehouseStockMngController.laboratory}"
|
var="item" itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems>
|
<f:ajax listener="#{warehouseStockMngController.resetLaboratoryContainers}" render="stacks"/>
|
</p:selectOneMenu>
|
<p:outputLabel value="实验室试剂柜:"></p:outputLabel>
|
<p:selectOneMenu value="#{warehouseStockMngController.laboratoryContainerId}" id="stacks"
|
>
|
<f:selectItems value="#{warehouseStockMngController.laboratoryContainers}"
|
var="item" itemLabel="#{item.name}" itemValue="#{item.id}"></f:selectItems>
|
</p:selectOneMenu>
|
</p:panelGrid>
|
|
<p:panel styleClass="btn">
|
<p:commandButton value="返回" process="@this" id="back" update=":centerRootPanel"
|
actionListener="#{warehouseStockMngController.onCancelBtnClick}"
|
styleClass="cancel-btn"></p:commandButton>
|
<p:commandButton value="关闭" process="@this" id="close" update=":centerRootPanel" style="display: none"
|
actionListener="#{warehouseStockMngController.onClose}"
|
styleClass="cancel-btn"></p:commandButton>
|
<p:commandButton value="重置" process="@this" update="@form"
|
actionListener="#{warehouseStockMngController.onResetBtnClick}"
|
styleClass="reset-btn"></p:commandButton>
|
<p:commandButton value="保存" process="@form" update=":centerRootPanel"
|
actionListener="#{warehouseStockMngController.onSaveBtnClick}"
|
styleClass="save-btn">
|
<p:confirm header="确认" message="确认操作?"></p:confirm>
|
</p:commandButton>
|
<script type="text/javascript" src="resources/js/print.js"/>
|
<script type="text/javascript">
|
|
$(function () {
|
$("#print").on("click", function () {
|
jQuery.print('#printTarget')
|
});
|
|
$("#cancel").on("click", function () {
|
PF('printDialog').hide();
|
$("#warehouseReagentUseForm\\:close").click();
|
})
|
|
|
|
|
});
|
var num = 0;
|
function selectFunc(num) {
|
if(num % 2 === 0){
|
$.each($("input[id*=reagentCodeGrid]"), function (index, item) {
|
item.checked = true;
|
$(this).parent().next().removeClass("ui-state-active").addClass("ui-state-active")
|
.children("span").removeClass("ui-icon-blank").addClass("ui-icon-check")
|
});
|
}else{
|
$.each($("input[id*=reagentCodeGrid]"), function (index, item) {
|
item.checked = false;
|
$(this).parent().next().removeClass("ui-state-active")
|
.children("span").removeClass("ui-icon-check").addClass("ui-icon-blank")
|
});
|
}
|
|
}
|
|
function allSelected() {
|
selectFunc(num);
|
num++;
|
changeCount();
|
}
|
|
function acquire(){
|
var all = $("input[id*=reagentCodeGrid]");
|
//取消全选
|
selectFunc(1);
|
var number = $("#num").val();
|
if (number === "" || number> all.size()){
|
alert("输入不合法");
|
}
|
//选中前面几个
|
for (var i = 0;i < number;i++){
|
all.eq(i)['0'].checked = true;
|
all.eq(i).parent().next().removeClass("ui-state-active").addClass("ui-state-active")
|
.children("span").removeClass("ui-icon-blank").addClass("ui-icon-check")
|
}
|
}
|
|
function changeCount() {
|
$("#num").val($("#reagentCodeDialog td div[class*=ui-state-active]").size());
|
}
|
|
function change(element) {
|
var selected = element.checked;
|
var num = 0;
|
$.each($("input[id*=reagentCodeGrid]"),function (index, item) {
|
if (item.checked){
|
num++;
|
}
|
})
|
$("#num").val(num);
|
}
|
|
</script>
|
<style media="print" type="text/css">
|
@page /* 实现代码 */
|
{
|
size: auto; /* auto is the initial value */
|
/* this affects the margin in the printer settings */
|
margin:auto;
|
}
|
|
</style>
|
</p:panel>
|
</p:panel>
|
|
|
<p:dataTable id="warehouseReagentUseDataTable" styleClass="data-table"
|
paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
|
lazy="true" value="#{warehouseStockMngController.selectedTmpList}" var="row"
|
rowKey="#{row.id}" emptyMessage="无数据">
|
<p:column headerText="试剂名称">
|
<h:outputText value="#{row.reagent.name}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="CAS">
|
<h:outputText value="#{row.reagent.cas}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="供应商">
|
<h:outputText value="#{row.reagent.supplierName}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="规格">
|
<h:outputText
|
value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentFormat)}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="包装">
|
<h:outputText
|
value="#{''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="批号">
|
<h:outputText value="#{row.articleNumber}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="库存">
|
<h:outputText value="#{row.reserve}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="领用数量">
|
<h:outputText value="#{row.selectNum!=null?row.selectNum:0}"></h:outputText>
|
</p:column>
|
|
<p:column headerText="条形码">
|
<p:commandButton value="操作" styleClass="edit-btn" process="@form"
|
actionListener="#{warehouseStockMngController.onReagentCodeBtnClick(row)}"
|
update=":reagentCodeDialog">
|
</p:commandButton>
|
</p:column>
|
</p:dataTable>
|
</p:panel>
|
</h:form>
|
|
|
<p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false">
|
<div id="printTarget" style="margin-right: -51px;">
|
<div style="margin: 25mm 17mm 0mm 15mm;">
|
<h:form id="printDialog" style="width: 1100px">
|
|
<p:outputPanel style="text-align: center;font-size: 17px;font-weight: 700;">#{warehouseStockMngController.printTable['head']}</p:outputPanel>
|
<p:outputPanel style="text-align: center;font-size: 16px;margin: 20px;font-weight: 700;">#{warehouseStockMngController.printTable['title']}</p:outputPanel>
|
<div>
|
<div style="display: flex;flex-direction: row;justify-content: flex-end;width: 1081px;">
|
<div style="width: 98px;">单据编号:</div>
|
<div style="width:183px;">
|
<!-- <input style="border: 0;" value="#{warehouseStockMngController.printTable['receiptNumber']}"/>-->
|
<p:inputText value="#{warehouseStockMngController.receiptNumber}" valueChangeListener="#{warehouseStockMngController.receiptNumberChange}">
|
<p:ajax event="valueChange" listener="#{warehouseStockMngController.receiptNumberChange()}" />
|
</p:inputText>
|
</div>
|
</div>
|
</div>
|
|
<div style="margin: 10px 0;">
|
<div style="display: inline-flex;">
|
<div style="width: 100px;margin-left: 10px;">部门:</div>
|
<div style="width: 300px;">#{warehouseStockMngController.printTable['department']}</div>
|
</div>
|
<div style="display: inline-flex;">
|
<div style="width: 100px;">申购人:</div>
|
<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
|
</div>
|
<div style="display: inline-flex;float: right;">
|
<div style="width: 100px;">日期:</div>
|
<div style="width: 200px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
|
</div>
|
</div>
|
|
<div style="margin-bottom: 10px;">
|
<div style="display: inline-flex;">
|
<div style="width: 100px;margin-left: 10px;">课题组</div>
|
<div style="width: 300px;">#{warehouseStockMngController.printTable['project']}</div>
|
</div>
|
<div style="display: inline-flex;">
|
<div style="width: 100px;">使用地点:</div>
|
<div style="width: 200px;padding-top: 1px;">#{warehouseStockMngController.printTable['lab']}</div>
|
</div>
|
<div style="display: inline-flex;float: right;">
|
<div style="width: 100px;">联系方式:</div>
|
<div style="width: 200px;">
|
<input style="border: 0;" value="#{warehouseStockMngController.printTable['phone']}"/></div>
|
</div>
|
</div>
|
|
<div style="margin-bottom: 20px;">
|
<div style="display: inline-flex;">
|
<div style="width: 100px;margin-left: 10px;">备注</div>
|
<div style="">
|
<p:inputText value="#{warehouseStockMngController.note}" style="width: 950px;">
|
<p:ajax event="valueChange" />
|
</p:inputText></div>
|
</div>
|
</div>
|
|
|
|
<p:dataTable id="printTB" styleClass="apply-list"
|
value="#{warehouseStockMngController.printTable['applyList']}" var="row" >
|
<p:column headerText="产品编号" width="150px;" style="text-align: center;">
|
<h:outputText value="#{row.productCode}" />
|
</p:column>
|
<p:column headerText="产品名称" width="150px;" style="text-align: center;">
|
<h:outputText value="#{row.productName}" />
|
</p:column>
|
|
<p:column headerText="管制品" width="100px;" style="text-align: center;">
|
<h:outputText value="#{row.controlProducts}" />
|
</p:column>
|
|
<p:column headerText="规格型号" width="160px;" style="text-align: center;">
|
<h:outputText value="#{row.reagentFormat}" />
|
</p:column>
|
|
<p:column headerText="包装" width="90px;" style="text-align: center;">
|
<h:outputText value="#{row.mainMetering==null?'':row.mainMetering.replace('null','')}" />
|
</p:column>
|
|
<p:column headerText="数量" width="90px;" style="text-align: center;">
|
<h:outputText value="#{row.num}" />
|
</p:column>
|
|
<p:column headerText="备注" width="170px;" style="text-align: center;">
|
<h:outputText value="#{row.memo}" />
|
</p:column>
|
</p:dataTable>
|
|
|
<div style="display: flex;flex-direction: row;justify-content: space-between;margin-top:20px; ">
|
<div style="margin-left: 94px;">
|
<div style="display: flex;flex-direction: row;justify-content: flex-end;">
|
<div style="width: 100px">出库人:</div>
|
<div style="width: 100px"></div>
|
</div>
|
<div style="display: flex;flex-direction: row;justify-content: flex-end;margin-top:10px; ">
|
<div style="width: 100px">日期:</div>
|
<div style="width: 100px"></div>
|
</div>
|
|
</div>
|
<div style="margin-right: 94px;">
|
<div style="display: flex;flex-direction: row;justify-content: flex-end;">
|
<div style="width: 100px">签收人:</div>
|
<div style="width: 100px"></div>
|
</div>
|
<div style="display: flex;flex-direction: row;justify-content: flex-end;margin-top:10px;">
|
<div style="width: 100px">日期:</div>
|
<div style="width: 100px"></div>
|
</div>
|
|
</div>
|
</div>
|
|
|
<p:panel styleClass="btn no-print">
|
<p:commandButton value="关闭"
|
process="@this"
|
styleClass="yes-btn"
|
actionListener="#{warehouseStockMngController.closeDialog2}"
|
style="position: relative;left: 20px;"
|
update=":centerRootPanel"
|
oncomplete="PF('printDialog').hide()">
|
</p:commandButton>
|
<div style="display: none" id="indirectPrint"></div>
|
<p:commandButton value="打印"
|
styleClass="yes-btn"
|
actionListener="#{warehouseStockMngController.associatedFlowReceiptNumber2()}"
|
style="position: relative;left: 20px;"
|
>
|
</p:commandButton>
|
|
<script type="text/javascript" src="resources/js/print.js"/>
|
<script type="text/javascript">
|
$(function () {
|
$("#indirectPrint").on("click", function () {
|
jQuery.print('#printTarget')
|
})
|
})
|
|
|
</script>
|
</p:panel>
|
</h:form>
|
</div>
|
</div>
|
</p:dialog>
|
<p:dialog modal="true" header="领用详情" appendTo="@(body)" id="reagentCodeDialog"
|
widgetVar="reagentCodeDialog" resizable="false" width="800" class="ui-dialog">
|
|
<p:tabView dynamic="true" style="margin-left: 26px">
|
<p:tab title="补贴条码">
|
<h:form id="reagentCodeDialogForm2">
|
<!--<p:panel styleClass="center-header content2">-->
|
<p:panelGrid styleClass="center-header content2">
|
<p:row>
|
<p:column><p:outputLabel value="领用数量:"></p:outputLabel></p:column>
|
<p:column><p:inputNumber value="#{warehouseStockMngController.useNum}"
|
minValue="0" decimalPlaces="0"
|
required="true" requiredMessage="请输入领用数量" id="useNum">
|
<p:ajax event="change" listener="#{warehouseStockMngController.handleEvent2}" update="endReagentCode"/>
|
</p:inputNumber></p:column>
|
<!-- <p:column><p:outputLabel value="条码情况" /></p:column>-->
|
<!-- <p:column><p:selectOneMenu id="advanced" panelStyle="width:180px"-->
|
<!-- effect="fade" style="width:160px" filter="true" filterMatchMode="startsWith">-->
|
<!-- <f:selectItems value="#{warehouseStockMngController.showCodes}" var="code" itemValue="#{code}" />-->
|
|
|
<!-- <p:column>-->
|
<!-- <f:facet name="header">-->
|
<!-- <h:outputText value="Name"/>-->
|
<!-- </f:facet>-->
|
<!-- </p:column>-->
|
|
<!-- <f:facet name="footer">-->
|
<!-- <p:separator />-->
|
<!-- <h:outputText value="#{warehouseStockMngController.showCodes.size()} themes" style="font-weight:bold;"/>-->
|
<!-- </f:facet>-->
|
<!-- </p:selectOneMenu>-->
|
<!-- </p:column>-->
|
</p:row>
|
<p:row>
|
<p:column><p:outputLabel value="条形码开始">
|
</p:outputLabel></p:column>
|
<p:column>
|
<p:inputText id="startReagentCode" value="#{warehouseStockMngController.startReagentCode}" maxlength="32" required="true" requiredMessage="请输入条形码开始">
|
<p:ajax event="change" listener="#{warehouseStockMngController.handleEvent2}" update="endReagentCode"/>
|
</p:inputText>
|
</p:column>
|
<p:column><p:outputLabel value="条形码结束"></p:outputLabel></p:column>
|
<p:column><p:inputText id="endReagentCode" value="#{warehouseStockMngController.endReagentCode}" maxlength="32" required="true" requiredMessage="请输入条形码结束"/></p:column>
|
</p:row>
|
</p:panelGrid>
|
<!--</p:panel>-->
|
<p:panel styleClass="btn" style="text-align: right">
|
<p:commandButton value="确定"
|
actionListener="#{warehouseStockMngController.onYesBtnClick2}"
|
process="@form"
|
update=":warehouseReagentUseForm:warehouseReagentUseDataTable"
|
styleClass="yes-btn">
|
</p:commandButton>
|
</p:panel>
|
</h:form>
|
</p:tab>
|
<p:tab title="库中领取">
|
<h:form id="reagentCodeDialogForm">
|
<p:panel styleClass="center-header content2">
|
<p:panelGrid styleClass="filter" columns="6">
|
<label>领用数量:
|
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
|
type="text" value="请输入数量" id="num" />
|
</label>
|
<div id="acquire" onclick="acquire()" class="ac-btn">领用</div>
|
<!--<p:outputLabel value="条形码:"></p:outputLabel>
|
<p:inputText value="#{warehouseStockMngController.reagentCode}"></p:inputText>
|
|
<p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>-->
|
<div id="allSelect" onclick="allSelected()" class="ac-btn">全选</div>
|
</p:panelGrid>
|
</p:panel>
|
<p:panel styleClass="center-body" style="margin-top:20px!important;max-height: 200px;overflow-y: auto;">
|
<p:selectManyCheckbox id="reagentCodeGrid"
|
value="#{warehouseStockMngController.reagentCodeSelectedList}"
|
layout="grid" columns="4" onchange="change(this)">
|
<f:selectItems
|
value="#{warehouseStockMngController.reagentStatusSelectList}" var="item"
|
itemLabel="#{item.reagentCode}" itemValue="#{item.id}" />
|
</p:selectManyCheckbox>
|
</p:panel>
|
|
<p:panel styleClass="btn" style="text-align: right">
|
<p:commandButton value="确定"
|
actionListener="#{warehouseStockMngController.onYesBtnClick}"
|
process="@form"
|
update=":warehouseReagentUseForm:warehouseReagentUseDataTable"
|
styleClass="yes-btn">
|
</p:commandButton>
|
</p:panel>
|
</h:form>
|
</p:tab>
|
|
</p:tabView>
|
|
</p:dialog>
|
</ui:composition>
|
|
|
|
|
</html>
|