Browse Source

添加调整页

user5 4 years ago
parent
commit
530882b015

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/overheadline/mapper/OverheadLineMapper.java

@@ -46,7 +46,7 @@ public interface OverheadLineMapper {
      * @param parentNode 节点编码
      * @return
      */
-    List<JkxlDetailFee> getSubElements(@Param("shortId")String parentNode);
+    List<JkxlDetailFee> getSubElements(@Param("parentNode")String parentNode);
 
     /**
      * 插入detail数据

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/overheadline/web/OverheadLineController.java

@@ -172,7 +172,7 @@ public class OverheadLineController extends BaseController {
     String wbsCode = request.getParameter("wbsCode");
     List<JkxlDetailFee> subElements = itemShowUtil.getSubElements(wbsCode);
     model.addAttribute("list",subElements);
-    return "";
+    return "modules/sg/free/adjustmentForm";
   }
 
   /**

+ 154 - 0
src/main/webapp/webpage/modules/sg/free/adjustmentForm.js

@@ -0,0 +1,154 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<script type="text/javascript">
+layui.config({
+    base: '${ctxp}/static/plugin/assets/'
+}).extend({
+}).use(['layer', 'table'], function () {
+    var $ = layui.jquery;
+    var table = layui.table;
+    var layer = layui.layer;
+    var renderTable1 = function () {
+    layer.load(2);
+    table.render({
+    elem: '#longtable',
+    limit:Number.MAX_VALUE,
+    title: '结算汇总表',
+    cols: [[
+        {field:'wbsys', align:'center', title:'描述'},
+        {field:'wbsCode', align:'center', title:'WBS识别码'},
+        {field:'bl', align:'center', title:'比例(%)',edit:'text'},
+        {field:'fee', align:'center', title:'分摊金额',edit:'text'},
+    ]],
+    data: [
+        <c:if test="${ not empty list}">
+            <c:forEach items="${list}" var="data" varStatus="index">
+            {
+                "id":"${data.wbsCode}",
+                "wbsys": "${data.simpleDescribe}",
+                "wbsCode": "${data.wbsCode}",
+                "bl":'',
+                "fee":'',
+                "pid": "${data.parentNode}"
+            },
+            </c:forEach>
+        </c:if>
+    ],
+    done: function () {
+    $(".layui-icon-triangle-d").closest('tr').find("[data-field='bl']").data('edit', false);
+    $(".layui-icon-triangle-d").closest('tr').find("[data-field='fee']").data('edit', false);
+    layer.closeAll('loading');
+}
+});
+};
+    renderTable1();
+    //计算比例/金额
+    table.on('edit(longtable)', function(obj){
+    var field = obj.field;
+    var moneycount = $("#readid2").text();
+    if(field == 'bl'){
+    var value = obj.value;
+    var data = obj.data;
+    var blvalue = value/100;
+    if(value==''){
+    var w = $(this).closest("tr").find("td").eq("3").find("div").html("");
+    data.fee="";
+    return false;
+}
+    if(isNaN(blvalue)){
+    layer.msg('请输入有效数字',{icon: 5,offset:['40%','40%']});
+    return false;
+}
+    var bfb = (blvalue*moneycount);
+    var w = $(this).closest("tr").find("td").eq("3").find("div").html(bfb);
+    data.fee=bfb;
+}else{
+    var value = obj.value;
+    var data = obj.data;
+    var feevalue = value/moneycount;
+    if(value==''){
+    $(this).closest("tr").find("td").eq("2").find("div").html("");
+    data.bl="";
+    return false;
+}
+    if(isNaN(value)){ //判断输入是否是数字
+    layer.msg('请输入有效数字',{icon: 5,offset:['40%','40%']});
+    return false;
+}
+    var bfb2 = (feevalue*100);
+    $(this).closest("tr").find("td").eq("2").find("div").html(bfb2);
+    data.bl=bfb2;
+}
+});
+    $('#btn-search').click(function () {
+        var keyword = $('#edt-search').val();
+        var searchCount = 0;
+        $('#longtable').next('.layui-border-box').find('.layui-table-body tbody tr td').each(function () {
+            $(this).css('background-color', 'transparent');
+            var text = $(this).text();
+            if (keyword != '' && text.indexOf(keyword) >= 0) {
+                $(this).css('background-color', 'rgba(250,230,160,0.5)');
+                if (searchCount == 0) {
+                    $('html,body').stop(true);
+                    $('html,body').animate({scrollTop: $(this).offset().top - 150}, 500);
+                }
+                searchCount++;
+            }
+        });
+        if (keyword == '') {
+            layer.msg("请输入搜索内容", {icon: 5,offset:['40%','40%']});
+        } else if (searchCount == 0) {
+            layer.msg("没有匹配结果", {icon: 5,offset:['40%','40%']});
+        }
+    });
+
+    var $ = layui.$, active = {
+    getCheckData: function(){ //获取选中数据
+
+    /*var checkStatus = table.checkStatus('checktable'),
+    data = checkStatus.data;*/
+    var moneycount2 = $("#readid2").text();
+    //获取所有列表数据
+    var jsondata=JSON.stringify(table.cache.longtable);
+    var objdata = JSON.parse(jsondata);
+    var blcount = 0;
+    var feecount = 0;
+    for (var i = 0;i<objdata.length;i++) {
+    blcount=Number(blcount)+Number(objdata[i].bl) ;
+    feecount=Number(feecount)+Number(objdata[i].fee);
+}
+    if(blcount!=100||feecount!=moneycount2){
+    layer.msg('比例/金额分配不正确!',{icon: 5,offset:['40%','40%']});
+    return false;
+}
+    var newid2 = parent.$('#newid').val();//获取父类input框的值
+    var xmmc2 = parent.$('#xmmc1').val();
+    var fyje2 = parent.$('#fyje1').val();
+    //加载提示
+    layer.msg('加载中', {
+    icon: 16
+    ,shade: 0.01
+    ,time:false
+    ,offset:['40%','40%']
+});
+    $.ajax({
+    type:"post",
+    url:"${ctx}/jkxl/saveSubNodes",
+    // data:JSON.stringify({id:newid2,type:xmmc2,fee:fyje2}),
+    data:{id:newid2,type:xmmc2,fee:fyje2,tableData:jsondata},
+    success:function(result){
+    parent.location.reload();
+}
+});
+}
+};
+    $('.suretable .layui-btn').on('click', function(){
+    var type = $(this).data('type');
+    active[type] ? active[type].call(this) : '';
+})
+    var newid2 = parent.$('#newid').val();
+    var xmmc2 = parent.$('#xmmc1').val();
+    var fyje2 = parent.$('#fyje1').val();
+    $("#mylable2").text(xmmc2);
+    $("#readid2").text(fyje2);
+});
+</script>

+ 53 - 0
src/main/webapp/webpage/modules/sg/free/adjustmentForm.jsp

@@ -0,0 +1,53 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+    <title>单独调整</title>
+    <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
+    <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
+    <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
+    <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
+    <%@include file="adjustmentForm.js"%>
+</head>
+<style>
+    .layui-table-view .layui-table {width:100%}
+    .layui-table-cell .layui-form-checkbox[lay-skin="primary"]{top: 50%;transform: translateY(-50%);}
+    .layui-icon-layer{display: none;}
+    .layui-icon-file{display: none;}
+    .layui-table-tips-main{display:none}
+    .layui-table-tips-c{display:none}
+    .solr{height: 33px;line-height: 33px;padding: 0 7px;border: 1px solid #ccc;border-radius: 2px;margin-bottom: -2px;outline: none;width: 190px;}
+    input:focus {border-color: #009E94;}
+</style>
+<body>
+<div class="layui-btn-group suretable" style="display: none;">
+    <button class="layui-btn"  data-type="getCheckData" id="freenl">确定</button>
+</div>
+<table>
+<tbody>
+<tr>
+<td>
+<form class="layui-form" action="">
+    <div class="layui-form-item" style="float: left;">
+        <div class="" style="margin-left: 10px;margin-top: 10px;">
+            <span id="mylable2" style="font-size: 13px">调整</span>
+            <span style="font-size: 13px">:</span>
+            <span id="readid2" style="font-size: 13px"></span>
+        </div>
+    </div>
+</form>
+</td>
+<td>
+<div style="">&nbsp;&nbsp;
+    <input id="edt-search" type="text" placeholder="输入关键字" class="solr" style="font-size: 13px"/>&nbsp;&nbsp;
+    <button class="layui-btn" id="btn-search">&nbsp;&nbsp;搜索&nbsp;&nbsp;</button>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<div style="margin-left: 10px;margin-right: 10px">
+<table class="layui-table" id="longtable" lay-filter="longtable"></table>
+</div>
+</body>
+</html>

+ 5 - 2
src/main/webapp/webpage/modules/sg/free/wbslist.js

@@ -28,7 +28,7 @@ layui.config({
             ////对操作进行初始化
             var xml = "";
             if(d.requireSubNode){ //调整按钮
-                xml +="<a style='margin-top: 3px;' class='layui-btn layui-btn-xs'  onclick=\"adjustment('${ctx}/jkxl/getSubNode?id=" + d.subNodeId + "')\">调整</a>"
+                xml +="<a style='margin-top: 3px;' class='layui-btn layui-btn-xs'  onclick=\"adjustment('"+d.subNodeId+"','"+d.hj+"','${ctx}/jkxl/getSubElements?wbsCode=" + d.id + "')\">调整</a>"
             }else {
                 xml +=""
             }
@@ -262,7 +262,10 @@ layui.use(['table', 'form', 'element', 'treetable'], function () {
         })
     }
 
-    function adjustment(url){ //调整 弹出层
+    function adjustment(id,totalFee,url){ //调整 弹出层
+        $("#newid").val(id); //将id写入当前页面input框中
+        $("#fyje1").val(totalFee);
+        $("#xmmc1").val("合计");
         layui.use(['table','layer'],function(){
             layer.open({  //弹出层页面
                 type: 2,