• 父子窗口


    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ include file="/WEB-INF/views/include/taglib.jsp"%>
    <html>
    <head>
    <title>开单管理</title>
    <meta name="decorator" content="default"/>
    <script type="text/javascript">
    $(document).ready(function() {
    //$("#name").focus();
    $("#btnSubmit").click(function(){
    changeJieyuhou();
    $("#inputForm").submit();
    });

    $("#inputForm").validate({
    submitHandler: function(form){
    loading('正在提交,请稍等...');
    form.submit();
    },
    errorContainer: "#messageBox",
    errorPlacement: function(error, element) {
    $("#messageBox").text("输入有误,请先更正。");
    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
    error.appendTo(element.parent().parent());
    } else {
    error.insertAfter(element);
    }
    }
    });
    });
    function getGoods() {
    var factory = $("#factory :selected").val();
    var store = $("#suibianName").val();
    if(factory=="" || factory == null || store=="" || store == null){
    layer.alert("厂商和门店为必选项");
    return;
    }
    layer.open({
    id: 'selectGood-form',//定义子页面的ID标记
    type: 2,
    title: '货品列表',
    shadeClose: true,
    shade: 0.5,
    maxmin: true,
    area: ["70%", "90%"],
    /*content: "${ctx}/kd/kdSale/getGoods"*/
    content: "${ctx}/kd/kdSale/getGoods?factory="+factory+"&store="+store+""
    ,btn: ['全选', '不选', '确认']
    ,yes: function(index, layero){
    var frameId=document.getElementById('selectGood-form').getElementsByTagName("iframe")[0].id;
    $('#'+frameId)[0].contentWindow.choice(1);
    }
    ,btn2: function(index, layero){
    var frameId=document.getElementById('selectGood-form').getElementsByTagName("iframe")[0].id;
    $('#'+frameId)[0].contentWindow.choice(2);
    return false;
    }
    ,btn3: function(index, layero){
    var frameId=document.getElementById('selectGood-form').getElementsByTagName("iframe")[0].id;
    $('#'+frameId)[0].contentWindow.addGoods();
    }

    });
    }
    function out(obj) {
    $("#span" + obj).show();
    $("#but" + obj).hide();
    }

    function over(obj) {
    $("#span" + obj).hide();
    $("#but" + obj).show();
    }
    function removerow(obj) {
    $(obj).parent().parent().remove();
    changeTotalAndPayable();
    }

    //动态改变小计金额
    function changeNum(obj) {
    var id=obj.id.substring(3);
    //获取销售数量和库存数量
    var saleCount=parseInt($("#num"+id).val());
    var stockCount=parseInt($("#stock"+id).val());
    //alert(saleCount+"===="+stockCount);
    if(saleCount>stockCount){
    layer.alert("库存不足,请重新输入");
    $("#num"+id).val(1);
    $("#amount"+id).val(parseFloat($("#price"+id).val()));
    }else{
    var value= parseFloat($("#price"+id).val())*parseFloat($("#num"+id).val())
    $("#amount"+id).val(value);
    }
    changeTotalAndPayable();
    }

    //动态改变总数和应付金额
    function changeTotalAndPayable() {
    var nums = 0;
    var sum = 0;
    //求货品总数和总额
    $("input[name='num']").each(function (index) {
    var id = $(this).attr("id").substring(3) ;
    var num = parseFloat($(this).val());
    nums += num;
    sum += num*parseFloat($("#price"+id).val());
    });
    $("#total").val(nums);//总数
    $("#payable").val(sum);//应付金额
    }


    function distKnameField(obj) {
    var id = obj.selectedIndex;
    var value = obj.options[id].value;
    var text = obj.options[id].text;
    $.post("${ctx}/wl/wlCustomer/getCustom", {id: value},
    function (res) {
    var data= $.parseJSON(res);
    if(value!="") {//表示已选择了一个客户
    $("#kname").val(text);
    var amount=parseFloat(data.advanceAmount)+parseFloat(data.forCash)+parseFloat(data.wechatAmount)+parseFloat(data.alipayAmount);
    //结余=额度+现金+微信+支付宝
    $("#jieyu").val(amount);
    $("#edu").val(data.advanceAmount);
    $("#weixin").val(data.wechatAmount);
    $("#xianjin").val(data.forCash);
    $("#zhifubao").val(data.alipayAmount);
    }
    else{
    $("#kname").val(0);
    $("#jieyu").val(0);
    $("#weixin").val(0);
    $("#xianjin").val(0);
    $("#zhifubao").val(0);
    }
    }
    );
    }
    function changeJieyuhou() {
    //计算“结余后”的值
    var edu=$("#edu").val();
    var xianjin=$("#xianjin").val();
    var hexiao = $("#hexiao").val();
    //核销金额>额度
    if(parseFloat(hexiao)>parseFloat(edu)){
    layer.alert("核销金额已超出使用额度!");
    $("#jieyuhou").val("");
    return;
    }
    var shuaka = $("#shuaka").val();
    //刷卡金额>现金
    if(parseFloat(shuaka)>parseFloat(xianjin)){
    layer.alert("刷卡金额已超出现有金额!");
    $("#jieyuhou").val("");
    return;
    }
    var jieyu = $("#jieyu").val();
    var huikuan = $("#huikuan").val();
    //实付金额=核销+刷卡+汇款
    var shifu=parseFloat(hexiao)+parseFloat(shuaka)+parseFloat(huikuan);
    //结余后金额=结余-核销-刷卡+汇款
    var jieyuhou=parseFloat(jieyu)-parseFloat(hexiao)-parseFloat(shuaka)+parseFloat(huikuan);
    $("#jieyuhou").val(jieyuhou);
    $("#shifu").val(shifu);
    }
    </script>
    </head>
    <body>
    <ul class="breadcrumb">
    <li>首页<span class="divider"> > </span></li>
    <li>销售开单<span class="divider"> > </span></li>
    <li class="active">开单</li>
    <li style="float: right"><a class="btn btn-primary btn-small" href="#"
    onclick="javascript:location.replace(location.href.replace('#',''));"><i
    class="icon-refresh"></i>刷新</a></li>
    </ul>
    <br/>
    <ul class="breadcrumb">
    <input id="success" hidden="hidden">
    </ul>
    <form:form id="inputForm" modelAttribute="kdSale" action="${ctx}/kd/kdSale/save" method="post" class="form-horizontal">
    <form:hidden path="id"/>
    <sys:message content="${message}"/>
    <table>
    <tr>
    <td>
    <div class="control-group">
    <label class="control-label">门店:</label>
    <div class="controls">
    <%-- text5表示门店--%>
    <sys:treeselect id="suibian" name="suibianStr" value="" labelName="text5" cssStyle="118px"
    labelValue=""
    title="门店" url="/sys/office/treeData?type=2"
    notAllowSelectParent="true"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">厂商:</label>
    <div class="controls">
    <select id="factory" path="factory" class="input-medium" style="176px">
    <option value="">请选择</option>
    <c:forEach var="bean" items="${fns:getFirmList()}">
    <option value="${bean.name}"
    >${bean.name}</option>
    </c:forEach>
    </select>
    </div>
    </div>
    </td>
    <td colspan="2">
    <div class="control-group">
    <label class="control-label">是否挂单:</label>
    <form:select path="guadan" class="input-medium" style="176px">
    <form:options items="${fns:getDictList('data_flag')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
    </form:select>

    </div>
    </td>
    </tr>
    <tr>
    <td>
    <div class="control-group">
    <label class="control-label">客户:</label>
    <input type="hidden" id="kname" name="kname">
    <input type="hidden" id="edu" name="edu">
    <select path="kid" name="kid" class="input-medium" style=" 176px" onchange="distKnameField(this)">
    <option value="">--请选择--</option>
    <c:forEach var="bean" items="${fns:getCustomList()}">
    <option value="${bean.id}"
    >${bean.name}</option>
    </c:forEach>
    </select>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">结余:</label>
    <div class="controls">
    <form:input path="jieyu" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">微信:</label>
    <div class="controls">
    <form:input path="weixin" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">现金:</label>
    <div class="controls">
    <form:input path="xianjin" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">支付宝:</label>
    <div class="controls">
    <form:input path="zhifubao" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    </tr>
    <tr>
    <td>
    <div class="control-group">
    <label class="control-label">日期:</label>
    <div class="controls">
    <input name="saleDate" type="text" readonly="readonly" maxlength="20" class="input-medium required Wdate "
    value="<fmt:formatDate value="${kdSale.saleDate}" pattern="yyyy-MM-dd HH:mm:ss"/>"
    onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:false});"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">店员:</label>
    <div class="controls">
    <form:input path="storeler" htmlEscape="false" maxlength="64" class="input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">应付:</label>
    <div class="controls">
    <form:input path="payable" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">实付:</label>
    <div class="controls">
    <form:input path="shifu" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">总数:</label>
    <div class="controls">
    <form:input path="total" htmlEscape="false" readonly="true" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    </tr>
    <tr>
    <td>
    <div class="control-group">
    <label class="control-label">备注:</label>
    <div class="controls">
    <form:input path="remarks" htmlEscape="false" class="input-medium"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">核销:</label>
    <div class="controls">
    <form:input path="hexiao" htmlEscape="false" maxlength="64" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">刷卡:</label>
    <div class="controls">
    <form:input path="shuaka" htmlEscape="false" maxlength="64" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">汇款:</label>
    <div class="controls">
    <form:input path="huikuan" htmlEscape="false" maxlength="64" cssClass="number input-medium required"/>
    </div>
    </div>
    </td>
    <td>
    <div class="control-group">
    <label class="control-label">结余:</label>
    <div class="controls">
    <form:input path="jieyuhou" htmlEscape="false" maxlength="64" readonly="true" cssClass="number input-medium required"/>
    <input id="" class="btn btn-info" type="button" onclick="changeJieyuhou()" value="核销"/>
    </div>
    </div>
    </td>
    </tr>
    <tr>
    <td colspan="5">
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;说明:实付金额=核销+刷卡+汇款, 第二个结余 = 结余-核销-刷卡+汇款
    </td>
    </tr>

    <tr>
    <td colspan="5">
    <div style="height: 10px;"></div>
    货品<a class="btn btn-success" href="#" onclick="getGoods()"><i class="layui-icon" data-icon="�">�</i>新增货品</a>
    <div style="height: 10px;"></div>
    </td>
    </tr>
    <tr>
    <td colspan="5">
    <table class="table table-striped table-bordered table-condensed" id="table">
    <tr>
    <td>序号</td><td>图片</td><td>货品</td>
    <td>颜色</td><td>尺码</td>
    <td>数量</td><td>单价</td>
    <td>小计</td><td>备注</td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <div class="form-actions">
    <shiro:hasPermission name="kd:kdSale:edit"><input id="btnSubmit" class="btn btn-primary" type="button" value="保存"/>&nbsp;</shiro:hasPermission>
    <input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
    </div>
    </form:form>
    </body>
    </html>


    子页面
    <%@ page contentType="text/html;charset=UTF-8" %>
    <%@ include file="/WEB-INF/views/include/taglib.jsp" %>
    <html>
    <head>
    <title>货品管理</title>
    <meta name="decorator" content="default"/>
    <%--
    <link rel="stylesheet" href="${ctxStatic}/amaze-ui/assets/css/amazeui.min.css" media="all" />
    <link rel="stylesheet" href="${ctxStatic}/layui/css/layui.css" media="all" />
    --%>
    <script type="text/javascript">
    $(document).ready(function () {

    });
    function page(n, s) {
    $("#pageNo").val(n);
    $("#pageSize").val(s);
    $("#searchForm").submit();
    return false;
    }

    function choice(o) {
    $("input[name='ids']").each(function () {
    if (o == 1) {
    $(this).attr("checked","checked");
    } else {
    $(this).removeAttr("checked");
    //$(this).prop("checked", false)
    }
    });
    }
    var str = []; //定义一数组
    function addGoods() {
    var tmp = parent.$("#table tr").length;
    var table = parent.$("#table");
    var j = 1,sum=0;
    // var tmp =$("#tbody").find("tr").length;
    parent.$("#table tr").each(function () {
    str.push(parent.$("#goodsId" + j + "").val());
    j++;
    });
    var i = 0, arrChk = $("input[name='ids']:checked"), goodsId = "", goodsName = "", img = "", color = "", size = "",stock="", price, buf = [];
    $(arrChk).each(function () {
    goodsId += this.value;
    var ss = this.value;
    if (str.length > 0) {
    for (var j = 0; j < str.length; j++) {
    if (ss == str[j]) {
    // alert("");
    return;
    }
    }
    }
    goodsId += ",";
    i++;
    img = $(this).parents("#tab tr").find('td:eq(1)').text().trim();
    goodsName = $(this).parents("#tab tr").find('td:eq(3)').text().trim();
    color = $(this).parents("#tab tr").find('td:eq(5)').text().trim();
    size = $(this).parents("#tab tr").find('td:eq(6)').text().trim();
    stock = $(this).parents("#tab tr").find('td:eq(7)').text().trim();
    price = $(this).parents("#tab tr").find('td:eq(9)').text().trim();

    buf.push('<tr>');
    buf.push('<input type="hidden" name="goodsId" id ="goodsId' + tmp + '" value="', this.value, '">');
    buf.push('<input type="hidden" name="stock" id ="stock' + tmp + '" value="',stock, '">');
    buf.push('<td align="center" onmouseout="out(' + (tmp) + ')" onmouseover="over(' + (tmp) + ')" bgcolor="#FFFFFF"><span id="span' + (tmp) + '">');
    buf.push(tmp, '</span>');
    buf.push('<button type="button" style="display: none" id="but' + (tmp) + '" class="btn btn-xs btn-danger" title="删除" onclick="removerow(this)">');
    // buf.push('<td align="center" valign="middle" bgcolor="#FFFFFF">',i,'</td>');
    buf.push('<i class="ace-icon fa fa-trash-o bigger-120"></i>删除</button></span></td>');
    buf.push('<td><input type="hidden" name="pic" id ="pic' + tmp + '" value="',img, '"> <image src="', img, '" alt="logo" style="30px;height:40px"/></td>');
    buf.push('<td><input type="hidden" name="styleName" id ="styleName' + tmp + '" value="',goodsName,'">' , goodsName, '</td>');
    buf.push('<td><input type="hidden" name="color" id ="color' + tmp + '" value="',color, '">', color, '</td>');
    buf.push('<td><input type="hidden" name="size" id ="size' + tmp + '" value="',size, '">' , size, '</td>');
    buf.push('<td><input type="text" name="num" class="input-small" id ="num' + tmp + '" value="1" onblur="changeNum(this)"></td>');
    buf.push('<td><input type="hidden" name="price" id ="price' + tmp + '" value="',price, '">' , price, '</td>');
    buf.push('<td><input type="text" name="amount" class="input-small" readonly id ="amount' + tmp + '" value="',price,'" ></td>');
    buf.push('<td><textarea name="text10" class="input-small" ></textarea></td>');
    buf.push('</tr>');
    tmp++;
    sum = parseInt(sum)+parseInt( price);
    });
    parent.$("#table").append(buf.join(''));
    parent.$("#total").val(i);
    parent.$("#payable").val(sum);
    }
    </script>
    </head>
    <body>

    <form:form id="searchForm" modelAttribute="hpcxCloth" action="${ctx}/kd/kdSale/getGoods" method="post" class="breadcrumb form-search">
    <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
    <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
    </form:form>
    <table id="tab" class="table table-striped table-bordered table-condensed">
    <thead>
    <tr>
    <th>选择</th>
    <th style="display:none"></th>
    </div>
    <th>图片</th>
    <th>名称</th>
    <th>类别</th>
    <th>颜色</th>
    <th>尺码</th>
    <th>库存</th>
    <th>进价</th>
    <th>零售价</th>
    <th>打包价</th>
    <th>计量单位</th>
    </tr>
    </thead>
    <tbody>
    <c:forEach items="${page.list}" var="hpCloth" varStatus="idx">
    <tr>
    <td>
    <input type="checkbox" name="ids" am-filter="choose" value="${hpCloth.id}">${idx.count}
    </td>
    <td style="display: none">${hpCloth.pic}
    </td>
    <td>
    <image src="${hpCloth.pic}" alt="logo" style="30px;height:40px"/>
    </td>
    <td>
    ${hpCloth.styleName}
    </td>
    <td>
    ${hpCloth.typeName}
    </td>
    <td>
    ${hpCloth.color}
    </td>
    <td>
    ${hpCloth.size}
    </td>
    <td>
    ${hpCloth.stock}
    </td>
    <td>
    ${hpCloth.comeinPrice}
    </td>
    <td>
    ${hpCloth.zeroPrice}
    </td>
    <td>
    ${hpCloth.packPrice}
    </td>

    <td>
    ${hpCloth.oneUnit}
    </td>
    </tr>
    </c:forEach>
    </tbody>
    </table>
    <div class="pagination">
    ${page}
    </div>
    </body>
    </html>

  • 相关阅读:
    Python中的时间
    Python + Selenium 自动化环境搭建过程
    HTML手写课程表,练基础
    temp2
    Jenkins配置文件
    Jenkins安装Slave节点
    Jenkins管理插件
    常见的linux上的服务重启脚本
    测试感慨
    docker的安装
  • 原文地址:https://www.cnblogs.com/gtbky/p/8405655.html
Copyright © 2020-2023  润新知