chenshilong 6 年之前
父節點
當前提交
f130968258

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

@@ -1761,7 +1761,7 @@
         </div>
     </div>
     <!--弹出 生成组价模板-->
-    <div class="modal fade" id="zujiamb" data-backdrop="static">
+    <div class="modal fade" id="div_createBlocks" data-backdrop="static">
         <div class="modal-dialog" role="document">
             <div class="modal-content">
                 <div class="modal-header">
@@ -1778,7 +1778,7 @@
                     <div class="form-group">
                         <div class="form-check form-check-inline">
                             <input class="form-check-input" type="checkbox" name="inlineRadioOptions" id="ckb_block_exist_cover" value="option1">
-                            <label class="form-check-label" for="ckb_block_exist_cover">当存在同名模板时,提示是否覆盖</label>
+                            <label class="form-check-label" for="ckb_block_exist_cover">当存在同名模板时覆盖</label>
                         </div>
                     </div>
                 </div>
@@ -1790,7 +1790,7 @@
         </div>
     </div>
     <!--弹出 匹配原则-->
-    <div class="modal fade" id="blockAdjustOptions" data-backdrop="static">
+    <div class="modal fade" id="div_cloneOptions" data-backdrop="static">
         <div class="modal-dialog" role="document">
             <div class="modal-content">
                 <div class="modal-header">
@@ -1804,16 +1804,16 @@
                         <label>选择匹配模式:</label>
                         <div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions" id="inlinecheckbox1" value="option1" checked>
-                                <label class="form-check-label" for="inlinecheckbox1">项目编码(前9位)</label>
+                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions1" id="clone_option_code" value="option1" checked>
+                                <label class="form-check-label" for="clone_option_code">项目编码(前9位)</label>
                             </div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions" id="inlinecheckbox2" value="option2">
-                                <label class="form-check-label" for="inlinecheckbox2">项目名称</label>
+                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions2" id="clone_option_name" value="option2">
+                                <label class="form-check-label" for="clone_option_name">项目名称</label>
                             </div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions" id="inlinecheckbox3" value="option3" checked>
-                                <label class="form-check-label" for="inlinecheckbox3">单位</label>
+                                <input class="form-check-input" type="checkbox" name="inlineRadioOptions3" id="clone_option_unit" value="option3" checked>
+                                <label class="form-check-label" for="clone_option_unit">单位</label>
                             </div>
                         </div>
                     </div>
@@ -1821,12 +1821,12 @@
                         <label for="exampleInputPassword1">插入为选定节点的:</label>
                         <div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="radio" name="rationQuantity" id="inlineRadio21" value="option1" checked>
-                                <label class="form-check-label" for="inlineRadio21">根据含量计算定额工程量</label>
+                                <input class="form-check-input" type="radio" name="rationQuantity" id="clone_option_quantity" value="option1" checked>
+                                <label class="form-check-label" for="clone_option_quantity">根据含量计算定额工程量</label>
                             </div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="radio" name="rationQuantity" id="inlineRadio22" value="option2">
-                                <label class="form-check-label" for="inlineRadio22">含量和定额工程量为零</label>
+                                <input class="form-check-input" type="radio" name="rationQuantity" id="clone_option_zeroQuantity" value="option2">
+                                <label class="form-check-label" for="clone_option_zeroQuantity">含量和定额工程量为零</label>
                             </div>
                         </div>
                     </div>
@@ -1834,12 +1834,12 @@
                         <label for="exampleInputPassword1">清单下有定额时:</label>
                         <div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="radio" name="rationCover" id="inlineRadio33" value="option3" checked>
-                                <label class="form-check-label" for="inlineRadio33">跳过不覆盖</label>
+                                <input class="form-check-input" type="radio" name="rationCover" id="clone_option_noCover" value="option3" checked>
+                                <label class="form-check-label" for="clone_option_noCover">跳过不覆盖</label>
                             </div>
                             <div class="form-check form-check-inline">
-                                <input class="form-check-input" type="radio" name="rationCover" id="inlineRadio32" value="option2">
-                                <label class="form-check-label" for="inlineRadio32">直接覆盖</label>
+                                <input class="form-check-input" type="radio" name="rationCover" id="clone_option_cover" value="option2">
+                                <label class="form-check-label" for="clone_option_cover">直接覆盖</label>
                             </div>
                         </div>
                     </div>

+ 8 - 5
web/building_saas/main/js/models/bills.js

@@ -682,7 +682,7 @@ var Bills = {
                 }
             }
         };
-        bills.prototype.deleteSelectedNodes=function() {//删除选中多行时的节点
+        bills.prototype.deleteSelectedNodes=function(isDeleteChild = false, parentNode = null) {//删除选中多行时的节点
             let controller = projectObj.mainController, project = projectObj.project;
             let selected = controller.tree.selected, parent = selected.parent;
             let me = this;
@@ -798,6 +798,12 @@ var Bills = {
                     if(addRuleSetting && addRuleSetting.addContent === '5'){
                         addRuleUseToBills(getAddRuleSetting(), projectObj.project.mainTree.items);
                     }
+                };
+
+                if (isDeleteChild){
+                    controller.tree.selected = parentNode;
+                    let idxN = project.mainTree.items.indexOf(parentNode);
+                    projectObj.mainSpread.getActiveSheet().setSelection(idxN, 0, 1, 2);
                 }
             }, function () {
                 $.bootstrapLoading.end();
@@ -823,10 +829,7 @@ var Bills = {
             projectObj.mainController.tree.selected = firstChild;
             let idx = projectObj.project.mainTree.items.indexOf(firstChild);
             projectObj.mainSpread.getActiveSheet().setSelection(idx, 0, node.children.length, 2);
-            me.deleteSelectedNodes();
-            projectObj.mainController.tree.selected = node;
-            let idxN = projectObj.project.mainTree.items.indexOf(node);
-            projectObj.mainSpread.getActiveSheet().setSelection(idxN, 0, 1, 2);
+            me.deleteSelectedNodes(true, node);
         };
         bills.prototype.setNodeToMapAndArray=function (node,map,array) {
             let nodeID = node.getID();

+ 3 - 5
web/building_saas/main/js/views/block_lib.js

@@ -547,10 +547,6 @@ var blockLibObj = {
         $("#div_cloneOptions").modal({show: true});
     },
     oneToOneClone: function (projectNode, block, options) {
-        if (options.overwriteRations)
-            projectObj.project.Bills.deleteChildren(projectNode);
-        return;
-
         let canClone = true;
         if (options.checkCode)
             canClone = canClone && (projectNode.data.code.substr(0, 9) == block.data.code.substr(0, 9));
@@ -559,7 +555,9 @@ var blockLibObj = {
         if (options.checkUnit)
             canClone = canClone && (projectNode.data.unit == block.data.unit);
         if (!canClone) return;
-
+        
+        if (options.overwriteRations)
+            projectObj.project.Bills.deleteChildren(projectNode);
         /*  这里封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
             但这里结构要作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
             该操作前提:当前块文件的全部数据已从后台取到前台。  */

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

@@ -3019,7 +3019,7 @@ $(function () {
         if ($('#clone_option_name').prop("checked")) options.checkName = true;
         if ($('#clone_option_unit').prop("checked")) options.checkUnit = true;
         if ($('#clone_option_zeroQuantity').prop("checked")) options.zeroQuantity = true;
-        if ($('#clone_option_overwriteRations').prop("checked")) options.overwriteRations = true;
+        if ($('#clone_option_cover').prop("checked")) options.overwriteRations = true;
 
         blockLibObj.oneToOneClone(projectNode, block, options);
     });