瀏覽代碼

right key menu

TonyKang 8 年之前
父節點
當前提交
ea21dfeba3

文件差異過大導致無法顯示
+ 1 - 0
lib/smartMenu/jquery-smartMenu-min.js


+ 14 - 0
web/css/smartMenu/smartMenu.css

@@ -0,0 +1,14 @@
+@charset "utf-8";
+/* smartMenu.css	by zhangxinxu */
+.smart_menu_box{display:none; width:140px; position:absolute; z-index:201105;}
+.smart_menu_body{padding:1px; border:1px solid #B8CBCB; background-color:#fff; -moz-box-shadow:2px 2px 5px #666; -webkit-box-shadow:2px 2px 5px #666; box-shadow:2px 2px 5px #666;}
+.smart_menu_ul{margin:0; padding:0; list-style-type:none;}
+.smart_menu_li{position:relative;}
+.smart_menu_a{display:block; height:25px; line-height:24px; padding:0 5px 0 25px; color:#000; font-size:12px; text-decoration:none; overflow:hidden;}
+.smart_menu_a:hover, .smart_menu_a_hover{background-color:#348CCC; color:#fff; text-decoration:none;}
+.smart_menu_li_separate{line-height:0; margin:3px; border-bottom:1px solid #B8CBCB; font-size:0;}
+.smart_menu_triangle{width:0; height:0; border:5px dashed transparent; border-left:5px solid #666; overflow:hidden; position:absolute; top:7px; right:5px;}
+.smart_menu_a:hover .smart_menu_triangle, .smart_menu_a_hover .smart_menu_triangle{border-left-color:#fff;}
+.smart_menu_li_hover .smart_menu_box{top:-1px; left:130px;}
+
+

+ 7 - 15
web/rationLibEditor/dinge.html

@@ -20,7 +20,7 @@
     <div class="header">
     <div class="header">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
             <span class="header-logo px-2">Smartcost</span>
             <span class="header-logo px-2">Smartcost</span>
-            <div class="navbar-text"><a href="main">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
+            <div id="rationname" class="navbar-text"><a href="main">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
         </nav>
         </nav>
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
               <ul class="nav nav-tabs" role="tablist">
               <ul class="nav nav-tabs" role="tablist">
@@ -50,7 +50,7 @@
                           -->
                           -->
                           <a onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
                           <a onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
                       </div>
                       </div>
-                    <div class="tab-content">
+                    <div id="rct_right_key" class="tab-content">
                       <ul id="rationChapterTree" class="ztree"></ul>
                       <ul id="rationChapterTree" class="ztree"></ul>
                     </div>
                     </div>
                   </div>
                   </div>
@@ -73,19 +73,7 @@
                           <!-- Tab panes -->
                           <!-- Tab panes -->
                           <div class="tab-content">
                           <div class="tab-content">
                               <div class="tab-pane active" id="tde" role="tabpanel">
                               <div class="tab-pane active" id="tde" role="tabpanel">
-                                 <div id="rationItemsSheet" class="warp-p2" style='width:100%; height:400px;'>
-
-                            <!--         <table class="table table-sm table-bordered m-0">
-
-                                        <thead><tr><th width="30"></th><th width="120">编码</th><th>名称</th><th>单位</th><th>基价</th><th>显示名称(以%s表示参数)</th><th>默认取费专业</th><th width="90">操作</th></tr></thead>
-                                        <tbody id ="rationTbody">
-
-                                        </tbody>
-                                      </table>
-                            -->
-
-                                  </div>
-
+                                 <div id="rationItemsSheet" class="warp-p2" style='width:100%; height:400px;'></div>
                               </div>
                               </div>
                               <div class="tab-pane" id="tsm" role="tabpanel">
                               <div class="tab-pane" id="tsm" role="tabpanel">
                                   <div class="warp-p2">
                                   <div class="warp-p2">
@@ -868,6 +856,7 @@
     </div>
     </div>
     <!-- JS. -->
     <!-- JS. -->
     <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
     <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
+    <script>GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
     <script src="/lib/jquery/jquery.min.js"></script>
     <script src="/lib/jquery/jquery.min.js"></script>
     <script src="/lib/tether/tether.min.js"></script>
     <script src="/lib/tether/tether.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
     <script src="/lib/bootstrap/bootstrap.min.js"></script>
@@ -880,6 +869,7 @@
     <script type="text/javascript" src="/web/rationLibEditor/js/sheetCommon.js"></script>
     <script type="text/javascript" src="/web/rationLibEditor/js/sheetCommon.js"></script>
     <script type="text/javascript" src="/web/rationLibEditor/js/ration.js"></script>
     <script type="text/javascript" src="/web/rationLibEditor/js/ration.js"></script>
     <script type="text/javascript" src="/web/rationLibEditor/js/rationGLJ.js"></script>
     <script type="text/javascript" src="/web/rationLibEditor/js/rationGLJ.js"></script>
+    <script type="text/javascript" src="/web/rationLibEditor/js/rightKeyMenu.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/QueryParam.js"></script>
     <script type="text/javascript" src="/public/QueryParam.js"></script>
     <script type="text/javascript">
     <script type="text/javascript">
@@ -928,6 +918,8 @@
         pageOprObj.initPage();
         pageOprObj.initPage();
         rationOprObj.buildSheet($("#rationItemsSheet")[0]);
         rationOprObj.buildSheet($("#rationItemsSheet")[0]);
         rationGLJOprObj.buildSheet($("#rationGLJSheet")[0]);
         rationGLJOprObj.buildSheet($("#rationGLJSheet")[0]);
+        //$("#rct_right_key")[0].smartMenu(ration_chapter_tree_data);
+        $("rationItemsSheetvp_vp").smartMenu(ration_chapter_tree_data);
     });
     });
 </script>
 </script>
 
 

+ 1 - 1
web/rationLibEditor/fuzhu.html

@@ -18,7 +18,7 @@
     <div class="header">
     <div class="header">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
             <span class="header-logo px-2">Smartcost</span>
             <span class="header-logo px-2">Smartcost</span>
-            <div class="navbar-text"><a href="main.html">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
+            <div id="rationname" class="navbar-text"><a href="main.html">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
         </nav>
         </nav>
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
               <ul class="nav nav-tabs" role="tablist">
               <ul class="nav nav-tabs" role="tablist">

+ 2 - 1
web/rationLibEditor/gongliao.html

@@ -18,7 +18,7 @@
     <div class="header">
     <div class="header">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
         <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
             <span class="header-logo px-2">Smartcost</span>
             <span class="header-logo px-2">Smartcost</span>
-            <div class="navbar-text"><a href="main">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
+            <div id="rationname" class="navbar-text"><a href="main">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
         </nav>
         </nav>
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
         <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
               <ul class="nav nav-tabs" role="tablist">
               <ul class="nav nav-tabs" role="tablist">
@@ -175,6 +175,7 @@
     <script src="/lib/global.js"></script>
     <script src="/lib/global.js"></script>
     <!-- zTree -->
     <!-- zTree -->
     <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
     <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
+    <script>GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
   	<script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
     <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>

+ 3 - 0
web/rationLibEditor/js/chapterTree.js

@@ -7,6 +7,9 @@ var pageOprObj = {
     initPage : function() {
     initPage : function() {
         var me = this, rationLibName = getQueryString("repository");//获取定额库参数
         var me = this, rationLibName = getQueryString("repository");//获取定额库参数
         if (rationLibName) {
         if (rationLibName) {
+            var html = $("#rationname")[0].outerHTML;
+            html = html.replace("XXX定额库", rationLibName);
+            $("#rationname")[0].outerHTML = html;
             me.rationLibName = rationLibName;
             me.rationLibName = rationLibName;
             zTreeOprObj.getRationTree(rationLibName);
             zTreeOprObj.getRationTree(rationLibName);
         }
         }

+ 1 - 1
web/rationLibEditor/js/ration.js

@@ -12,7 +12,7 @@ var rationOprObj = {
     currentSectionId: -1,
     currentSectionId: -1,
     setting: {
     setting: {
         header:[
         header:[
-            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String"},
+            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@"},
             {headerName:"名称",headerWidth:300,dataCode:"name", dataType: "String"},
             {headerName:"名称",headerWidth:300,dataCode:"name", dataType: "String"},
             {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center"},
             {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center"},
             {headerName:"基价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right"},
             {headerName:"基价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right"},

+ 28 - 2
web/rationLibEditor/js/repositoryGLJ.js

@@ -11,6 +11,9 @@ var pageOprObj = {
     initPage : function(container) {
     initPage : function(container) {
         var me = this, rationLibName = getQueryString("repository");//获取定额库参数
         var me = this, rationLibName = getQueryString("repository");//获取定额库参数
         if (rationLibName) {
         if (rationLibName) {
+            var html = $("#rationname")[0].outerHTML;
+            html = html.replace("XXX定额库", rationLibName);
+            $("#rationname")[0].outerHTML = html;
             me.rationLibName = rationLibName;
             me.rationLibName = rationLibName;
             repositoryGljObj.getGljTree(rationLibName, function(repId){
             repositoryGljObj.getGljTree(rationLibName, function(repId){
                 repositoryGljObj.buildSheet(container);
                 repositoryGljObj.buildSheet(container);
@@ -28,7 +31,7 @@ repositoryGljObj = {
     gljList: [],
     gljList: [],
     setting: {
     setting: {
         header:[
         header:[
-            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", hAlign: "left", vAlign: "center"},
+            {headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
             {headerName:"名称",headerWidth:400,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"名称",headerWidth:400,dataCode:"name", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"规格",headerWidth:120,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"规格",headerWidth:120,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
             {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
             {headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
@@ -112,15 +115,38 @@ repositoryGljObj = {
                     cacheSection.push(data[i]);
                     cacheSection.push(data[i]);
                 }
                 }
             }
             }
+            cacheSection.sort(function(g1, g2) {
+                var rst = 0;
+                if (g1.code > g2.code) rst = 1
+                else if (g1.code < g2.code) rst = -1;
+                return rst;
+            })
             sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
             sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
             sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, cacheSection);
             sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, cacheSection);
         }
         }
     },
     },
     buildSheet: function(container) {
     buildSheet: function(container) {
-        var me = this;
+        var me = repositoryGljObj;
         me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
         me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30);
+        //var instance = new GC.Spread.Common.CultureInfo();
+        //var value; // Type: Object
+        //value = instance.NumberFormat;
+        //console.log(value);
         me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
         me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
         me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
         me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
+        //me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+        //    console.log("Start cell editing.");
+        //});
+        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, function (sender, args) {
+            console.log("Finish cell editing.");
+            //if (args.col == 0) {
+            //    args.sheet.suspendPaint();
+            //    args.sheet.suspendEvent();
+            //    args.sheet.setValue(args.row, args.col, args.editingText, GC.Spread.Sheets.SheetArea.viewport);
+            //    args.sheet.resumeEvent();
+            //    args.sheet.resumePaint();
+            //}
+        });
     },
     },
     onClipboardPasting: function(sender, args) {
     onClipboardPasting: function(sender, args) {
         var me = repositoryGljObj;
         var me = repositoryGljObj;

+ 12 - 0
web/rationLibEditor/js/rightKeyMenu.js

@@ -0,0 +1,12 @@
+/**
+ * Created by Tony on 2017/5/9.
+ */
+
+var ration_chapter_tree_data = [
+    {
+        text: "增加根节点",
+        func: function() {
+            zTreeOprObj.addRootNode();
+        }
+    }
+]

+ 36 - 35
web/rationLibEditor/js/sheetCommon.js

@@ -40,47 +40,48 @@ var sheetCommonObj = {
         sheet.resumeEvent();
         sheet.resumeEvent();
         sheet.resumePaint();
         sheet.resumePaint();
     },
     },
+    setAreaAlign: function(area, hAlign, vAlign){
+        if (!(hAlign) || hAlign === "left") {
+            area.hAlign(GC.Spread.Sheets.HorizontalAlign.left);
+        } else if (hAlign === "right") {
+            area.hAlign(GC.Spread.Sheets.HorizontalAlign.right);
+        } else if (hAlign === "center") {
+            area.hAlign(GC.Spread.Sheets.HorizontalAlign.center);
+        } else {
+            area.hAlign(GC.Spread.Sheets.HorizontalAlign.left);
+        }
+        if (!(vAlign) || vAlign === "center") {
+            area.vAlign(GC.Spread.Sheets.VerticalAlign.center);
+        } else if (vAlign === "top") {
+            area.vAlign(GC.Spread.Sheets.VerticalAlign.top);
+        } else if (vAlign === "bottom") {
+            area.vAlign(GC.Spread.Sheets.VerticalAlign.bottom);
+        } else {
+            area.vAlign(GC.Spread.Sheets.VerticalAlign.center);
+        }
+    },
     showData: function(sheet, setting, data) {
     showData: function(sheet, setting, data) {
         var me = this, ch = GC.Spread.Sheets.SheetArea.viewport;
         var me = this, ch = GC.Spread.Sheets.SheetArea.viewport;
         sheet.suspendPaint();
         sheet.suspendPaint();
         sheet.suspendEvent();
         sheet.suspendEvent();
-        var private_setCellAlign = function(cell, hAlign, vAlign) {
-            if (!(hAlign) || hAlign === "left") {
-                cell.hAlign(GC.Spread.Sheets.HorizontalAlign.left);
-            } else if (hAlign === "right") {
-                cell.hAlign(GC.Spread.Sheets.HorizontalAlign.right);
-            } else if (hAlign === "center") {
-                cell.hAlign(GC.Spread.Sheets.HorizontalAlign.center);
-            } else {
-                cell.hAlign(GC.Spread.Sheets.HorizontalAlign.left);
+        for (var col = 0; col < setting.header.length; col++) {
+            var hAlign = "left", vAlign = "center";
+            if (setting.header[col].hAlign) {
+                hAlign = setting.header[col].hAlign;
+            } else if (setting.header[col].dataType !== "String"){
+                hAlign = "right";
             }
             }
-            if (!(vAlign) || vAlign === "center") {
-                cell.vAlign(GC.Spread.Sheets.VerticalAlign.center);
-            } else if (vAlign === "top") {
-                cell.vAlign(GC.Spread.Sheets.VerticalAlign.top);
-            } else if (vAlign === "bottom") {
-                cell.vAlign(GC.Spread.Sheets.VerticalAlign.bottom);
-            } else {
-                cell.vAlign(GC.Spread.Sheets.VerticalAlign.center);
+            vAlign = setting.header[col].vAlign?setting.header[col].vAlign:vAlign;
+            me.setAreaAlign(sheet.getRange(-1, col, -1, 1), hAlign, vAlign);
+            if (setting.header[col].formatter) {
+                //var style = new GC.Spread.Sheets.Style();
+                //style.formatter = setting.header[col].formatter;
+                //sheet.setStyle(row,col,style,GC.Spread.Sheets.SheetArea.viewport);
+                sheet.setFormatter(-1, col, setting.header[col].formatter, GC.Spread.Sheets.SheetArea.viewport);
             }
             }
-        };
-        for (var row = 0; row < data.length; row++) {
-            for (var col = 0; col < setting.header.length; col++) {
-                var cell = sheet.getCell(row, col, GC.Spread.Sheets.SheetArea.viewport)
-                    hAlign = "left", vAlign = "center";
+            for (var row = 0; row < data.length; row++) {
+                //var cell = sheet.getCell(row, col, GC.Spread.Sheets.SheetArea.viewport);
                 sheet.setValue(row, col, data[row][setting.header[col].dataCode], ch);
                 sheet.setValue(row, col, data[row][setting.header[col].dataCode], ch);
-                if (setting.header[col].hAlign) {
-                    hAlign = setting.header[col].hAlign;
-                } else if (setting.header[col].dataType !== "String"){
-                    hAlign = "right";
-                }
-                vAlign = setting.header[col].vAlign?setting.header[col].vAlign:vAlign;
-                private_setCellAlign(cell, hAlign, vAlign);
-                if (setting.header[col].formatter) {
-                    var style = new GC.Spread.Sheets.Style();
-                    style.formatter = setting.header[col].formatter;
-                    sheet.setStyle(row,col,style,GC.Spread.Sheets.SheetArea.viewport);
-                }
             }
             }
         }
         }
         sheet.resumeEvent();
         sheet.resumeEvent();
@@ -113,7 +114,7 @@ var sheetCommonObj = {
         }
         }
         return rst;
         return rst;
     },
     },
-    shieldAllCells: function(sheet) {
+    shieldAllCells: function(sheet, setting) {
         sheet.options.isProtected = true;
         sheet.options.isProtected = true;
     }
     }
 }
 }