浏览代码

2.1.1 no.2 up

likeku 7 年之前
父节点
当前提交
b102385c6e

+ 13 - 9
global/js/jlzf-change-new.js

@@ -13,7 +13,11 @@ $(function(){
 
     $('.addlistbtn').on('click',function(){
         //生成table清单
-        maketablelist();
+        if($(this).hasClass('btn-default')){
+            maketablelist('addwhite');
+        }else{
+            maketablelist();
+        }
         $('#addlist').modal('hide');
 
         $('.clist input').on("valuechange", function (e, previous) {
@@ -64,7 +68,8 @@ $(function(){
                 if($.trim($(this).val()) != ''){
                     localStorage.setItem('new_clistid_'+id, $.trim($(this).val()));
                     var cnum = $.trim($(this).val());
-                    updatelist(id,cnum);
+                    var $thisstr2 = $('#list tr[list_id="'+id+'"]');
+                    updatelist(id,cnum,$thisstr2);
                 }else{
                     localStorage.removeItem('new_clistid_'+id);
                     removelist(id);
@@ -150,11 +155,9 @@ $(function(){
             localStorage.removeItem('add_new_clistid_'+id);
             maketablelist();
         }
-        //console.log($thisstr);
-        //$thisstr.remove();
     });
 
-    function maketablelist(){
+    function maketablelist(status){
         //获取小数位的设置点数
         var decimalsetarr = $('#changedecimalnum').val().split('_');
         var decimal = decimalsetarr[0];
@@ -180,16 +183,17 @@ $(function(){
                 //获取localstorage里的数据
                 var scnum = 0;
                 var sctotal = 0;
+                var trlist = [num,name,unit,price,oamount];
                 if(localStorage.hasOwnProperty('new_clistid_'+id)){
                     scnum = localStorage.getItem('new_clistid_'+id);
                     sctotal = parseFloat(price).mul(parseFloat(scnum));
-                    clist.push(id+'_'+scnum);
                 }else{
                     //新增一个localstorage
                     scnum = zero;
-                    localStorage.setItem('new_clistid_'+id,zero);
-                    clist.push(id+'_'+zero);
+                    localStorage.setItem('new_clistid_'+id,scnum);
                 }
+                trlist.push(scnum);
+                clist.push(id+'->'+trlist.join(';'));
                 rlist.push(id);
                 sctotal = sctotal != 0 ? roundnum(sctotal,decimal) : costzero;
                 var deteletr = '<td><a list_id="'+ id +'" '+ deteletr2;
@@ -249,7 +253,7 @@ $(function(){
         $('#changewhitelist').val(wlist.join(','));
 
         //获取添加的空白清单
-        if($(this).hasClass('btn-default')){
+        if(status == 'addwhite'){
             var optionlist2 = '';
             for(var j = 0; j < optionselect.length; j++){
                 optionlist2 += '<option>'+ optionselect[j] +'</option>';

文件差异内容过多而无法显示
+ 1 - 1
global/js/jlzf-change-new.min.js


+ 15 - 7
global/js/jlzf-change-pnumset.js

@@ -644,7 +644,7 @@ function decimalnumsetmodal(costdnum,numbernum,status){
         $('#list tr').eq(i).children('td').eq(7).text(ctotalnum);
         if($('#list tr').eq(i).hasClass('clid')){
             var listid = $('#list tr').eq(i).attr('list_id');
-            updatelist(listid,cnumval);
+            updatelist(listid,cnumval,$('#list tr').eq(i));
             if(status == 'update'){
                 localStorage.setItem('update_'+$('#cid').val()+'_clistid_'+listid,cnumval);
             }else if(status == 'newadd'){
@@ -712,25 +712,33 @@ function updateandgetwhitelist(newid,$thisstr){
     return adtrliststr;
 }
 //更新 changelist 元素
-function updatelist(id,cnum){
+function updatelist(id,cnum,$thisstr){
+    var adtrlist = new Array(6);
+    adtrlist[0] = $thisstr.children('td').eq(0).text();
+    adtrlist[1] = $thisstr.children('td').eq(1).text();
+    adtrlist[2] = $thisstr.children('td').eq(2).text();
+    adtrlist[3] = $thisstr.children('td').eq(3).text();
+    adtrlist[4] = $thisstr.children('td').eq(4).text();
+    adtrlist[5] = cnum;
+    var adtrliststr = adtrlist.join(';');
     //添加到form中list
     if($('#changelist').val() != ''){
         var clist = $('#changelist').val().split(',');
         var exist = 0;
         $.each(clist,function(k,v){
-            var clistid = v.split('_')[0];
+            var clistid = v.split('->')[0];
             if(clistid == id){
                 exist = 1;
-                clist.splice(k,1,id+'_'+cnum);
+                clist.splice(k,1,id+'->'+adtrliststr);
                 return false;
             }
         });
         if(exist == 0){
-            clist.push(id+'_'+cnum);
+            clist.push(id+'->'+adtrliststr);
         }
         $('#changelist').val(clist.join(','));
     }else{
-        $('#changelist').val(id+'_'+cnum);
+        $('#changelist').val(id+'->'+adtrliststr);
     }
 }
 //移除 changelist 元素
@@ -738,7 +746,7 @@ function removelist(id){
     //清除form中list
     var clist = $('#changelist').val().split(',');
     $.each(clist,function(k,v){
-        var clistid = v.split('_')[0];
+        var clistid = v.split('->')[0];
         if(clistid == id){
             clist.splice(k,1);
             return false;

文件差异内容过多而无法显示
+ 1 - 1
global/js/jlzf-change-pnumset.min.js


+ 16 - 9
global/js/jlzf-change-update.js

@@ -16,8 +16,9 @@ $(function(){
     if($('#changelist').val() != ''){
         var clist = $('#changelist').val().split(',');
         $.each(clist,function(k,v){
-            var vmsg = v.split('_');
-            localStorage.setItem('update_'+cid+'_clistid_'+vmsg[0],vmsg[1]);
+            var vmsg = v.split('->');
+            var vnum = vmsg[1].split(';');
+            localStorage.setItem('update_'+cid+'_clistid_'+vmsg[0],vnum[5]);
         })
     }
     if($('#changewhitelist').val() != ''){
@@ -30,7 +31,11 @@ $(function(){
 
     $('.addlistbtn').on('click',function(){
         //生成table清单
-        maketablelist();
+        if($(this).hasClass('btn-default')){
+            maketablelist('addwhite');
+        }else{
+            maketablelist();
+        }
         $('#addlist').modal('hide');
     });
 
@@ -82,7 +87,8 @@ $(function(){
             if($.trim($(this).val()) != ''){
                 localStorage.setItem('update_'+cid+'_clistid_'+id, $.trim($(this).val()));
                 var cnum = $.trim($(this).val());
-                updatelist(id,cnum);
+                var $thisstr2 = $('#list tr[list_id="'+id+'"]');
+                updatelist(id,cnum,$thisstr2);
             }else{
                 localStorage.removeItem('update_'+cid+'_clistid_'+id);
                 removelist(id);
@@ -160,7 +166,7 @@ $(function(){
         //$thisstr.remove();
     });
 
-    function maketablelist(){
+    function maketablelist(status){
         //获取小数位的设置点数
         var decimalsetarr = $('#changedecimalnum').val().split('_');
         var decimal = decimalsetarr[0];
@@ -188,16 +194,17 @@ $(function(){
                 //获取localstorage里的数据
                 var scnum = 0;
                 var sctotal = 0;
+                var trlist = [num,name,unit,price,oamount];
                 if(localStorage.hasOwnProperty('update_'+cid+'_clistid_'+id)){
                     scnum = localStorage.getItem('update_'+cid+'_clistid_'+id);
                     sctotal = roundnum(parseFloat(price).mul(parseFloat(scnum)),decimal);
-                    clist.push(id+'_'+scnum);
                 }else{
                     //新增一个localstorage
                     scnum = zero;
-                    localStorage.setItem('update_'+ cid +'_clistid_'+id,zero);
-                    clist.push(id+'_'+zero);
+                    localStorage.setItem('update_'+ cid +'_clistid_'+id,scnum);
                 }
+                trlist.push(scnum);
+                clist.push(id+'->'+trlist.join(';'));
                 rlist.push(id);
                 sctotal = parseFloat(sctotal) != 0 ? roundnum(sctotal,decimal) : costzero;
                 var deteletr = '<td><a list_id="'+ id +'" '+ deteletr2;
@@ -258,7 +265,7 @@ $(function(){
         $('#changewhitelist').val(wlist.join(','));
 
         //获取添加的空白清单
-        if($(this).hasClass('btn-default')){
+        if(status == 'addwhite'){
             var optionlist2 = '';
             for(var j = 0; j < optionselect.length; j++){
                 optionlist2 += '<option>'+ optionselect[j] +'</option>';

文件差异内容过多而无法显示
+ 1 - 1
global/js/jlzf-change-update.min.js


+ 81 - 41
protected/controller/ChangeController.php

@@ -352,7 +352,7 @@ class ChangeController extends DooController
                     $stotalnum = 0;
                     $listtablehtml = '<table class="table table-striped table-bordered nowrap" id="tablelist" cellspacing="0" width="100%">
 								<thead>
-									<tr><th rowspan="2" class="text-center" width="100">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更</th>';
+									<tr><th rowspan="2" class="text-center" width="100">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更增(+)减(-)</th>';
                     $thhtml = '<th class="text-center">数量</th>
 									<th class="text-center">金额</th>
 									<th class="text-center">数量</th>
@@ -590,25 +590,45 @@ class ChangeController extends DooController
                     if(!empty($_POST['changelist'])){
                         $clist = explode(',',$_POST['changelist']);
                         foreach($clist as $ck => $cv){
-                            $clistarr = explode('_',$cv);
-                            if(is_numeric($clistarr[1])){
-                                $changelistArr = $this->change->getChangeListbyid($clistarr[0]);
-                                $total += todecimal(floatval($changelistArr['unitprice'])*floatval($clistarr[1]),$decimalnum['costdnum']);
-
-                                $cauditlist = new ChangeAuditList();
-                                $cauditlist->pid = $pmArray['pid'];
-                                $cauditlist->stid = $pmArray['stid'];
-                                $cauditlist->pmid = $pmArray['pmid'];
-                                $cauditlist->cid = $cid;
-                                $cauditlist->lid = $clistarr[0];
-                                $cauditlist->lnum = $changelistArr['lnum'];
-                                $cauditlist->lname = $changelistArr['lname'];
-                                $cauditlist->unit = $changelistArr['unit'];
-                                $cauditlist->unitprice = $changelistArr['unitprice'];
-                                $cauditlist->oamount = $changelistArr['amount'];
-                                $cauditlist->camount = $clistarr[1];
-                                $cauditlist->auditjson = json_encode($auditArr);
-                                $cauditlist->insert();
+                            $clistid = explode('->',$cv)[0];
+                            $clistarr = explode(';',explode('->',$cv)[1]);
+                            if(!empty($clistarr[0]) && !empty($clistarr[1]) && is_numeric($clistarr[3]) && is_numeric($clistarr[4]) && is_numeric($clistarr[5])){
+                                $changelistArr = $this->change->getChangeListbyid($clistid);
+                                if(!empty($changelistArr)){
+                                    $total += todecimal(floatval($changelistArr['unitprice'])*floatval($clistarr[5]),$decimalnum['costdnum']);
+
+                                    $cauditlist = new ChangeAuditList();
+                                    $cauditlist->pid = $pmArray['pid'];
+                                    $cauditlist->stid = $pmArray['stid'];
+                                    $cauditlist->pmid = $pmArray['pmid'];
+                                    $cauditlist->cid = $cid;
+                                    $cauditlist->lid = $clistid;
+                                    $cauditlist->lnum = $changelistArr['lnum'];
+                                    $cauditlist->lname = $changelistArr['lname'];
+                                    $cauditlist->unit = $changelistArr['unit'];
+                                    $cauditlist->unitprice = $changelistArr['unitprice'];
+                                    $cauditlist->oamount = $changelistArr['amount'];
+                                    $cauditlist->camount = $clistarr[5];
+                                    $cauditlist->auditjson = json_encode($auditArr);
+                                    $cauditlist->insert();
+                                }else{
+                                    $total += todecimal(floatval($clistarr[3])*floatval($clistarr[5]),$decimalnum['costdnum']);
+
+                                    $cauditlist = new ChangeAuditList();
+                                    $cauditlist->pid = $pmArray['pid'];
+                                    $cauditlist->stid = $pmArray['stid'];
+                                    $cauditlist->pmid = $pmArray['pmid'];
+                                    $cauditlist->cid = $cid;
+                                    $cauditlist->lid = 0;
+                                    $cauditlist->lnum = $clistarr[0];
+                                    $cauditlist->lname = $clistarr[1];
+                                    $cauditlist->unit = $clistarr[2];
+                                    $cauditlist->unitprice = $clistarr[3];
+                                    $cauditlist->oamount = $clistarr[4];
+                                    $cauditlist->camount = $clistarr[5];
+                                    $cauditlist->auditjson = json_encode($auditArr);
+                                    $cauditlist->insert();
+                                }
                             }
                         }
                     }
@@ -960,7 +980,7 @@ class ChangeController extends DooController
                 $stotalnum = 0;
                 $listtablehtml = '<table class="table table-striped table-bordered nowrap" id="tablelist" cellspacing="0" width="100%">
 								<thead>
-									<tr><th rowspan="2" class="text-center" width="100">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更</th>';
+									<tr><th rowspan="2" class="text-center" width="100">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更增(+)减(-)</th>';
                 $thhtml = '<th class="text-center">数量</th>
 									<th class="text-center">金额</th>
 									<th class="text-center">数量</th>
@@ -1233,25 +1253,45 @@ class ChangeController extends DooController
                     if(!empty($_POST['changelist'])){
                         $clist = explode(',',$_POST['changelist']);
                         foreach($clist as $ck => $cv){
-                            $clistarr = explode('_',$cv);
-                            if(is_numeric($clistarr[1])){
-                                $changelistArr = $this->change->getChangeListbyid($clistarr[0]);
-                                $total += todecimal(floatval($changelistArr['unitprice'])*floatval($clistarr[1]),$decimalnum['costdnum']);
-
-                                $cauditlist = new ChangeAuditList();
-                                $cauditlist->pid = $pmArray['pid'];
-                                $cauditlist->stid = $pmArray['stid'];
-                                $cauditlist->pmid = $pmArray['pmid'];
-                                $cauditlist->cid = $cid;
-                                $cauditlist->lid = $clistarr[0];
-                                $cauditlist->lnum = $changelistArr['lnum'];
-                                $cauditlist->lname = $changelistArr['lname'];
-                                $cauditlist->unit = $changelistArr['unit'];
-                                $cauditlist->unitprice = $changelistArr['unitprice'];
-                                $cauditlist->oamount = $changelistArr['amount'];
-                                $cauditlist->camount = $clistarr[1];
-                                $cauditlist->auditjson = json_encode($auditArr);
-                                $cauditlist->insert();
+                            $clistid = explode('->',$cv)[0];
+                            $clistarr = explode(';',explode('->',$cv)[1]);
+                            if(!empty($clistarr[0]) && !empty($clistarr[1]) && is_numeric($clistarr[3]) && is_numeric($clistarr[4]) && is_numeric($clistarr[5])){
+                                $changelistArr = $this->change->getChangeListbyid($clistid);
+                                if(!empty($changelistArr)){
+                                    $total += todecimal(floatval($changelistArr['unitprice'])*floatval($clistarr[5]),$decimalnum['costdnum']);
+
+                                    $cauditlist = new ChangeAuditList();
+                                    $cauditlist->pid = $pmArray['pid'];
+                                    $cauditlist->stid = $pmArray['stid'];
+                                    $cauditlist->pmid = $pmArray['pmid'];
+                                    $cauditlist->cid = $cid;
+                                    $cauditlist->lid = $clistid;
+                                    $cauditlist->lnum = $changelistArr['lnum'];
+                                    $cauditlist->lname = $changelistArr['lname'];
+                                    $cauditlist->unit = $changelistArr['unit'];
+                                    $cauditlist->unitprice = $changelistArr['unitprice'];
+                                    $cauditlist->oamount = $changelistArr['amount'];
+                                    $cauditlist->camount = $clistarr[5];
+                                    $cauditlist->auditjson = json_encode($auditArr);
+                                    $cauditlist->insert();
+                                }else{
+                                    $total += todecimal(floatval($clistarr[3])*floatval($clistarr[5]),$decimalnum['costdnum']);
+
+                                    $cauditlist = new ChangeAuditList();
+                                    $cauditlist->pid = $pmArray['pid'];
+                                    $cauditlist->stid = $pmArray['stid'];
+                                    $cauditlist->pmid = $pmArray['pmid'];
+                                    $cauditlist->cid = $cid;
+                                    $cauditlist->lid = 0;
+                                    $cauditlist->lnum = $clistarr[0];
+                                    $cauditlist->lname = $clistarr[1];
+                                    $cauditlist->unit = $clistarr[2];
+                                    $cauditlist->unitprice = $clistarr[3];
+                                    $cauditlist->oamount = $clistarr[4];
+                                    $cauditlist->camount = $clistarr[5];
+                                    $cauditlist->auditjson = json_encode($auditArr);
+                                    $cauditlist->insert();
+                                }
                             }
                         }
                     }
@@ -1368,7 +1408,7 @@ class ChangeController extends DooController
                         $oneclist = $this->change->getChangeListbyid($cv['lid']);
                         if($cv['lid'] != 0 && !empty($oneclist)){
                             array_push($changeidlist,$cv['lid']);
-                            array_push($changelist,$cv['lid'].'_'.$cv['camount']);
+                            array_push($changelist,$cv['lid'].'->'.$cv['lnum'].';'.$cv['lname'].';'.$cv['unit'].';'.$cv['unitprice'].';'.$cv['oamount'].';'.$cv['camount']);
                             $clist[$ck]['iswhite'] = 0;
                         }else{
                             $clist[$ck]['add'] = $addnum;

+ 1 - 1
protected/view/biangeng-detail.html

@@ -153,7 +153,7 @@
 
 						<table id="tablelist" class="table table-striped table-bordered nowrap" cellspacing="0" width="100%">
 							<thead>
-							<tr><th rowspan="2" class="text-center">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更</th><th colspan="2" class="text-center">审批后变更</th></tr>
+							<tr><th rowspan="2" class="text-center">清单编号</th><th rowspan="2" class="text-center">名称</th><th rowspan="2" class="text-center">单位</th><th rowspan="2" class="text-center">单价</th><th colspan="2" class="text-center">原设计</th><th colspan="2" class="text-center">申报变更增(+)减(-)</th><th colspan="2" class="text-center">审批后变更</th></tr>
 							<tr><th class="text-center">数量</th><th class="text-center">金额</th><th class="text-center">数量</th><th class="text-center">金额</th><th class="text-center">数量</th><th class="text-center">金额</th></tr>
 							</thead>
 							<tbody>

+ 2 - 2
protected/view/biangeng-new.html

@@ -494,6 +494,6 @@
 <script type="text/javascript" language="javascript" src="{{rootUrl}}global/js/dataTables.fixedColumns.min.js"></script>
 <script src="{{rootUrl}}global/js/jlzf-change-table.js"></script>
 <script src="{{rootUrl}}global/js/jlzf-calculation.js"></script>
-<script src="{{rootUrl}}global/js/jlzf-change-pnumset.js"></script>
-<script src="{{rootUrl}}global/js/jlzf-change-new.js"></script>
+<script src="{{rootUrl}}global/js/jlzf-change-pnumset.min.js"></script>
+<script src="{{rootUrl}}global/js/jlzf-change-new.min.js"></script>
 </body>

+ 1 - 1
protected/view/biangeng-update.html

@@ -620,5 +620,5 @@
 <script src="{{rootUrl}}global/js/jlzf-change-table.js"></script>
 <script src="{{rootUrl}}global/js/jlzf-calculation.js"></script>
 <script src="{{rootUrl}}global/js/jlzf-change-pnumset.min.js"></script>
-<script src="{{rootUrl}}global/js/jlzf-change-update.js"></script>
+<script src="{{rootUrl}}global/js/jlzf-change-update.min.js"></script>
 </body>