src/main/webapp/reagent_user_flow_info.xhtml
@@ -9,12 +9,21 @@
   xmlns:c="http://java.sun.com/jsp/jstl/core">
<head></head>
<ui:composition>
   <h:form id="reagentUseFlowInfoForm">
      <p:panel styleClass="center-header">
         <p:outputLabel styleClass="title" value="试剂流向追踪"></p:outputLabel>
         <p:panel styleClass="center-header">
            <p:panelGrid styleClass="filter" columns="11">
            <p:panelGrid styleClass="filter" columns="16">
               <style type="text/css">
                  .ui-selectonemenu.ui-widget.ui-state-default.ui-corner-all{
                     min-width: 60px !important;
                  }
                  .ui-selectonemenu-items.ui-selectonemenu-list.ui-widget-content.ui-widget.ui-corner-all.ui-helper-reset{
                     width: 77px !important;
                  }
               </style>
               <p:outputLabel value="开始时间:"></p:outputLabel>
               <p:calendar value="#{opeUseFlowInfoController.startDate}"></p:calendar>
@@ -27,16 +36,37 @@
               <p:outputLabel value="条形码:"></p:outputLabel>
               <p:inputText value="#{opeUseFlowInfoController.reagentCode}"></p:inputText>
               <p:outputLabel value="柜号:"></p:outputLabel>
               <p:inputText value="#{opeUseFlowInfoController.containerCode}"></p:inputText>
               <p:outputLabel value="场所名:"></p:outputLabel>
               <p:inputText value="#{opeUseFlowInfoController.houseName}"></p:inputText>
               <p:outputLabel value="操作状态:"></p:outputLabel>
               <p:selectOneMenu value="#{opeUseFlowInfoController.operatestate}" style="width: 60px;">
                  <f:selectItem itemLabel="全部" itemValue="#{null}" noSelectionOption="true"></f:selectItem>
                  <f:selectItems value="#{baseMetaService.getBaseMetaList(constants.OPERATE_STATUS)}"
                              var="item" itemLabel="#{item.metaValue}" itemValue="#{item.id}"></f:selectItems>
               </p:selectOneMenu>
               <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
            </p:panelGrid>
         </p:panel>
      </p:panel>
      <p:panel styleClass="center-body">
         <p:panelGrid columns="2" styleClass="btn">
            <p:commandButton value="报废" styleClass="del-btn"  ajax="false" actionListener="#{opeUseFlowInfoController.scrapReagent}" />
            <p:commandButton value="导出" styleClass="new-btn"  ajax="false" id="exportButton" widgetVar="exportButton"
                         actionListener="#{opeUseFlowInfoController.export2Excel}" />
         </p:panelGrid>
         <p:dataTable id="reagentUseFlowInfoDataTable" styleClass="data-table"
            paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
            lazy="true" value="#{opeUseFlowInfoController.dataModel}" var="row"
            selectionMode="single"
            selection="#{opeUseFlowInfoController.selectedOne}"
            rowKey="#{row.id}" emptyMessage="无数据" rows="20" pageLinks="5">
            <p:column headerText="试剂条形码">
               <h:outputText value="#{row.reagentCode}"></h:outputText>
@@ -54,8 +84,12 @@
               <h:outputText value="#{row.operatestateName}" />
            </p:column>
            <p:column headerText="残存量">
               <h:outputText value="#{row.remainder}" />
               <h:outputText value="#{row.remainder == null?'':row.remainder}"
                          rendered="#{row.operatestateName ne '仓库领用'
                              and row.operatestateName ne '仓库入库'}"/>
            </p:column>
            <!--<p:column headerText="重量">
                    <h:outputText value="#{row.remainder}"></h:outputText>
                </p:column>-->
@@ -76,8 +110,134 @@
                    <h:outputText value="#{row.warehouseName}" rendered="#{!empty row.warehouseName}"/>
            </p:column>
<!--            <p:column headerText="领用单号">-->
<!--               <h:outputText value="#{row.receiptNumber}"/>-->
<!--            </p:column>-->
<!--            <p:column headerText="操作" style="text-align: center">-->
<!--            <p:commandButton value="生成领用单"-->
<!--                         actionListener="#{opeUseFlowInfoController.generateRecipients(row)}"-->
<!--                         rendered="#{row.receiptNumber != null}"-->
<!--                         update="reagentUseFlowInfoForm:apply-ui"-->
<!--                         oncomplete="PF('printDialog').show()"-->
<!--                         async="true"-->
<!--            >-->
<!--            </p:commandButton>-->
<!--            </p:column>-->
         </p:dataTable>
      </p:panel>
   </h:form>
   <p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false"
           width="1000">
      <div id="printTarget">
         <div style=" margin: 10mm 10mm 0mm 2mm;">
            <h:form id="printDialog">
               <p:outputPanel style="text-align: center;font-size: 14px;font-weight: 700;">#{opeUseFlowInfoController.printTable['head']}</p:outputPanel>
               <p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{opeUseFlowInfoController.printTable['title']}</p:outputPanel>
               <div>
                  <div style="display: flex;flex-direction: row;justify-content: flex-end;">
                     <div style="width: 100px;">单据编号:</div>
                     <div style="width: 300px;">#{opeUseFlowInfoController.printTable['receiptNumber']}</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;">#{opeUseFlowInfoController.printTable['department']}</div>
                  </div>
                  <div style="display: inline-flex;float: right;">
                     <div style="width: 100px;">日期:</div>
                     <div style="width: 300px;padding-top: 1px;">
                        <div>#{opeUseFlowInfoController.printTable['date']}</div>
                     </div>
                  </div>
               </div>
               <div style="margin-bottom: 20px;">
                  <div style="display: inline-flex;">
                     <div style="width: 100px;margin-left: 10px;">申购人:</div>
                     <div style="width: 300px;">#{opeUseFlowInfoController.printTable['applyPerson']}</div>
                  </div>
                  <div style="display: inline-flex;float: right;">
                     <div style="width: 100px;">联系方式:</div>
                     <div style="width: 300px;">
                        <div >#{opeUseFlowInfoController.printTable['phone']}</div>
                     </div>
                  </div>
               </div>
               <p:dataTable id="printTB" styleClass="apply-list"
                         value="#{opeUseFlowInfoController.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}" />
                  </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="margin-top: 20px;">
                  <div style="display: flex;flex-direction: row;justify-content: flex-end;">
                     <div style="width: 100px">签收人:</div>
                     <div style="width: 300px"></div>
                  </div>
               </div>
               <div style="margin: 10px 0">
                  <div style="display: flex;flex-direction: row;justify-content: flex-end;">
                     <div style="width: 100px">日期:</div>
                     <div style="width: 300px"></div>
                  </div>
               </div>
               <p:panel styleClass="btn  no-print">
                  <div class="div-btn cancel" id="cancel">关闭</div>
                  <div class="div-btn print" id="print">打印</div>
               </p:panel>
            </h:form>
         </div>
      </div>
      <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 () {
               $("#reagentUseFlowInfoForm\\:apply-ui a").click();
            })
         })
      </script>
   </p:dialog>
</ui:composition>
</html>