kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/webapp/reagent_mng.xhtml
@@ -28,6 +28,7 @@
                </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>
@@ -39,7 +40,7 @@
            </p:panelGrid>
        </p:panel>
        <p:panel styleClass="center-body">
            <p:panelGrid columns="5" styleClass="btn">
            <p:panelGrid columns="9" styleClass="btn">
                <p:commandButton value="新建" styleClass="new-btn"
                                 process="@this"
                                 actionListener="#{reagentMngController.onNewBtnClick}"
@@ -55,11 +56,20 @@
                                 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>
                <script>
                <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();
               }
@@ -77,6 +87,7 @@
               }
            </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}"
@@ -100,38 +111,39 @@
                    <h:outputText value="#{row.productSn}"></h:outputText>
                </p:column>-->
                <p:column headerText="试剂类型">
                    <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentType)}"></h:outputText>
                    <h:outputText value="#{row.reagentType}"></h:outputText>
                </p:column>
                <p:column headerText="危险性质">
                    <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentCharacter)}"></h:outputText>
                    <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.productHomeName}"></h:outputText>
                    <h:outputText value="#{row.productHome}"></h:outputText>
                </p:column>
                <p:column headerText="规格">
                    <h:outputText value="#{baseMetaService.getBaseMetaValue(row.reagentFormat)}"></h:outputText>
                    <h:outputText value="#{row.reagentFormat}"></h:outputText>
                </p:column>
                <p:column headerText="包装">
                    <h:outputText value="#{''.concat(row.mainMetering).concat(baseMetaService.getBaseMetaValue(row.reagentUnit))}"></h:outputText>
                    <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="每箱数量">
                    <h:outputText value="#{row.perBox}"></h:outputText>
                <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.controlProductsName}"></h:outputText>
                </p:column>
                <p:column headerText="备注">
                    <h:outputText value="#{row.memo}"></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>-->
@@ -152,6 +164,7 @@
                          update="@form" auto="true" sizeLimit="5000000"
                          mode="advanced"/>
        </div>
    </h:form>
    <p:dialog modal="true" header="#{reagentMngController.action==constants.ACTION_ADD?'新建':'修改'}" appendTo="@(body)"
@@ -201,22 +214,10 @@
                        </p:selectOneMenu>-->
                    </p:column>
                    <p:column>
                        <p:autoComplete id="reagentType" value="#{reagentMngController.sysReagent.reagentType}" completeMethod="#{reagentMngController.getReagentTypeBaseMeta}"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        required="true" requiredMessage="请输入试剂类型"   forceSelection="true"
                                        itemLabel="#{!empty reagentMngController.sysReagent.reagentType ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.reagentType) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <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>
@@ -229,41 +230,15 @@
                        </p:selectOneMenu>-->
                    </p:column>
                    <p:column>
                        <p:autoComplete id="reagentCharacter" value="#{reagentMngController.sysReagent.reagentCharacter}" completeMethod="#{reagentMngController.getReagentCharacterBaseMeta}"
                                        required="true" requiredMessage="请输入危险性质"   forceSelection="true"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        itemLabel="#{!empty reagentMngController.sysReagent.reagentCharacter ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.reagentCharacter) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <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:autoComplete id="productHome" value="#{reagentMngController.sysReagent.productHome}" completeMethod="#{reagentMngController.getProductName}"
                                        required="true" requiredMessage="请输入厂家"   forceSelection="true"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        itemLabel="#{!empty reagentMngController.sysReagent.productHome ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.productHome) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <p:inputText value="#{reagentMngController.sysReagent.productHome}" maxlength="100"
                                     required="true" requiredMessage="请输入厂家"></p:inputText>
                    </p:column>
                        <!--<p:selectOneMenu value="#{reagentMngController.sysReagent.productHome}"
                                         required="true" requiredMessage="请选择厂家">
@@ -306,22 +281,8 @@
                        <p:outputLabel value="规格"></p:outputLabel>
                    </p:column>
                    <p:column>
                        <p:autoComplete id="reagentFormat" value="#{reagentMngController.sysReagent.reagentFormat}" completeMethod="#{reagentMngController.getReagentFormat}"
                                        required="true" requiredMessage="请输入规格"   forceSelection="true"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        itemLabel="#{!empty reagentMngController.sysReagent.reagentFormat ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.reagentFormat) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <p:inputText value="#{reagentMngController.sysReagent.reagentFormat}" maxlength="100"
                                     required="true" requiredMessage="请输入规格"></p:inputText>
                    </p:column>
                        <!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentFormat}"
                                         required="true"  requiredMessage="请选择规格">
@@ -344,21 +305,8 @@
                        <p:outputLabel value="主计单位"></p:outputLabel>
                    </p:column>
                    <p:column>
                        <p:autoComplete id="reagentUnit" value="#{reagentMngController.sysReagent.reagentUnit}" completeMethod="#{reagentMngController.getReagentUnit}"
                                        required="true" requiredMessage="请输入主计单位"   forceSelection="true"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        itemLabel="#{!empty reagentMngController.sysReagent.reagentUnit ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.reagentUnit) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <p:inputText value="#{reagentMngController.sysReagent.reagentUnit}" maxlength="100"
                                     required="true" requiredMessage="请输入主计单位"></p:inputText>
                    </p:column>
                        <!--<p:selectOneMenu value="#{reagentMngController.sysReagent.reagentUnit}"
                                         required="true" requiredMessage="请选择主计单位">
@@ -372,7 +320,7 @@
                    </p:column>
                    <p:column>
                        <p:inputNumber value="#{reagentMngController.sysReagent.price}"
                                       decimalPlaces="2" minValue="0" maxlength="10"
                                       decimalPlaces="4" minValue="0" maxlength="10"
                                       required="true" requiredMessage="请输入含税售价"></p:inputNumber>
                    </p:column>
                    <p:column>
@@ -419,27 +367,29 @@
                        <p:outputLabel value="管制品"></p:outputLabel>
                    </p:column>
                    <p:column>
                        <p:autoComplete id="controlProducts" value="#{reagentMngController.sysReagent.controlProducts}" completeMethod="#{reagentMngController.getControlProducts}"
                                          forceSelection="true"
                                        var="item"
                                        dropdown="true"
                                        styleClass="apply-user-autocomplete"
                                        itemLabel="#{!empty reagentMngController.sysReagent.controlProducts ?baseMetaService.getBaseMetaValue(reagentMngController.sysReagent.controlProducts) : item.metaValue}"
                                        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.metaValue}" />
                            </p:column>
                        </p:autoComplete>
                        <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>
@@ -463,5 +413,62 @@
            </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>