Bläddra i källkod

清单规则定位bug

zhongzewei 7 år sedan
förälder
incheckning
5c00bfdff1

+ 3 - 3
web/building_saas/main/html/main.html

@@ -84,11 +84,11 @@
                     <!--<a href="javascript:void(0)" class="btn btn-sm" title="复制" ><i class="fa fa-files-o" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" title="剪切"><i class="fa fa-scissors" aria-hidden="true"></i></a>
                     <a href="javascript:void(0)" class="btn btn-sm" title="粘贴"><i class="fa fa-clipboard" aria-hidden="true"></i></a>-->
-                      <span class="btn btn-light btn-sm" data-toggle="tooltip" data-original-title="项目属性" data-placement="bottom">
-                        <a href="javascript:void(0);" id="openProjSet"><i class="fa fa-cog"></i></a>
+                      <span id="openProjSet" class="btn btn-light btn-sm" data-toggle="tooltip" data-original-title="项目属性" data-placement="bottom">
+                        <a href="javascript:void(0);"><i class="fa fa-cog"></i></a>
                     </span>
                     <span class="btn btn-light btn-sm" id="importSpan" data-toggle="tooltip" data-original-title="导入" data-placement="bottom">
-                        <a class="dropdown-toggle" href="#" data-toggle="dropdown"><i class="fa fa-cloud-upload"></i></a>
+                        <a id="importDropDown" class="dropdown-toggle" href="#"><i class="fa fa-cloud-upload"></i></a>
                         <div class="dropdown-menu">
                             <a id="uploadLj" class="dropdown-item" href="#import" data-toggle="modal" data-target="#import">导入报表Excel清单</a>
                             <a id="uploadGld" class="dropdown-item" href="#import" data-toggle="modal" data-target="#import">导入广联达算量Excel清单</a>

+ 1 - 1
web/building_saas/main/js/views/project_property_basicInfo.js

@@ -491,7 +491,7 @@ $(document).ready(function () {
     $('#openProjSet').click(function () {
         $('[data-toggle="tooltip"]').tooltip('hide');
         $('#poj-set').modal('show');
-    })
+    });
    /* $('#property_ok').bind('click', function () {
         if(basicInfoView.toUpdate(basicInfoView.orgDatas, basicInfoView.datas)){
             basicInfoView.a_updateInfo(basicInfoView.toSaveDatas(basicInfoView.datas));

+ 15 - 0
web/building_saas/main/js/views/project_view.js

@@ -2261,6 +2261,21 @@ let displayLevel = function(nodes, depth, type){
         TREE_SHEET_HELPER.refreshNodesVisible(refreshNodes, projectObj.mainSpread.getActiveSheet(), true)
     });
 };
+//导入下拉
+$('#importSpan').click(function () {
+    $('[data-toggle="tooltip"]').tooltip('hide');
+    let toggle = $('#importDropDown').attr('data-toggle');
+    if (toggle) {
+        $('#importDropDown').removeAttr('data-toggle');
+    }
+    $('#importDropDown').dropdown('toggle');
+    setTimeout(function () {
+        $('#importDropDown').attr('data-toggle', 'dropdown');
+    }, 100);
+});
+$('#importDropDown').click(function () {
+    $('[data-toggle="tooltip"]').tooltip('hide');
+});
 $('body').click(function () {
     //点击完后隐藏子菜单
    if ($('#subDisplay').is(':visible')) {

+ 4 - 2
web/building_saas/main/js/views/std_billsGuidance_lib.js

@@ -161,7 +161,8 @@ const billsGuidance = (function () {
                 row = newNodes[newNodes.length - 1].serialNo();
                 //有新的节点插入,也有可能定位至旧节点(批量选用的情况下)
                 if (compareData.locateNode) {
-                    row = compareData.locateNode.serialNo();
+                    //该清单节点在主树的位置
+                    row = projectObj.project.mainTree.nodes[projectObj.project.mainTree.prefix + compareData.locateNode.data.ID].serialNo();
                 }
                 sheet.setSelection(row, col, 1, 1);
                 projectObj.mainController.setTreeSelected(projectObj.mainController.tree.items[row]);//触发树节点选中事件
@@ -171,7 +172,8 @@ const billsGuidance = (function () {
                 isInserting = false;
             });
         } else if (compareData.locateNode) {
-            row = compareData.locateNode.serialNo();
+            //该清单节点在主树的位置
+            row = projectObj.project.mainTree.nodes[projectObj.project.mainTree.prefix + compareData.locateNode.data.ID].serialNo();
             sheet.setSelection(row, col, 1, 1);
             projectObj.mainController.setTreeSelected(projectObj.mainController.tree.items[row]);//触发树节点选中事件
             sheet.showRow(row, GC.Spread.Sheets.VerticalPosition.center);

+ 6 - 5
web/building_saas/pm/html/project-management.html

@@ -60,21 +60,22 @@
     <%include ../../../common/html/header.html %>
 </div>
     <div class="main">
+        <a id="autoOpenTender" style="display: none;"></a>
         <div class="poj-manage container-fluid p-0">
             <div class="pm-side">
                 <div class="poj-cate">
-                    <div class="dropdown">
-                        <a class="btn dropdown-toggle" data-toggle="dropdown">
+                    <div class="dropdown" style="height: 38px">
+                        <!--<a class="btn dropdown-toggle" data-toggle="dropdown">
                             <i class="fa fa-search"></i>
                         </a>
                         <div class="dropdown-menu p-3" aria-labelledby="dropdownMenuButton">
                             <div class="form-group m-0">
                                 <input type="text" class="form-control form-control-sm" placeholder="搜索所有工程"style="width:300px">
                             </div>
-                        </div>
+                        </div>-->
                     </div>
                     <ul class="nav nav-pills flex-column" id="sideTab">
-                        <li class="nav-item" data-original-title="全部" data-placement="right" data-toggle="tooltip">
+                        <li class="nav-item" data-original-title="项目管理" data-placement="right" data-toggle="tooltip">
                             <a class="nav-link active" href="#pm_all" role="tab" id="tab_pm_all" data-toggle="tab"><i class="fa fa-bars"></i></a>
                         </li>
                         <!--<li class="nav-item" data-original-title="最近使用" data-placement="right" data-toggle="tooltip">
@@ -99,7 +100,7 @@
                 <div class="tab-content">
                     <div class="tab-pane active" id="pm_all" role="tabpanel">
                         <div class="toolsbar">
-                            <legend class="m-0 px-4 pb-1">全部
+                            <legend class="m-0 px-4 pb-1">项目管理
                                 <div class="tools-btn btn-group align-top px-3 ">
                                     <div class="dropdown">
                                         <a id="startA" class="btn btn-sm" href="javascript:void(0);" role="button" data-toggle="modal" aria-haspopup="true" aria-expanded="false">

+ 30 - 20
web/building_saas/pm/js/pm_newMain.js

@@ -86,7 +86,7 @@ const projTreeObj = {
             allowContextMenu: false,
             allowCopyPasteExcelStyle : false,
             allowExtendPasteRange: false,
-            allowUserDragDrop : true,
+            allowUserDragDrop : false,
             allowUserDragFill: false,
             scrollbarMaxAlign : true,
             showDragDropTip:false
@@ -607,6 +607,17 @@ const projTreeObj = {
             }
         }
     },
+    openTender: function (node, timeoutTime) {
+        setTimeout(function () {
+            let newTab = window.open('about:blank');
+            BeforeOpenProject(node.data.ID, {'fullFolder': GetFullFolder(node.parent)}, function () {
+                let mainUrl = `/main?project=${node.data.ID}`;
+                CommonAjax.get(mainUrl, [], function () {
+                    newTab.location.replace(mainUrl); //不能后退
+                });
+            });
+        }, timeoutTime);
+    },
     getTreeNodeCell: function (tree) {
         let me = projTreeObj;
         let indent = 20;
@@ -784,20 +795,19 @@ const projTreeObj = {
             }
             if(hitinfo.sheet.name() === "projectSheet"){//只有项目管理界面才执行
                 //单项文件,进入造价书界面
-                 if(node.data.projType === projectType.tender && withingClickArea()){
-                    let timeoutTime = 200;
-                    if($('.slide-sidebar').hasClass('open')){
-                        timeoutTime = 500;
-                    }
-                    setTimeout(function () {
-                        let newTab = window.open('about:blank');
-                        BeforeOpenProject(node.data.ID, {'fullFolder': GetFullFolder(node.parent)}, function () {
-                            let mainUrl = `/main?project=${node.data.ID}`;
-                            CommonAjax.get(mainUrl, [], function () {
-                                newTab.location.replace(mainUrl); //不能后退
-                            });
-                        });
-                    }, timeoutTime);
+                if(node.data.projType === projectType.tender && withingClickArea()){
+                    /*let thisClick = Date.now(),
+                        open = false;
+                    if (this.preNode === node && this.preClick && thisClick - this.preClick <= 300) {
+                        open = true;*/
+                        let timeoutTime = 200;
+                        if($('.slide-sidebar').hasClass('open')){
+                            timeoutTime = 500;
+                        }
+                        projTreeObj.openTender(node, timeoutTime);
+                    /*}
+                    this.preClick = open ? null : thisClick;
+                    this.preNode = open ? null : node;*/
                 }
                 if (!node || node.children.length === 0) { return; }
             }
@@ -2039,7 +2049,7 @@ function AddTenderItems(selected, projName, tenderName, property, callback){
                     }
                 });
                 let pojNode = projTreeObj.insert(projData, parent, next);
-                projTreeObj.insert(tenderData, pojNode, null);
+                let tenderNode = projTreeObj.insert(tenderData, pojNode, null);
                 callback();
             });
         });
@@ -2056,12 +2066,13 @@ function AddTenderItems(selected, projName, tenderName, property, callback){
                 updateDatas.push({updateType: 'update', updateData: {ID: pre.id(), NextSiblingID: tenderID}});
             }
             UpdateProjectData(updateDatas, function (datas) {
+                let tenderNode = null;
                 datas.forEach(function (data) {
                     if(data.updateType === 'new') {
                         setInitSummaryData(data.updateData);
                         data.updateData.feeStandardName = data.updateData.property.feeStandardName || '';
                         data.updateData.valuationType = data.updateData.property.valuationType === 'bill' ? '预算' : '工程量清单';
-                        projTreeObj.insert(data.updateData, tempProj, null);
+                        tenderNode = projTreeObj.insert(data.updateData, tempProj, null);
                     }
                 });
                 callback();
@@ -2444,8 +2455,8 @@ function AddTender() {
 
 
         let calcProgramName = $('#tender-calcProgram').children("option:selected").text();
-
-        let callback = function() {
+        //let newTab = window.open('about:blank');
+        let callback = function(tenderNode) {
             $('#add-tender-confirm').removeClass('disabled');
             $("#add-tender-dialog").modal("hide");
             $('#tender-name').val('');
@@ -2454,7 +2465,6 @@ function AddTender() {
             $("#tender-calcProgram").children("option").removeAttr("selected");
             $("#poj-name").val('');
             $("#poj-name-info").hide();
-
         };
         let selectedItem = projTreeObj.tree.selected;
         //地区