chenshilong 6 éve
szülő
commit
0a78135d4e

+ 160 - 98
web/building_saas/main/html/main.html

@@ -1660,121 +1660,183 @@
             </div>
         </div>
     </div>
-<!--清单问号弹出 补注弹窗-->
-<div class="modal fade" id="billsQuestionModal" data-backdrop="static">
-    <div class="modal-dialog modal-lg" role="document">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title">补注</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                    <span aria-hidden="true">&times;</span>
-                </button>
-            </div>
-            <div class="modal-body">
-                <div class="modal-auto-height" id="billsQuestionContent">
-                    <h3>标题1</h3>
-                    <h4>标题2</h4>
-                    <h5>标题3</h5>
-                    <p>这是一行文本</p>
-                    <p>这是一行<b>文本</b></p>
-                    <p class="text-indent">这是一行带缩进的文本</p>
-                    <table class="table table-sm table-bordered">
-                        <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
-                        <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
-                        <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
-                    </table>
+    <!--清单问号弹出 补注弹窗-->
+    <div class="modal fade" id="billsQuestionModal" data-backdrop="static">
+        <div class="modal-dialog modal-lg" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">补注</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="modal-auto-height" id="billsQuestionContent">
+                        <h3>标题1</h3>
+                        <h4>标题2</h4>
+                        <h5>标题3</h5>
+                        <p>这是一行文本</p>
+                        <p>这是一行<b>文本</b></p>
+                        <p class="text-indent">这是一行带缩进的文本</p>
+                        <table class="table table-sm table-bordered">
+                            <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
+                            <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
+                            <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
+                        </table>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
                 </div>
-            </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
             </div>
         </div>
     </div>
-</div>
-<!--定额弹出 说明 和 工程量计算规则-->
-<div class="modal fade" id="questionModal" data-backdrop="static">
-    <div class="modal-dialog modal-lg" role="document">
-        <div class="modal-content">
-            <div class="modal-body">
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                    <span aria-hidden="true">×</span>
-                </button>
-                <ul class="nav nav-tabs mb-3" role="tablist">
-                    <li class="nav-item">
-                        <a class="nav-link active px-3" data-toggle="tab" href="#m-explanation" id="questionTab1" role="tab">说明</a>
-                    </li>
-                    <li class="nav-item">
-                        <a class="nav-link px-3" data-toggle="tab" href="#m-ruleText" id="questionTab2" role="tab">工程量计算规则</a>
-                    </li>
-                </ul>
-                <div class="tab-content">
-                    <div class="tab-pane active" id="m-explanation" role="tabpanel">
-                        <div class="modal-auto-height" id="questionContent1">
-                            <h3>标题1</h3>
-                            <h4>标题2</h4>
-                            <h5>标题3</h5>
-                            <p>这是一行文本</p>
-                            <p>这是一行<b>文本</b></p>
-                            <p class="text-indent">这是一行带缩进的文本</p>
-                            <table class="table table-sm table-bordered">
-                                <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
-                                <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
-                                <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
-                            </table>
+    <!--定额弹出 说明 和 工程量计算规则-->
+    <div class="modal fade" id="questionModal" data-backdrop="static">
+        <div class="modal-dialog modal-lg" role="document">
+            <div class="modal-content">
+                <div class="modal-body">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">×</span>
+                    </button>
+                    <ul class="nav nav-tabs mb-3" role="tablist">
+                        <li class="nav-item">
+                            <a class="nav-link active px-3" data-toggle="tab" href="#m-explanation" id="questionTab1" role="tab">说明</a>
+                        </li>
+                        <li class="nav-item">
+                            <a class="nav-link px-3" data-toggle="tab" href="#m-ruleText" id="questionTab2" role="tab">工程量计算规则</a>
+                        </li>
+                    </ul>
+                    <div class="tab-content">
+                        <div class="tab-pane active" id="m-explanation" role="tabpanel">
+                            <div class="modal-auto-height" id="questionContent1">
+                                <h3>标题1</h3>
+                                <h4>标题2</h4>
+                                <h5>标题3</h5>
+                                <p>这是一行文本</p>
+                                <p>这是一行<b>文本</b></p>
+                                <p class="text-indent">这是一行带缩进的文本</p>
+                                <table class="table table-sm table-bordered">
+                                    <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
+                                    <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
+                                    <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
+                                </table>
+                            </div>
                         </div>
-                    </div>
-                    <div class="tab-pane" id="m-ruleText" role="tabpanel">
-                        <div class="modal-auto-height" id="questionContent2">
-                            <h3>标题x1</h3>
-                            <h4>标题2</h4>
-                            <h5>标题3</h5>
-                            <p>这是一行文本</p>
-                            <p>这是一行<b>文本</b></p>
-                            <p class="text-indent">这是一行带缩进的文本</p>
-                            <table class="table table-sm table-bordered">
-                                <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
-                                <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
-                                <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
-                            </table>
+                        <div class="tab-pane" id="m-ruleText" role="tabpanel">
+                            <div class="modal-auto-height" id="questionContent2">
+                                <h3>标题x1</h3>
+                                <h4>标题2</h4>
+                                <h5>标题3</h5>
+                                <p>这是一行文本</p>
+                                <p>这是一行<b>文本</b></p>
+                                <p class="text-indent">这是一行带缩进的文本</p>
+                                <table class="table table-sm table-bordered">
+                                    <tr><th>表头1</th><th>表头2</th><th>表头3</th></tr>
+                                    <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr>
+                                    <tr><td>内容4</td><td>内容5</td><td>内容6</td></tr>
+                                </table>
+                            </div>
                         </div>
                     </div>
                 </div>
-            </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                </div>
             </div>
         </div>
     </div>
-</div>
-<!--弹出 生成组价模板-->
-<div class="modal fade" id="zujiamb" data-backdrop="static">
-    <div class="modal-dialog" role="document">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title">选择模板存储位置</h5>
-                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
-                    <span aria-hidden="true">&times;</span>
-                </button>
-            </div>
-            <div class="modal-body">
-                <div class="form-group">
-                    <label>模板分类</label>
-                    <select class="form-control" id="select_block_category"><option>1.分类1</option><option>2.分类2</option></select>
-                </div>
-                <div class="form-group">
-                    <div class="form-check form-check-inline">
-                        <input class="form-check-input" type="checkbox" name="inlineRadioOptions" id="inlinecheckbox1" value="option1">
-                        <label class="form-check-label" for="inlinecheckbox1">当存在同名模板时,提示是否覆盖</label>
+    <!--弹出 生成组价模板-->
+    <div class="modal fade" id="zujiamb" data-backdrop="static">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">选择模板存储位置</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <label>模板分类</label>
+                        <select class="form-control" id="select_block_category"><option>1.分类1</option><option>2.分类2</option></select>
+                    </div>
+                    <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>
+                        </div>
                     </div>
                 </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                    <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn_block_createBlocks">确定生成</button>
+                </div>
             </div>
-            <div class="modal-footer">
-                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
-                <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn_block_createBlocks">确定生成</button>
+        </div>
+    </div>
+    <!--弹出 匹配原则-->
+    <div class="modal fade" id="blockAdjustOptions" data-backdrop="static">
+        <div class="modal-dialog" role="document">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <h5 class="modal-title">快速组价</h5>
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                </div>
+                <div class="modal-body">
+                    <div class="form-group">
+                        <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>
+                            </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>
+                            </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>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <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>
+                            </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>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <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>
+                            </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>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                    <button type="button" class="btn btn-primary" data-dismiss="modal" id="btn_block_clone_ok">确定</button>
+                </div>
             </div>
         </div>
     </div>
-</div>
 
     <img src="/web/dest/css/img/folder_open.png" id="folder_open_pic" style="display: none">
     <img src="/web/dest/css/img/folder_close.png" id="folder_close_pic" style="display: none">

+ 17 - 13
web/building_saas/main/js/views/block_lib.js

@@ -131,6 +131,7 @@ var blockLibObj = {
     },
     loadDetailDatas: function (node){
         let me = this;
+        if (!node) return;
         if (node.data.type == 2){
             let bill = node.data;
             let rations = bill.children;
@@ -412,6 +413,12 @@ var blockLibObj = {
         let idx = blockLibObj.mainTree.items.indexOf(node);
         blockLibObj.mainSheet.setValue(idx, 0, newName);
     },
+    moveBlock: function (parentID) {
+        // this.mainTreeController.moveTo(parentID);
+    },
+    delete: function () {
+        this.mainTreeController.delete();
+    },
     getCategories: function () {
         let nodes = [], node = blockLibObj.mainTree.items[0];
         nodes.push(node);
@@ -454,7 +461,7 @@ var blockLibObj = {
                         return me.curIsBlock();
                     },
                     callback: function (key, opt) {
-                        me.oneToOneClone();
+                        me.onCellDoubleClick();
                     }
                 },
                 "oneToMoreClone": {
@@ -493,14 +500,14 @@ var blockLibObj = {
                         return true;
                     },
                     callback: function (key, opt) {
-
+                        me.delete();
                     }
                 },
                 "moveBlock": {
                     name: '移动模板',
                     icon: "cut",
                     disabled: function () {
-
+                        return true;
                     },
                     visible: function(key, opt){
                         return me.curIsBlock();
@@ -517,23 +524,20 @@ var blockLibObj = {
         me.mainTree.selected = me.mainTree.items[me.mainSheet.getActiveRowIndex()];
     },
     onCellDoubleClick: function (sender, args) {
-        blockLibObj.oneToOneClone();
-    },
-    oneToOneClone: function () {
-        let me = blockLibObj;
         let projectNode = projectObj.project.mainTree.selected;
         if (!calcTools.isLeafBill(projectNode)) return;
-
+        $("#blockAdjustOptions").modal({show: true});
+    },
+    oneToOneClone: function (projectNode, block) {
         // 这里再次封装成伟城的块文件格式,可直接使用伟城的“粘贴块”接口。
         // 这里结构作出调整:忽略叶子清单层,直接从定额开始(跟粘贴块有区别),始终强制在叶子清单下插入定额。
         // 该操作前提:当前块文件的全部数据已从后台取到前台。
-        let block = me.mainTree.selected.data;
         let vBlock_WC = {
-            compilationID: block.compilationID,
-            copyTime: block.copyTime,
+            compilationID: block.data.compilationID,
+            copyTime: block.data.copyTime,
             firstNodeType: 1,           // 强制改成1 (因为是从清单下的定额开始。清单自身的还是保留,暂不使用使用)。
-            isFBFX: block.isFBFX,
-            datas: block.children       // rations
+            isFBFX: block.data.isFBFX,
+            datas: block.data.children       // rations
         };
         BlockController.confirmPaste(vBlock_WC, projectNode, 'sub');
     },

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

@@ -1512,7 +1512,6 @@ var projectObj = {
                         if (!$("#kmbk").is(":visible")){
                             $('#blockLibTab').click()
                         };
-
                         $("#zujiamb").modal({show: true});
                     },
                     visible: function(key, opt){
@@ -2890,6 +2889,10 @@ $(function () {
         $("#select_block_category")[0].selectedIndex = 0;
     });
 
+    $("#blockAdjustOptions").on('show.bs.modal', function(){
+
+    });
+
     $("#btn_block_createBlocks").click(function () {
         if ($("#select_block_category")[0].options.length < 1) return;
         let cID = $("#select_block_category").val();
@@ -2936,6 +2939,12 @@ $(function () {
         $("#zujiamb").modal("hide");
     });
 
+    $("#btn_block_clone_ok").click(function () {
+        let projectNode = projectObj.project.mainTree.selected;
+        let block = blockLibObj.mainTree.selected;
+        blockLibObj.oneToOneClone(projectNode, block);
+    });
+
 
     function spreadAutoFocus(spread,relateSpread) {
         if(relateSpread&&relateSpread.getActiveSheet().isEditing()){//关联的spread不在编辑状态的情况下,才自动获得焦点;