Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

蔡德晨 5 rokov pred
rodič
commit
96d102fcd0

+ 193 - 0
src/main/webapp/webpage/modules/sg/free/alongst.jsp

@@ -0,0 +1,193 @@
+<%--
+  Created by IntelliJ IDEA.
+  User: user
+  Date: 2019/8/11
+  Time: 9:30
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<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>
+</head>
+<style>
+    .layui-table-view .layui-table {width:100%}
+</style>
+<body>
+<form class="layui-form" action="">
+    <div class="layui-form-item">
+        <div class="" style="margin-left: 10px;margin-top: 10px;">
+            <span id="mylable2">项目调整</span>
+            <span>:</span>
+            <span id="readid2">200</span>
+        </div>
+        <div class="" style="margin-left: 10px;">
+            <input type="radio" name="mydiv" value="增加" title="增加">
+            <input type="radio" name="mydiv" value="减少" title="减少">
+        </div>
+    </div>
+</form>
+<!--<div>-->
+<table class="layui-hide" id="longtable" lay-filter="longtable"></table>
+<!--</div>-->
+
+<div class="layui-btn-group suretable" style="display: none;">
+    <button class="layui-btn"  data-type="getCheckData" id="freenl">确定</button>
+</div>
+
+<script>
+    layui.use(['table','form','layedit', 'laydate'], function(){
+        var table = layui.table
+            ,form = layui.form;
+        form.render();
+        table.render({
+            elem: '#longtable'
+            ,title: '单独调整页'
+            ,id:'checktable'
+            ,cols: [[
+                {type: 'checkbox'}
+                ,{field:'wbsys',width:100,title:'分布分项'}
+                ,{field:'wbssbm',width:120,title:'WBS识别码'}
+                ,{field:'bl',width:100,title:'比例',edit: 'text'}
+                ,{field:'ftje',width:100,title:'分摊金额',edit: 'text'}
+            ]]
+            ,data:[
+                {
+                    "id":"1",
+                    "wbsys": "",
+                    "wbssbm": "",
+                    "bl":'',
+                    "ftje":''
+                },
+                {
+                    "id":"2",
+                    "wbsys": "",
+                    "wbssbm": "",
+                    "bl":'',
+                    "ftje":''
+                },
+                {
+                    "id":"3",
+                    "wbsys": "",
+                    "wbssbm": "",
+                    "bl":'',
+                    "ftje":''
+                }
+            ]
+            ,page: false
+        });
+        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.substring(0,value.length-1);
+                var ofvalue = value.substring(value.length-1,value.length);
+                if(value==''){
+                    $(this).html(value);
+                    var w = $(this).closest("tr").find("td").eq("4").html();
+                    data.ftje="";
+                    return false;
+                }
+                if(isNaN(blvalue)||ofvalue!="%"){
+                    layer.msg('请输入正确的格式(-%-)');
+                    return false;
+                }
+                var bfb = changeTwoDecimal((blvalue/100)* moneycount);
+                $(this).html(value);
+                var w = $(this).closest("tr").find("td").eq("4").html(bfb);
+                data.ftje=bfb;
+            }else{
+                var value = obj.value;
+                var data = obj.data;
+                if(value==''){
+                    $(this).html(value);
+                    $(this).closest("tr").find("td").eq("3").html("");
+                    data.bl="";
+                    return false;
+                }
+                if(isNaN(value)){
+                    layer.msg('请输入有效数字');
+                    return false;
+                }
+                var ftf= changeTwoDecimal(value/moneycount);
+//		    	alert(ftf);
+                var bfb2 = (ftf*100)+"%";
+                $(this).html(value);
+                $(this).closest("tr").find("td").eq("3").html(bfb2);
+                data.bl=bfb2;
+            }
+        });
+        var $ = layui.$, active = {
+            getCheckData: function(){ //获取选中数据
+                var checkStatus = table.checkStatus('checktable'),
+                    data = checkStatus.data;
+                var moneycount2 = $("#readid2").text();
+                var val = $('input[name="mydiv"]:checked').val();
+                if(val==null){
+                    layer.msg('请选择操作方式');
+                    return false;
+                }
+                var jsondata=JSON.stringify(data);
+//		     var e= jsondata.stringify(jsondata);
+                var objdata = JSON.parse(jsondata);
+                var blcount = 0;
+                var ftjecount = 0;
+                for (var i = 0;i<objdata.length;i++) {
+                    blcount=Number(blcount)+Number(parseFloat(objdata[i].bl.substring(0,objdata[i].bl.length-1)).toFixed(2));
+                    ftjecount=Number(ftjecount)+Number(parseFloat(objdata[i].ftje).toFixed(2));
+                }
+                if(blcount!=100||ftjecount!=moneycount2){
+                    layer.msg('比例/金额分配不正确!');
+                    return false;
+                }
+                $.ajax({
+                    type:"get",
+                    url:"",
+//		    	async:true
+                    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>
+<script>
+    function changeTwoDecimal(v) {
+//		if (isNaN(v))
+//		return 0;
+//		}
+        var fv = parseFloat(v);
+        fv = Math.round(fv * 100) / 100; //四舍五入,保留两位小数
+        var fs = fv.toString();
+        var fp = fs.indexOf('.');
+        if (fp < 0) {
+            fp = fs.length;
+            fs += '.';
+        }
+        while (fs.length <= fp + 2) { //小数位小于两位,则补0
+            fs += '0';
+        }
+        return fs;
+    }
+</script>
+</body>
+</html>

+ 9 - 4
src/main/webapp/webpage/modules/sg/free/avgpage.jsp

@@ -27,10 +27,15 @@
 
     </div>
     <div class="layui-form-item">
-        <label class="layui-form-label" id="mylable"></label>
-        <div class="layui-input-block">
-            <input type="text" value="5000" id="readid" readonly="readonly" class="layui-input" style="width:20%;border:none;">
+        <div class="" style="margin-left: 30px;margin-top: 10px;">
+            <span id="mylable">项目调整</span>
+            <span>:</span>
+            <span id="readid2">200</span>
         </div>
+        <%--<label class="layui-form-label" id="mylable"></label>--%>
+        <%--<div class="layui-input-block">--%>
+            <%--<input type="text" value="5000" id="readid" readonly="readonly" class="layui-input" style="width:20%;border:none;">--%>
+        <%--</div>--%>
         <div class="layui-input-block">
             <input  type="radio" name="state" value="1" title="增加" checked="checked"/>
             <input  type="radio" name="state" value="2" title="减少" checked=""/>
@@ -91,7 +96,7 @@
         $("#xmmc2").val(xmmc2);
         $("#fyje2").val(fyje2);
         $("#mylable").text(xmmc2);
-        $("#readid").val(fyje2);
+        $("#readid").text(fyje2);
     });
 
     function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。

+ 1 - 1
src/main/webapp/webpage/modules/sg/free/indexProject.jsp

@@ -19,7 +19,7 @@
     <sys:message content="${message}"/>
     <div class="" style="margin-left: 30px;">
         <input type="button" class="layui-btn layui-btn-radiu" value="选择结算文件" id="btnxz"/>
-        <input type="text" style="border-style:none;border:0;display: none" readonly="readonly"/>
+        <input type="text" style="border-style:none;border:0;" readonly="readonly"/>
         <input type="file" style="display: none;" accept=".xls,.xlsx" id="myfile" name="file"/>
     </div>
     <div class="limit-divbr"></div>

+ 36 - 2
src/main/webapp/webpage/modules/sg/free/wbslist.jsp

@@ -263,13 +263,47 @@
             if(obj.event === 'fttz'){
                 sureradio(data);
             } else if(obj.event === 'ddtz'){
-                datacount=JSON.stringify(data);
+                sureradio2(data);
             }
             // alert(datacount);
         });
     });
 </script>
 <script>
+    function sureradio2(data){
+        var newid = data.id;
+        var xmmc = data.xmmc;
+        var fyje = data.fyje;
+        $("#newid").val(newid);
+        $("#xmmc1").val(xmmc);
+        $("#fyje1").val(fyje);
+//		alert(fyje);
+        layui.use(['table','layer'],function(){
+
+            layer.open({
+                type: 2,
+                title: '单独调整',
+                area: ['700px', '500px'],
+                shade: 0.8,
+//		  closeBtn: 0,
+//      fixed: true, //不固定
+                maxmin: true,
+                shadeClose: true,
+                content: '${ctxp}/webpage/modules/sg/free/alongst.jsp'
+                , btn: ['确定','关闭']
+                ,yes: function(index, layero){
+                    var bodyparent = layer.getChildFrame('body', index);
+                    bodyparent.find('#freenl').click();
+                }
+                ,btn2: function(index, layero){
+//		  		alert(layero);
+                    layer.close(index);
+                }
+            })
+        })
+    }
+</script>
+<script>
     function sureradio(data,target){
         var newid = data.id;
         var xmmc = data.xmmc;
@@ -282,7 +316,7 @@
            layer.open({
                 type: 2,
                 title: xmmc,
-                area: ['450px', '400px'],
+                area: ['400px', '500px'],
                 shade: 0.8,
                 shadeClose: true,
                 content: '${ctxp}/webpage/modules/sg/free/avgpage.jsp'