弹框带数据

目录

此处以开票申请的选合同带出经营负责人为例

一、前端Jsp

1.1、弹框的前端界面

1.2、form_option.js 

1.3、contractManageSrht_dialog_selectContract.jsp 

二、后端

三、 如何把数据再带到另一个引入的页面


此处以开票申请的选合同带出经营负责人为例

一、前端Jsp

1.1、弹框的前端界面

<div id="_xform_fdContrantNoId" _xform_type="dialog">
<xform:dialog propertyId="fdContrantNoId" propertyName="fdContrantNoName" showStatus="edit" required="true" subject="${lfn:message('contract-manage:contractManageKpsq.fdContrantNo')}" style="width:95%;">
dialogSelect(false,'contract_manage_srht_selectContract','fdContrantNoId','fdContrantNoName');
</xform:dialog>
</div>

注: 此处弹框对应的是对应模块的form_option.js文件,拿着contract_manage_srht_selectContract去搜就行

1.2、form_option.js 

contract_manage_srht_selectContract: {
    modelName: 'com.landray.kmss.contract.manage.model.ContractManageSrht',
    sourceUrl: '/contract/manage/contract_manage_srht/contractManageSrhtData.do?method=selectContract'
},

dialogLinks: [{
    idField: 'fdDkmx_Form[*].fdContrantNoId',
    nameField: 'fdDkmx_Form[*].fdContrantNoName',
    dialog: 'contract_manage_srht_selectContract',
    inputs: [],
    outputs: [{
        'key': 'fdHtmc',
        'value': 'fdDkmx_Form[*].fdHtmc'
    },{
        'key': 'contractAmount',
        'value': 'fdDkmx_Form[*].fdHtje'
    },{
        'key': 'receivedAmount',
        'value': 'fdDkmx_Form[*].fdYhke'
    },{
        'key': 'fdProjectId',
        'value': 'fdDkmx_Form[*].fdProjectNoId'
    },{
        'key': 'fdProjectName',
        'value': 'fdDkmx_Form[*].fdProjectNoName'
    },{
        'key': 'fdXmmc',
        'value': 'fdDkmx_Form[*].fdXmmc'
    },{
        'key': 'fdJfdw.fdId',
        'value': 'fdDkmx_Form[*].fdOwnerId'
    },{
        'key': 'fdJfdw.fdName',
        'value': 'fdDkmx_Form[*].fdOwnerName'
    },{
        'key': 'fdJyfzr.fdId',
        'value': 'fdAccountsPeopleId'
    },{
        'key': 'fdJyfzr.fdName',
        'value': 'fdAccountsPeopleName'
    }]
},

注:拿着刚才弹框对应的 contract_manage_srht_selectContract到此页面来搜

sourceUrl:对应的是后端的Action里查出来的数据供前端带数据使用

outputs:输出对应的属性到页面上的指定字段

1.3、contractManageSrht_dialog_selectContract.jsp 

<%@ page language="java" contentType="text/json; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ include file="/sys/ui/jsp/common.jsp" %>
<list:data>
    <list:data-columns var="contractManageSrht" list="${queryPage.list}" varIndex="status" custom="false">
        <list:data-column property="fdId" />
        <list:data-column property="fdHtbh" title="${lfn:message('contract-manage:contractManageSrht.fdHtbh')}" />

        <list:data-column col="index">
            ${status+1}
        </list:data-column>
        <list:data-column property="fdHtmc" title="${lfn:message('contract-manage:contractManageSrht.fdHtmc')}" />
        <list:data-column property="fdHtje" />
        <list:data-column property="fdYskje" />
        <list:data-column col="contractAmount">
            <c:out value="${contractManageSrht.contractAmount == null ? '' : contractManageSrht.contractAmount}" />
        </list:data-column>
        <list:data-column col="invoicedAmount">
            <c:out value="${contractManageSrht.invoicedAmount == null ? '' : contractManageSrht.invoicedAmount}" />
        </list:data-column>
        <list:data-column col="amountRecovered">
            <c:out value="${contractManageSrht.amountRecovered == null ? '' : contractManageSrht.amountRecovered}" />
        </list:data-column>
        <list:data-column col="receivedAmount">
            <c:out value="${contractManageSrht.receivedAmount == null ? '' : contractManageSrht.receivedAmount}" />
        </list:data-column>
        <list:data-column property="fdProjectId" />
        <list:data-column property="fdProjectName" />
        <list:data-column property="fdXmmc" />
        <list:data-column property="fdJfdw.fdId" />
        <list:data-column property="fdJfdw.fdName" />
        <list:data-column property="fdJyfzr.fdId"/>
        <list:data-column property="fdJyfzr.fdName"/>

    </list:data-columns>
    <%-- 分页信息生成 --%>
    <list:data-paging page="${queryPage}" />
</list:data>

注:想要选择合同后成功带出属性到指定的字段,还需要在此页面配置获取的字段 

二、后端

public ActionForward selectContract(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
        TimeCounter.logCurrentTime("selectContract", true, getClass());
        KmssMessages messages = new KmssMessages();
        try {
            String s_pageno = request.getParameter("pageno");
            String s_rowsize = request.getParameter("rowsize");
            String keyWord = request.getParameter("q._keyword");
            int pageno = 0;
            int rowsize = SysConfigParameters.getRowSize();
            if (s_pageno != null && s_pageno.length() > 0) {
                pageno = Integer.parseInt(s_pageno);
            }
            if (s_rowsize != null && s_rowsize.length() > 0) {
                rowsize = Integer.parseInt(s_rowsize);
            }
            //当前登录人所属机构
            List<String> orgIds = new ArrayList<>();
            if(UserUtil.getUser().getFdParentOrg()!=null){
                orgIds.add(UserUtil.getUser().getFdParentOrg().getFdId());
            }
            List<SysOrgElement> fdPosts = UserUtil.getUser().getFdPosts();
            for (SysOrgElement fdPost : fdPosts) {
                if(fdPost.getFdParentOrg()!=null){
                    orgIds.add(fdPost.getFdParentOrg().getFdId());
                }
            }
            HQLInfo hqlInfo = new HQLInfo();
            hqlInfo.setPageNo(pageno);
            hqlInfo.setRowSize(rowsize);
            String where = "";
            if (StringUtil.isNotNull(keyWord)) {
                where += "(contractManageSrht.fdHtbh like :fdHtbh";
                hqlInfo.setParameter("fdHtbh", "%" + keyWord + "%");
                where += " or contractManageSrht.fdHtmc like :fdHtmc";
                hqlInfo.setParameter("fdHtmc", "%" + keyWord + "%");
                where += ")";
            }
            //String sql = StringUtil.linkString(where, " and ", " contractManageSrht.docStatus = 30 ");
            String sql = StringUtil.linkString(where, " and ", " contractManageSrht.docStatus in ('11','20','30') ");
            sql += " and contractManageSrht.fdYfdw.fdId in (:org) ";
            hqlInfo.setParameter("org",orgIds);
            hqlInfo.setWhereBlock(StringUtil.linkString(sql," and "," contractManageSrht.docIsNewVersion=1 "));
            hqlInfo.setOrderBy("case when contractManageSrht.fdHtmc like '%公共费用%' then 0 else 1 end, contractManageSrht.fdHtmc asc, contractManageSrht.docCreateTime desc");
            HQLHelper.by(request).buildHQLInfo(hqlInfo, ContractManageSrht.class);
            // 暂时去除数据权限过滤
            hqlInfo.setAuthCheckType(SysAuthConstant.AUTH_CHECK_NONE);

            Page page = getServiceImp(request).findPage(hqlInfo);
            List<ContractManageSrht> list = page.getList();
            DecimalFormat df=new DecimalFormat("0.00");
            for (ContractManageSrht contractManageSrht : list) {
                //合同金额
                contractManageSrht.setContractAmount(df.format(contractManageSrht.getFdHtje()!=null?contractManageSrht.getFdHtje():0.00));
                //已开票额
                if(contractManageSrht.getFdYkp()!=null){
                    contractManageSrht.setInvoicedAmount(df.format(contractManageSrht.getFdYkp()!=null?contractManageSrht.getFdYkp():0.00));
                }
                //已开收据额
                if(contractManageSrht.getFdReceipt()!=null){
                    contractManageSrht.setAmountRecovered(df.format(contractManageSrht.getFdReceipt()!=null?contractManageSrht.getFdReceipt():0.00));
                }
                //已收款金额
                if(contractManageSrht.getFdYskje()!=null){
                    contractManageSrht.setReceivedAmount(df.format(contractManageSrht.getFdYskje()!=null?contractManageSrht.getFdYskje():0.00));
                }
            }
            request.setAttribute("queryPage", page);
        } catch (Exception e) {
            messages.addError(e);
        }
        TimeCounter.logCurrentTime("selectContract", false, getClass());
        if (messages.hasError()) {
            KmssReturnPage.getInstance(request).addMessages(messages).addButton(KmssReturnPage.BUTTON_CLOSE).save(request);
            return mapping.findForward("failure");
        } else {
            return mapping.findForward("selectContract");
        }
    }

注:此方法就是刚才在sourceUrl配置的方法,查出来需要的数据并返给前端 

三、 如何把数据再带到另一个引入的页面

此处以项目计划调整单的工程阶段带出项目布置的数据为例

<table class="tb_normal" width="100%">
    <c:import url="/measure/manage/common/common_info_project_layout.jsp">
        <c:param name="showStatus" value="edit"/>
    </c:import>
</table>

 如上所示,在前端 edit 页面引入其它的页面,想要把弹框的数据带入这个 edit 界面上

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ include file="/resource/jsp/common.jsp"%>
<c:set var="fdTechPersonId" value="" />
<c:set var="fdTechPersonName" value="" />
<c:set var="fdScrName" value="" />
<c:set var="fdReportInspectorName" value="" />
<c:set var="fdMapInspectorName" value="" />
<c:set var="fdHdrName" value="" />
<c:set var="fdPzrName" value="" />

<c:forEach var="fdTechPerson" items="${projectLayout.fdTechPerson}" >
    <c:set var="fdTechPersonName" value="${fdTechPersonName};${fdTechPerson.fdName}" />
    <c:set var="fdTechPersonId" value="${fdTechPersonId};${fdTechPerson.fdId}" />
</c:forEach>
<c:forEach var="fdScr" items="${projectLayout.fdScr}" >
    <c:set var="fdScrName" value="${fdScrName};${fdScr.fdName}" />
</c:forEach>
<c:forEach var="fdReportInspector" items="${projectLayout.fdReportInspector}" >
    <c:set var="fdReportInspectorName" value="${fdReportInspectorName};${fdReportInspector.fdName}" />
</c:forEach>
<c:forEach var="fdMapInspector" items="${projectLayout.fdMapInspector}" >
    <c:set var="fdMapInspectorName" value="${fdMapInspectorName};${fdMapInspector.fdName}" />
</c:forEach>
<c:forEach var="fdHdr" items="${projectLayout.fdHdr}" >
    <c:set var="fdHdrName" value="${fdHdrName};${fdHdr.fdName}" />
</c:forEach>
<c:forEach var="fdPzr" items="${projectLayout.fdPzr}" >
    <c:set var="fdPzrName" value="${fdPzrName};${fdPzr.fdName}" />
</c:forEach>

    <tr>
        <td class="td_normal_title" width="15%">
            主导科室
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${scProduceRws.fdCjy.fdId}" property="fdLeadDeptId" showStatus="noShow" style="width:95%;"/>
                <xform:text value="${scProduceRws.fdCjy.fdName}" property="fdLeadDept" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
        <td class="td_normal_title" width="15%">
            项目负责人
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${projectLayout.fdXmfzr.fdId}" property="fdXmfzrId" showStatus="noShow" style="width:95%;"/>
                <xform:text value="${projectLayout.fdXmfzr.fdName}" property="fdXmfzrName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
    </tr>
    <tr>
        <td class="td_normal_title" width="15%">
            ${lfn:message('measure-manage:measureManageProjectLayout.fdTechPerson')}
        </td>
        <td width="35%">
            <%-- 技术负责人--%>
            <div _xform_type="text">
                <xform:text value="${fdTechPersonId != '' ? fdTechPersonId.substring(1) : fdTechPersonId}" property="fdTechPersonId" showStatus="noShow" style="width:95%;"/>
                <xform:text value="${fdTechPersonName != '' ? fdTechPersonName.substring(1) : fdTechPersonName}" property="fdTechPersonName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;" />
            </div>
        </td>
        <td class="td_normal_title" width="15%">
            审查人
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${fdScrName != '' ? fdScrName.substring(1) : fdScrName}" property="fdScrName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
    </tr>
    <tr>
        <td class="td_normal_title" width="15%">
            报告检查员
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${fdReportInspectorName != '' ? fdReportInspectorName.substring(1) : fdReportInspectorName}" property="fdReportInspectorName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
        <td class="td_normal_title" width="15%">
            地形图检查员
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${fdMapInspectorName != '' ? fdMapInspectorName.substring(1) : fdMapInspectorName}" property="fdMapInspectorName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
    </tr>
    <tr>
        <td class="td_normal_title" width="15%">
            核定人
        </td>
        <td width="35%">
            <div _xform_type="text">
                <xform:text value="${fdHdrName != '' ? fdHdrName.substring(1) : fdHdrName}" property="fdHdrName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
        <td class="td_normal_title" width="15%">
            批准人
        </td>
        <td width="35%">
            <div _xform_type="dialog">
                <xform:text value="${fdPzrName != '' ? fdPzrName.substring(1) : fdPzrName}" property="fdPzrName" showStatus="${param.showStatus == 'edit' ? 'readOnly' : param.showStatus}" style="width:95%;"/>
            </div>
        </td>
    </tr>
<script>
    if (${param.showStatus == 'edit'}) {
        $KMSSValidation();
    }
</script>

form_option.js 中的 outputs 属性的 value 对应的如上所示的这个页面的 property

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值