gdg
2021-01-29 31ffbaf322685984516cfb284fa58741debf4e96
src/main/webapp/personal_use_info.xhtml
@@ -50,84 +50,272 @@
         <p:panel styleClass="center-header">
            <p:panelGrid styleClass="filter" columns="13">
               <p:outputLabel value="试剂名称:"></p:outputLabel>
               <p:inputText value="#{personalUseInfoController.reagentId}"></p:inputText>
               <p:outputLabel value="单据编号:"/>
               <p:inputText value="#{personalUseInfoController.receiptNumber}"/>
               <p:outputLabel value="条形码:"></p:outputLabel>
               <p:inputText value="#{personalUseInfoController.reagentCode}"></p:inputText>
               <p:outputLabel value="申领人:"/>
               <p:inputText value="#{personalUseInfoController.applyPerson}"/>
               <p:outputLabel value="课题组:"/>
               <p:inputText value="#{personalUseInfoController.project}"/>
               <p:outputLabel value="部门:"/>
               <p:inputText value="#{personalUseInfoController.department}"/>
               <p:outputLabel for="startTime" value="开始时间:" />
               <p:calendar id="startTime" value="#{personalUseInfoController.startTime}" pattern="yyyy-MM-dd HH:mm" />
               <p:outputLabel for="endTime" value="截止时间:" />
               <p:calendar id="endTime" value="#{personalUseInfoController.endTime}" pattern="yyyy-MM-dd HH:mm" />
               <p:commandLink styleClass="search" process="@form" update="@form"></p:commandLink>
               <p:commandButton value="更新时间" styleClass="store-btn" process="@form" actionListener="#{personalUseInfoController.updateTimeByCode}"
               update="@form"></p:commandButton>
               <p:commandButton value="取消领用" style="background: #b94a48; border: 1px solid #b94a48" styleClass="store-btn" process="@form" actionListener="#{personalUseInfoController.reagentReturn}"
                            update="@form"></p:commandButton>
            </p:panelGrid>
               <p:commandLink styleClass="search" process="@form" update="@form"/>
               <p:commandButton value="生成领用单"
                            style="background: #b94a48; border: 1px solid #b94a48"
                            styleClass="store-btn"
                            process="@form"
                            actionListener="#{personalUseInfoController.generateReceipt}"
                            update="printDialog"/>
               <p:commandButton value="查看详情"
                            styleClass="store-btn"
                            update=":dialog,:dialogForm"
                            actionListener="#{personalUseInfoController.detailInfo}"
                            oncomplete="PF('dialog').show()"/>
         </p:panelGrid>
         </p:panel>
      </p:panel>
      <style>
      <style type="text/css">
         .ui-datatable tbody td{
            white-space: normal;
            word-break: break-all;
         }
      </style>
      <p:panel styleClass="center-body">
         <p:dataTable id="personalUseInfoDataTable" styleClass="data-table" resizableColumns="true"
            paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
            lazy="true" value="#{personalUseInfoController.dataModel}" var="row"
            rowKey="#{row.id}" emptyMessage="无数据" rows="20" pageLinks="5" selection="#{personalUseInfoController.selectedList}">
            <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>
            <p:column headerText="试剂名称">
               <h:outputText value="#{row.reagent.name}"></h:outputText>
         <p:dataTable id="personalUseInfoDataTable"
                   styleClass="data-table"
                   resizableColumns="true"
                   paginator="true"
                   paginatorAlwaysVisible="false"
                   paginatorPosition="bottom"
                   lazy="true"
                   value="#{personalUseInfoController.dataModel2}"
                   var="row"
                   rowKey="#{row.receiptNumber}"
                   selectionMode="single"
                   emptyMessage="无数据"
                   selection="#{personalUseInfoController.selectOne}"
                   rows="20" pageLinks="5">
<!--            <p:column selectionMode="multiple" style="width: 30px;text-align: center;"/>-->
            <p:column headerText="单据编号">
               <h:outputText value="#{row.receiptNumber}"/>
            </p:column>
            <p:column headerText="试剂条形码">
               <h:outputText value="#{row.reagentCode}"></h:outputText>
            <p:column headerText="申领人" width="80">
               <h:outputText value="#{row.userName}"/>
            </p:column>
                <p:column headerText="厂家">
                    <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagent.productHome)}"></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 headerText="领用数量" width="50">
               <h:outputText value="#{row.applyNum}"/>
            </p:column>
            <p:column headerText="包装">
               <h:outputText
                  value="#{''.concat(row.reagent.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagent.reagentUnit))}"></h:outputText>
            <p:column headerText="课题组">
               <h:outputText value="#{row.project}"/>
            </p:column>
            <p:column headerText="批号">
               <h:outputText value="#{row.articleNumber}"></h:outputText>
            <p:column headerText="部门">
               <h:outputText value="#{row.department}"/>
            </p:column>
<!--            <p:column headerText="残存量">-->
<!--               <h:outputText value="#{row.remainder}"></h:outputText>-->
<!--            </p:column>-->
            <p:column headerText="申领人">
               <h:outputText value="#{row.userName}" />
            <p:column headerText="地点">
               <h:outputText value="#{row.laboratoryName}"/>
            </p:column>
            <p:column headerText="领用时间">
                    <h:outputText value="#{row.updateTime}">
                        <f:convertDateTime pattern="yyyy-MM-dd HH:mm:ss" locale="zh_CN"></f:convertDateTime>
                    <h:outputText value="#{row.createTime}">
                        <f:convertDateTime pattern="yyyy-MM-dd HH:mm" locale="zh_CN"/>
                    </h:outputText>
                </p:column>
         </p:dataTable>
      </p:panel>
   </h:form>
   <p:dialog modal="true" header="试剂详情页面" appendTo="@(body)"
           id="dialog" widgetVar="dialog"
           resizable="false" width="1000">
      <h:form id="dialogForm">
         <p:dataTable styleClass="data-table"
                   paginator="true" paginatorAlwaysVisible="false" paginatorPosition="bottom"
                   value="#{personalUseInfoController.personUseDetail}" var="row" rowKey="#{row.id}"
                   emptyMessage="无数据"
                   style="margin:50px 0 80px 0"
                   rows="5" pageLinks="5">
            <p:column headerText="产品编号">
               <h:outputText value="#{row.productSn}"/>
            </p:column>
            <p:column headerText="试剂名称">
               <h:outputText value="#{row.reagentName}"/>
            </p:column>
            <p:column headerText="试剂条形码">
               <h:outputText value="#{row.reagentCode}"/>
            </p:column>
            <p:column headerText="管制品">
               <h:outputText value="#{row.controlProducts}"/>
            </p:column>
            <p:column headerText="规格型号">
               <h:outputText value="#{row.reagentFormat}"/>
            </p:column>
            <p:column headerText="包装">
               <h:outputText value="#{row.perInfo}"/>
            </p:column>
            <p:column headerText="厂家">
               <h:outputText value="#{row.productHome}"/>
            </p:column>
            <p:column headerText="批号">
               <h:outputText value="#{row.articleNumber}"/>
            </p:column>
         </p:dataTable>
         <p:panel styleClass="btn" style="text-align: right">
         </p:panel>
      </h:form>
   </p:dialog>
   <p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false"
           width="1380">
      <div id="printTarget">
         <div style=" margin: 20mm 27mm 0mm 30mm;">
            <h:form id="printDialog" style="width: 1100px">
               <p:outputPanel style="text-align: center;font-size: 14px;font-weight: 700;">#{personalUseInfoController.printTable['head']}</p:outputPanel>
               <p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{personalUseInfoController.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;">#{personalUseInfoController.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;">#{personalUseInfoController.printTable['department']}</div>
                  </div>
                  <div style="display: inline-flex;">
                     <div style="width: 100px;">申购人:</div>
                     <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['applyPerson']}</div>
                  </div>
                  <div style="display: inline-flex;float: right;">
                     <div style="width: 100px;">日期:</div>
                     <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['date']}</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;">#{personalUseInfoController.printTable['project']}</div>
                  </div>
                  <div style="display: inline-flex;">
                     <div style="width: 100px;">使用地点:</div>
                     <div style="width: 200px;padding-top: 1px;">#{personalUseInfoController.printTable['lab']}</div>
                  </div>
                  <div style="display: inline-flex;float: right;">
                     <div style="width: 100px;">联系方式:</div>
                     <div style="width: 200px;">#{personalUseInfoController.printTable['phone']}</div>
                  </div>
               </div>
               <p:dataTable id="printTB" styleClass="apply-list"
                         value="#{personalUseInfoController.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="margin-top: 20px;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>
               <div style="margin: 10px 94px 10px 0;">
                  <div style="display: flex;flex-direction: row;justify-content: flex-end;">
                     <div style="width: 100px">日期:</div>
                     <div style="width: 100px"></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>
                  <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 () {
                           $("#apply-ui a").click();
                        })
                     })
                  </script>
               </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>