kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/webapp/warehouse_reagent_use.xhtml
@@ -24,7 +24,7 @@
                           var="item"
                           dropdown="true"
                           styleClass="apply-user-autocomplete"
                           itemLabel="#{!empty warehouseStockMngController.userId ?warehouseStockMngController.getSelectedUserById(warehouseStockMngController.userId).name : null}"
                           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>
@@ -32,18 +32,13 @@
                  </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}" update="stacks"/>
                  <f:ajax listener="#{warehouseStockMngController.resetLaboratoryContainers}" render="stacks"/>
               </p:selectOneMenu>
               <p:outputLabel value="实验室试剂柜:"></p:outputLabel>
               <p:selectOneMenu value="#{warehouseStockMngController.laboratoryContainerId}" id="stacks"
@@ -102,7 +97,7 @@
                     }
                  }
                  function allSelected() {
                     selectFunc(num);
                     num++;
@@ -117,6 +112,7 @@
                     if (number === "" || number> all.size()){
                        alert("输入不合法");
                     }
                     console.log(number,'number')
                     //选中前面几个
                     for (var i = 0;i &lt; number;i++){
                        all.eq(i)['0'].checked = true;
@@ -124,11 +120,11 @@
                              .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;
@@ -172,12 +168,12 @@
            <p:column headerText="规格">
               <h:outputText
                  value="#{baseMetaService.getBaseMetaValue(row.reagent.reagentFormat)}"></h:outputText>
                  value="#{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>
                  value="#{''.concat(row.reagent.mainMetering).concat(row.reagent.reagentUnit)}"></h:outputText>
            </p:column>
            <p:column headerText="批号">
@@ -204,42 +200,64 @@
   <p:dialog id="apply-ui" header="领用单" widgetVar="printDialog" appendTo="@(body)" modal="true" resizable="false">
      <div id="printTarget">
         <div style=" margin: 10mm 10mm 0mm 2mm;">
      <h:form id="printDialog">
      <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: 14px;font-weight: 700;">#{warehouseStockMngController.printTable['head']}</p:outputPanel>
         <p:outputPanel style="text-align: center;font-size: 15px;margin: 20px;font-weight: 700;">#{warehouseStockMngController.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;"><input style="border: 0;" value=""/></div>
         <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: 300px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
               <div style="width: 200px;padding-top: 1px;"><input style="border: 0;" value="#{warehouseStockMngController.printTable['date']}"/></div>
            </div>
         </div>
         <div style="margin-bottom: 20px;">
         <div style="margin-bottom: 10px;">
            <div style="display: inline-flex;">
               <div style="width: 100px;margin-left: 10px;">申购人:</div>
               <div style="width: 300px;">#{warehouseStockMngController.printTable['applyPerson']}</div>
               <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: 300px;">
               <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>
@@ -261,7 +279,7 @@
      </p:column>
      <p:column headerText="包装" width="90px;" style="text-align: center;">
         <h:outputText value="#{row.mainMetering}" />
         <h:outputText value="#{row.mainMetering==null?'':row.mainMetering.replace('null','')}" />
      </p:column>
      <p:column headerText="数量" width="90px;" style="text-align: center;">
@@ -273,23 +291,60 @@
      </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 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>
         <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: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>
@@ -299,56 +354,59 @@
      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: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:tab title="补贴条码">-->
<!--            <h:form id="reagentCodeDialogForm2">-->
<!--               &lt;!&ndash;<p:panel styleClass="center-header content2">&ndash;&gt;-->
<!--               <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>-->
<!--&lt;!&ndash;                     <p:column><p:outputLabel  value="条码情况" /></p:column>&ndash;&gt;-->
<!--&lt;!&ndash;                     <p:column><p:selectOneMenu id="advanced"   panelStyle="width:180px"&ndash;&gt;-->
<!--&lt;!&ndash;                                  effect="fade"  style="width:160px" filter="true" filterMatchMode="startsWith">&ndash;&gt;-->
<!--&lt;!&ndash;                        <f:selectItems value="#{warehouseStockMngController.showCodes}" var="code"  itemValue="#{code}" />&ndash;&gt;-->
                        <p:column>
                           <f:facet name="header">
                              <h:outputText value="Name"/>
                           </f:facet>
                        </p:column>
<!--&lt;!&ndash;                        <p:column>&ndash;&gt;-->
<!--&lt;!&ndash;                           <f:facet name="header">&ndash;&gt;-->
<!--&lt;!&ndash;                              <h:outputText value="Name"/>&ndash;&gt;-->
<!--&lt;!&ndash;                           </f:facet>&ndash;&gt;-->
<!--&lt;!&ndash;                        </p:column>&ndash;&gt;-->
                        <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:commandLink value="自动生成" process="@this useNum startReagentCode" action="#{warehouseStockMngController.handleEvent2}"  update="endReagentCode" >
                        </p:commandLink>
                     </p:outputLabel></p:column>
                     <p:column><p:inputText id="startReagentCode" value="#{warehouseStockMngController.startReagentCode}" maxlength="32" required="true" requiredMessage="请输入条形码开始"/></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>
<!--&lt;!&ndash;                        <f:facet name="footer">&ndash;&gt;-->
<!--&lt;!&ndash;                           <p:separator />&ndash;&gt;-->
<!--&lt;!&ndash;                           <h:outputText value="#{warehouseStockMngController.showCodes.size()} themes" style="font-weight:bold;"/>&ndash;&gt;-->
<!--&lt;!&ndash;                        </f:facet>&ndash;&gt;-->
<!--&lt;!&ndash;                     </p:selectOneMenu>&ndash;&gt;-->
<!--&lt;!&ndash;                     </p:column>&ndash;&gt;-->
<!--                  </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>-->
<!--               &lt;!&ndash;</p:panel>&ndash;&gt;-->
<!--               <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">
@@ -371,7 +429,7 @@
                                   layout="grid" columns="4" onchange="change(this)">
                     <f:selectItems
                           value="#{warehouseStockMngController.reagentStatusSelectList}" var="item"
                           itemLabel="#{item.reagentCode}" itemValue="#{item.id}" />
                           itemLabel="#{item.reagentCode}" itemValue="#{item.reagentCode}" />
                  </p:selectManyCheckbox>
               </p:panel>