chenshilong пре 7 година
родитељ
комит
66c55665be

+ 113 - 0
public/scHintBox.html

@@ -0,0 +1,113 @@
+<!----------------------------------------------------------------------------------------------------------------------
+    chenshilong, 2018-04-29
+    自定义对话框,通用,用于替代系统对话框。系统自带的比较简陋,最严重的是一旦被浏览器屏蔽则无法再弹出。
+    自定义对话框包括:
+        1、只有一个按钮的信息提示框。
+        2、有两个按钮的操作确认询问框。
+        3、有三个按钮的操作确认询问框。
+        4、输入文本值对话框。
+----------------------------------------------------------------------------------------------------------------------->
+
+<div class="modal fade" id="hintBox" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+
+            <div class="modal-header">
+                <h5 class="modal-title" id="hintBox_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 id = "hintBox_info" style="margin:5px 10px 10px 10px;">提示明细</div>
+                <div style="margin:5px 10px 5px 10px;">
+                    <input type="text" class="form-control" value="" id="hintBox_value"/>
+                </div>
+            </div>
+
+            <div class="modal-footer" style="justify-content: right">
+                <button type="button" class="btn btn-primary" data-dismiss="modal" id="hintBox_btn_yes">是</button>
+                <button type="button" class="btn btn-primary" data-dismiss="modal" id="hintBox_btn_no">否</button>
+                <button type="button" class="btn btn-secondary" data-dismiss="modal" id="hintBox_btn_cancel">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script>
+    G_HINTBOX_VALUE = null;
+    hintBoxButtonType = {yes: 1, yesNo: 2, yesNoCancel: 3};
+    function speFont(str){
+        return `<span style='color:red;font-weight:bold;font-size:15px'> ${str} </span>`;
+    };
+
+    function hintBox(title, caption, btnType, doYes, doNo) {
+        $('#hintBox_title').text(title);
+        $('#hintBox_info').html(caption);
+
+        $('#hintBox_value').hide();
+        $('#hintBox_info').show();
+        $('#hintBox_btn_yes').show();
+        $('#hintBox_btn_yes').text('是');
+        $("#hintBox_btn_yes").unbind();
+        $('#hintBox_btn_no').show();
+        $('#hintBox_btn_no').text('否');
+        $('#hintBox_btn_no').unbind();
+        $('#hintBox_btn_cancel').show();
+        $('#hintBox_btn_cancel').text('取消');
+        $('#hintBox_btn_cancel').unbind();
+
+        switch (btnType) {
+            case hintBoxButtonType.yes:
+                $('#hintBox_btn_yes').text('确定');
+                $('#hintBox_btn_no').hide();
+                $('#hintBox_btn_cancel').hide();
+                break;
+            case hintBoxButtonType.yesNo:
+                $('#hintBox_btn_cancel').hide();
+                break;
+        }
+
+        if (doYes){
+            $('#hintBox_btn_yes').click(doYes);
+        }
+
+        if (doNo){
+            $('#hintBox_btn_no').click(doNo);
+        }
+
+        $('#hintBox_btn_cancel').click(
+            function () {return;}
+        );
+
+        $("#hintBox").modal({show:true});
+    };
+
+    function hintBoxValue(title, value, doYes) {
+        $('#hintBox_title').text(title);
+
+        $('#hintBox_info').hide();
+        G_HINTBOX_VALUE = value;
+
+        $('#hintBox_value').show();
+        $('#hintBox_value').val(value);
+        $("#hintBox_value").unbind();
+        $("#hintBox_value").change(
+            function () {
+                G_HINTBOX_VALUE = $('#hintBox_value').val();
+            }
+        );
+
+        $('#hintBox_btn_yes').show();
+        $('#hintBox_btn_yes').text('确定');
+        $('#hintBox_btn_yes').unbind();
+        $('#hintBox_btn_yes').click(doYes);   // doYes不能给参数
+
+        $('#hintBox_btn_no').hide();
+        $('#hintBox_btn_cancel').hide();
+
+        $("#hintBox").modal({show:true});
+    };
+</script>
+

+ 5 - 31
web/building_saas/main/html/calc_program_manage.html

@@ -5,6 +5,7 @@
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <script src="../../../../public/web/common_util.js"></script>
 </head>
 
 <body>
@@ -25,38 +26,11 @@
         </div>
     </div>
 
-    <!--自定义对话框-->
-    <div class="modal fade" id="hintBox" data-backdrop="static">
-        <div class="modal-dialog" role="document">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h5 class="modal-title" id="hintBox_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">
-                        <div id="cpm_delete_showinfo">
-                            <label id = "hintBox_info">提示明细</label>
-                        </div>
-                    </div>
-                </div>
-                <div class="modal-footer" style="justify-content: center">
-                    <button type="button" class="btn btn-primary" data-dismiss="modal" id="hintBox_btn_yes">是</button>
-                    <button type="button" class="btn btn-primary" data-dismiss="modal" id="hintBox_btn_no">否</button>
-                    <button type="button" class="btn btn-secondary" data-dismiss="modal" id="hintBox_btn_cancel">取消</button>
-                </div>
-            </div>
-        </div>
-    </div>
-
     <script>
-        function hintBox(title, caption) {
-            $('#hintBox_title').text(title);
-            $('#hintBox_info').text(caption);
-            $("#hintBox").modal({show:true});
-        }
+        !function loadHintBox(){
+            $("body").append('<div id = "div_hintBox"></div>');
+            $("#div_hintBox").load("../../../../public/scHintBox.html");
+        }();
     </script>
 </body>
 

+ 7 - 2
web/building_saas/main/js/views/calc_program_manage.js

@@ -308,8 +308,13 @@ let calcProgramManage = {
                     name: '删除行',
                     icon: 'fa-remove',
                     callback: function () {
-                        hintBox('自定义标题', '自定义内容pppppppppppppppppppppppppppppppppppppppppppppppppppp');
-                        return;
+                        // function cbYes() {alert('你点击了yes按键');};
+                        // function cbNo() {alert('你点击了no按键');}
+                        // function cbOK() {alert(`你输入的值为:${G_HINTBOX_VALUE}`);};
+                        //
+                        // // hintBox('操作确认', '确定要删除当前节点吗?', 2, cbYes, cbNo);
+                        // hintBoxValue('请输入新名称:', '我的模板1', cbOK);
+                        // return;
                         $.bootstrapLoading.start();
                         let template = calcProgramManage.getSelectionInfo().template;
                         let idx = calcProgramManage.detailSpread.getActiveSheet().getActiveRowIndex();