|
@@ -20,7 +20,7 @@
|
|
|
<div class="header">
|
|
|
<nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
|
|
|
<span class="header-logo px-2">清单规则编辑器</span>
|
|
|
- <div class="navbar-text"><a href="main.html">清单规则</a><i class="fa fa-angle-right fa-fw"></i>XXX清单规则</div>
|
|
|
+ <div class="navbar-text"></div>
|
|
|
</nav>
|
|
|
<nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
|
|
|
|
|
@@ -46,22 +46,22 @@
|
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
|
<ul class="navbar-nav">
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link text-primary" href="#"><i class="fa fa-share" aria-hidden="true"></i>插入</a>
|
|
|
+ <a class="nav-link text-primary" id="insert" href="javascript: void(0);"><i class="fa fa-share" aria-hidden="true"></i>插入</a>
|
|
|
</li>
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link text-primary" id ="aDelete" href="javascript:void (0)"><i class="fa fa-remove" aria-hidden="true"></i>删除</a>
|
|
|
+ <a class="nav-link text-primary" id ="delete" href="javascript:void (0)"><i class="fa fa-remove" aria-hidden="true"></i>删除</a>
|
|
|
</li>
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link text-primary" href="#"><i class="fa fa-arrow-left" aria-hidden="true"></i>升级</a>
|
|
|
+ <a class="nav-link text-primary" id="upLevel" href="javascript: void(0);"><i class="fa fa-arrow-left" aria-hidden="true"></i>升级</a>
|
|
|
</li>
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link text-primary" href="#"><i class="fa fa-arrow-right" aria-hidden="true"></i>降级</a>
|
|
|
+ <a class="nav-link text-primary" id="downLevl" href="javascript: void(0);"><i class="fa fa-arrow-right" aria-hidden="true"></i>降级</a>
|
|
|
</li>
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link disabled" href="#"><i class="fa fa-arrow-up" aria-hidden="true"></i>上移</a>
|
|
|
+ <a class="nav-link text-primary" id="upMove" href="javascript: void(0);"><i class="fa fa-arrow-up" aria-hidden="true"></i>上移</a>
|
|
|
</li>
|
|
|
<li class="nav-item">
|
|
|
- <a class="nav-link disabled" href="#"><i class="fa fa-arrow-down" aria-hidden="true"></i>下移</a>
|
|
|
+ <a class="nav-link text-primary" id="downMove" href="javascript: void(0);"><i class="fa fa-arrow-down" aria-hidden="true"></i>下移</a>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
@@ -207,63 +207,173 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- JS. -->
|
|
|
- <script src="lib/spreadjs/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 src="lib/jquery/jquery.min.js"></script>
|
|
|
<script src="lib/tether/tether.min.js"></script>
|
|
|
<script src="lib/bootstrap/bootstrap.min.js"></script>
|
|
|
- <script src="web/bills/scripts/global.js"></script>
|
|
|
- <script src="web/bills/scripts/setSheets.js"></script>
|
|
|
- <script src="web/bills/scripts/billsAjax.js"></script>
|
|
|
+ <script src="web/billsLib/scripts/global.js"></script>
|
|
|
+ <script src="web/billsLib/scripts/setSheets.js"></script>
|
|
|
+ <script src="web/billsLib/scripts/billsLibAjax.js"></script>
|
|
|
+ <!--idTree-->
|
|
|
+ <script src="public/web/idTree.js"></script>
|
|
|
+ <script src="public/web/tree_sheet_controller.js"></script>
|
|
|
+ <script src="public/web/tree_sheet_helper.js"></script>
|
|
|
+ <script src="web/billsLib/scripts/billsLibSetting.js"></script>
|
|
|
+ <script src="web/billsLib/scripts/billsLibTree.js"></script>
|
|
|
+ <!--<script src="test/tmp_data/data_15690.js"></script>-->
|
|
|
+ <script src="test/tmp_data/bills_grid_setting.js"></script>
|
|
|
</body>
|
|
|
<script type="text/javascript">
|
|
|
autoFlashHeight();
|
|
|
+ var billsTree = billsLibTree.createBillsTree();
|
|
|
var billsLibId = getQueryString("billsLibId");
|
|
|
$(document).ready(function(){
|
|
|
- if(billsLibId&&billsLibId.toString().length>0){
|
|
|
- billsAjax.getBills(billsLibId);
|
|
|
- }
|
|
|
- buildBills();
|
|
|
+ billsAjax.getStdBillsLibName(billsLibId);
|
|
|
+ billsAjax.getBills(billsLibId);
|
|
|
buildJobs();
|
|
|
buildItems();
|
|
|
- testSortA();
|
|
|
});
|
|
|
//test
|
|
|
- function testSortA(){
|
|
|
- var arr = [5,1,2,8,0,10];
|
|
|
- arr.sort(function(a1, a2){
|
|
|
- if(a1>a2){
|
|
|
- return 1;
|
|
|
+ //test
|
|
|
+
|
|
|
+ var dbOperation = {
|
|
|
+ insert: function(controller){
|
|
|
+ if(controller.tree.items.length === 0){
|
|
|
+ billsAjax.createBills(billsLibId, -1 , -1);
|
|
|
+ controller.insert();
|
|
|
}
|
|
|
- else{
|
|
|
- return -1;
|
|
|
+ else {
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ if(node){
|
|
|
+ var updateId = tagId, createpid = node.getParentID(), createnid = node.getNextSiblingID();
|
|
|
+ controller.insert();
|
|
|
+ billsAjax.createBills(billsLibId, createpid, createnid);
|
|
|
+ billsAjax.updatePNId(updateId, -1, node.getNextSiblingID());
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ var updateNode = controller.tree.roots[controller.tree.roots.length - 1];
|
|
|
+ var updateId = updateNode.getID();
|
|
|
+ controller.insert();
|
|
|
+ billsAjax.createBills(billsLibId, -1, -1);
|
|
|
+ billsAjax.updatePNId(updateId, -1, updateNode.getNextSiblingID());
|
|
|
+ }
|
|
|
}
|
|
|
- });
|
|
|
- console.log(arr);
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ delete: function(controller){
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ var deleteIds = [];
|
|
|
+ var getDeleteIds = function(node){
|
|
|
+ if(node){
|
|
|
+ deleteIds.push(node.getID());
|
|
|
+ if(node.children.length > 0){
|
|
|
+ for(var i=0; i<node.children.length; i++){
|
|
|
+ getDeleteIds(node.children[i]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ getDeleteIds(node);
|
|
|
+ billsAjax.deleteBills(deleteIds);
|
|
|
+ controller.delete;
|
|
|
+ },
|
|
|
|
|
|
- function testSortB(){
|
|
|
- var testDataArr = [
|
|
|
- {ID: "1", NextSiblingID: "3", ParentID: "-1"},
|
|
|
- {ID: "2", NextSiblingID: "6", ParentID: "-1"},
|
|
|
- {ID: "3", NextSiblingID: "2", ParentID: "-1"},
|
|
|
- {ID: "6", NextSiblingID: "4", ParentID: "-1"},
|
|
|
- {ID: "4", NextSiblingID: "-1", ParentID: "-1"}
|
|
|
- ];
|
|
|
+ upLevel: function(controller){
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ if(node){
|
|
|
+ if(node.parent){
|
|
|
+ //node
|
|
|
+ billsAjax.updatePNId(node.getID(), node.parent.getParentID(), node.parent.getNextSiblingID());
|
|
|
+ //parent
|
|
|
+ billsAjax.updatePNId(node.getParentID(), null, node.getID());
|
|
|
+ if(node.nextSibling){
|
|
|
+ //node.nextSibling
|
|
|
+ billsAjax.updatePNId(node.getNextSiblingID(), node.getID(), null);
|
|
|
+ }
|
|
|
+ if(node.preSibling){
|
|
|
+ billsAjax.updatePNId(node.preSibling.getID(), null, -1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //controllerOp
|
|
|
+ controller.upLevel();
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ downLevel: function(controller){
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ if(node){
|
|
|
+ if(node.preSibling){
|
|
|
+ billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
|
|
|
+ billsAjax.updatePNId(node.getID(), node.preSibling.getID(), -1);
|
|
|
+ if(node.preSibling.children.length > 0){
|
|
|
+ billsAjax.updatePNId(node.preSibling.children[node.preSibling.children.length -1].getID(), null, node.getID());
|
|
|
+ }
|
|
|
+ controller.downLevel();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- testDataArr.sort(function(a, b){
|
|
|
- if(a.NextSiblingID == b.ID){
|
|
|
- return -1;
|
|
|
+ upMove: function(controller){
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ if(node){
|
|
|
+ if(node.preSibling){
|
|
|
+ billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
|
|
|
+ billsAjax.updatePNId(node.getID(), null, node.preSibling.getID());
|
|
|
+ if(node.preSibling.preSibling){
|
|
|
+ billsAjax.updatePNId(node.preSibling.preSibling.getID(), null, node.getID());
|
|
|
+ }
|
|
|
+ controller.upMove();
|
|
|
+ }
|
|
|
}
|
|
|
- else{
|
|
|
- return 1;
|
|
|
+ },
|
|
|
+
|
|
|
+ downMove: function(controller){
|
|
|
+ var node = controller.tree.selected;
|
|
|
+ if(node){
|
|
|
+ if(node.nextSibling){
|
|
|
+ billsAjax.updatePNId(node.getNextSiblingID(), null, node.getID());
|
|
|
+ billsAjax.updatePNId(node.getID(), null, node.nextSibling.getNextSiblingID());
|
|
|
+ if(node.preSibling){
|
|
|
+ billsAjax.updatePNId(node.preSibling.getID(), null, node.getNextSiblingID());
|
|
|
+ }
|
|
|
+ controller.downMove();
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ function nodeOpration(controller,sheet){
|
|
|
+ $('#insert').click(function(){
|
|
|
+ //dbOperation.insert(controller, sheet);
|
|
|
+ controller.insert();
|
|
|
+ });
|
|
|
+ $('#delete').click(function(){
|
|
|
+ controller.delete();
|
|
|
+ });
|
|
|
+ $('#upLevel').click(function(){
|
|
|
+ controller.upLevel();
|
|
|
+ });
|
|
|
+ $('#downLevl').click(function(){
|
|
|
+ controller.downLevel();
|
|
|
+ });
|
|
|
+ $('#upMove').click(function(){
|
|
|
+ controller.upMove();
|
|
|
+ });
|
|
|
+ $('#downMove').click(function(){
|
|
|
+ controller.downMove();
|
|
|
});
|
|
|
- //expect: 1 3 2 6 4
|
|
|
- //fact: 2 6 4 1 3
|
|
|
- console.log(testDataArr);
|
|
|
}
|
|
|
|
|
|
- //test
|
|
|
+ function showBillsSheet(datas){
|
|
|
+ var billsSpread = new GC.Spread.Sheets.Workbook($('#spreadBills')[0], {sheetCount: 1});
|
|
|
+ initSheet(billsSpread);
|
|
|
+ billsTree.loadDatas(datas);
|
|
|
+ var controller = TREE_SHEET_CONTROLLER.createNew(billsTree.tree, billsSpread.getActiveSheet(), billsLibSetting);
|
|
|
+ controller.showTreeData();
|
|
|
+ nodeOpration(controller, billsSpread.getActiveSheet());
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
function buildBills(){
|
|
|
var spread = new GC.Spread.Sheets.Workbook($("#spreadBills")[0], {sheetCount: 1});
|
|
@@ -316,7 +426,7 @@
|
|
|
var vpColCount = 2;
|
|
|
sheet.suspendPaint();
|
|
|
sheet.suspendEvent();
|
|
|
- initSheet(spread, sheet, chRowCount, vpRowCount, vpColCount);
|
|
|
+ initSheet(spread);
|
|
|
setupJobsColHeader(sheet);
|
|
|
//initRowHeight(sheet);
|
|
|
setCell(sheet);
|