zhangweicheng 7 years ago
parent
commit
8a3cc5641f

+ 25 - 1
package.json

@@ -30,7 +30,31 @@
     "uuid": "^3.1.0",
     "ioredis":"^3.1.4",
     "log4js":"~2.3.3",
-    "pdfkit": "^0.8.2"
+    "pdfkit": "^0.8.2",
+    "del": "^1.1.1",
+    "gulp": "^3.9.0",
+    "gulp-autoprefixer": "^3.0.1",
+    "gulp-babel": "^6.1.1",
+    "babel-core": "^6.4.0",
+    "gulp-cache": "^0.2.8",
+    "gulp-cssnano": "^2.0.0",
+    "gulp-eslint": "^0.13.2",
+    "gulp-htmlmin": "^1.3.0",
+    "gulp-if": "^1.2.5",
+    "gulp-imagemin": "^2.2.1",
+    "gulp-load-plugins": "^0.10.0",
+    "gulp-plumber": "^1.0.1",
+    "gulp-sass": "^2.0.0",
+    "gulp-size": "^1.2.1",
+    "gulp-sourcemaps": "^1.5.0",
+    "gulp-uglify": "^1.1.0",
+    "gulp-useref": "^3.0.0",
+    "gulp-inject":"^4.3.0",
+    "gulp-concat": "^2.6.1",
+    "main-bower-files": "^2.5.0",
+    "wiredep": "^2.2.2",
+    "gulp-uglify-es":"^0.1.3",
+    "run-sequence":"^2.2.0"
   },
   "scripts": {
     "start": "C:\\Users\\mai\\AppData\\Roaming\\npm\\babel-node.cmd server.js"

BIN
web/dest/css/fonts/FontAwesome.otf


BIN
web/dest/css/fonts/fontawesome-webfont.eot


File diff suppressed because it is too large
+ 2671 - 0
web/dest/css/fonts/fontawesome-webfont.svg


BIN
web/dest/css/fonts/fontawesome-webfont.ttf


BIN
web/dest/css/fonts/fontawesome-webfont.woff


+ 523 - 0
web/src/html/pm/project-management.html

@@ -0,0 +1,523 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <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">
+    <title>项目管理-Smartcost</title>
+    <!-- inject:css -->
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/web/building_saas/css/main.css">
+    <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
+    <!--zTree-->
+    <link rel="stylesheet" href="/lib/ztree/css/zTreeStyle.css" type="text/css">
+    <!-- endinject -->
+
+    <script>
+        // 这里的变量供页面调用
+        var userAccount = '<%- userAccount %>';
+        var userID = '<%- userID %>';
+    </script>
+    <style type="text/css">
+        .hidden-area{
+            display: none;
+        }
+        #summary-engineering,#summary-project{
+            display: none;
+        }
+    </style>
+</head>
+
+<body>
+<div class="header">
+    <div class="top-msg clearfix">
+        <div class="alert alert-warning mb-0 py-0" role="alert">
+            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                <span aria-hidden="true">&times;</span>
+            </button>
+            <strong>注意!</strong> 这是一条消息通知 <a href="#">链接</a>
+        </div>
+    </div>
+    <%include ../../../common/html/header.html %>
+    <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
+        <ul class="nav navbar-nav px-1">
+            <li class="nav-item dropdown">
+                <a class="nav-link dropdown-toggle" href="http://example.com" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">文件</a>
+                <div class="dropdown-menu" aria-labelledby="supportedContentDropdown">
+                    <a class="dropdown-item" href="#">Action</a>
+                    <a class="dropdown-item" href="#">Another action</a>
+                    <a class="dropdown-item" href="#">Something else here</a>
+                </div>
+            </li>
+            <li class="nav-item dropdown">
+                <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">编辑</a>
+                <div class="dropdown-menu">
+                    <a class="dropdown-item" href="#">Action</a>
+                    <a class="dropdown-item" href="#">Another action</a>
+                    <a class="dropdown-item" href="#">Something else here</a>
+                </div>
+            </li>
+            <li class="nav-item dropdown">
+                <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">工具</a>
+                <div class="dropdown-menu">
+                    <a class="dropdown-item" href="#">定额库编辑器</a>
+                    <a class="dropdown-item" href="/complementaryGlj">工料机库编辑器</a>
+                </div>
+            </li>
+            <li class="nav-item dropdown">
+                <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-question-circle-o"></i> 帮助</a>
+                <div class="dropdown-menu">
+                    <a class="dropdown-item" href="#">帮助</a>
+                    <a class="dropdown-item" href="#">升级说明</a>
+                    <a class="dropdown-item" href="#">重庆市2008定额说明</a>
+                    <a class="dropdown-item" href="#">纵横官网</a>
+                    <a class="dropdown-item" href="#">动画教程</a>
+                    <a class="dropdown-item" href="#">联系客服</a>
+                    <a class="dropdown-item" href="#">关于</a>
+                </div>
+            </li>
+        </ul>
+        <form class="form-inline">
+            <input class="form-control form-control-sm mr-1" type="text" placeholder="告诉我你想做什么">
+        </form>
+    </nav>
+</div>
+    <div class="main">
+        <div class="poj-manage container-fluid">
+            <div class="row">
+                <div class="col-lg-2">
+                    <div class="poj-cate">
+                        <input type="text" class="my-2 form-control form-control-sm" placeholder="搜索所有工程">
+                        <ul class="nav nav-pills flex-column">
+                            <li class="nav-item">
+                                <a class="nav-link active" href="#">全部</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="#">最近使用</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="#">共享</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="#">协同工作</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="#">归档</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="#">回收站</a>
+                            </li>
+                        </ul>
+                    </div>
+                </div>
+                <div class="col-lg-10">
+                <div class="toolsbar">
+                    <div class="tools-btn btn-group align-top">
+                        <a href="javascript:void(0);" class="btn btn-sm" id="add-project-btn"><i class="fa fa-cubes"></i>&nbsp;新建建设项目</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="add-engineering-btn"><i class="fa fa-cube"></i>&nbsp;新建单项工程</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="add-tender-btn"><i class="fa fa-sticky-note-o"></i>&nbsp;新建单位工程</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="add-folder-btn"><i class="fa fa-folder-o"></i>&nbsp;新建文件夹</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="rename-btn">重命名</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="del-btn">删除</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="move-to-btn">移动到...</a>
+                        <a href="javascript:void(0);" class="btn btn-sm" id="copy-to-btn">复制到...</a>
+                        <a href="" class="btn btn-sm" id="share-btn">共享</a>
+                        <a href="" class="btn btn-sm" id="cooperate-btn">协同</a>
+                    </div>
+                </div>
+                <div class="poj-list">
+                    <legend>全部</legend>
+                    <table class="table table-hover table-sm" id="ProjTree">
+                        <thead>
+                        <tr>
+                            <th width="40"></th>
+                            <th width="78%">工程列表</th>
+                            <th width="10%">最近使用</th>
+                            <th width="10%">创建日期</th>
+                        </tr>
+                        </thead>
+                        <tbody>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="slide-sidebar">
+        <div class="side-content">
+            <!--建设项目汇总-->
+            <div class="p-3" id="summary-project">
+                <legend><span id="summary-project-name">船体生产车间</span> 汇总</legend>
+                <table class="table table-bordered table-hover table-sm" id="summary-project-table">
+                    <thead>
+                    <tr>
+                        <th rowspan="2"></th>
+                        <th rowspan="2">序号</th>
+                        <th rowspan="2">单位工程名称</th>
+                        <th rowspan="2">金额(元)</th>
+                        <th colspan="3">其中</th>
+                    </tr>
+                    <tr>
+                        <th>暂估价(元)</th>
+                        <th>安全文明施工费(元)</th>
+                        <th>规费(元)</th>
+                    </tr>
+                    </thead>
+                    <tbody></tbody>
+                </table>
+                <div class="row">
+                    <div class="col-md-6">
+                        <legend>单价文件</legend>
+                        <table class="table table-bordered table-hover table-sm" id="summary-project-unit-price-table">
+                            <thead><th></th><th>名称</th></thead>
+                            <tbody>
+                            <tr><td>1</td><td>A单价文件</td></tr>
+                            <tr><td>2</td><td>B单价文件</td></tr>
+                            <tr><td>3</td><td>C单价文件</td></tr>
+                            </tbody>
+                        </table>
+                    </div>
+                    <div class="col-md-6">
+                        <legend>费率文件</legend>
+                        <table class="table table-bordered table-hover table-sm" id="summary-project-fee-table">
+                            <thead><th></th><th>名称</th></thead>
+                            <tbody>
+                            <tr><td>1</td><td>A费率文件</td></tr>
+                            <tr><td>2</td><td>B费率文件</td></tr>
+                            <tr><td>3</td><td>C费率文件</td></tr>
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+            </div>
+            <!--单项工程汇总-->
+            <div class="p-3" id="summary-engineering">
+                <legend><span id="summary-engineering-name">6号生产车间</span> 汇总</legend>
+                <table class="table table-bordered table-hover table-sm" id="summary-engineering-table">
+                    <thead>
+                    <tr>
+                        <th rowspan="2"></th>
+                        <th rowspan="2">序号</th>
+                        <th rowspan="2">单位工程名称</th>
+                        <th rowspan="2">金额(元)</th>
+                        <th colspan="3">其中</th>
+                    </tr>
+                    <tr>
+                        <th>暂估价(元)</th>
+                        <th>安全文明施工费(元)</th>
+                        <th>规费(元)</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>1</td>
+                        <td>1</td>
+                        <td>建筑工程3</td>
+                        <td>12345.67</td>
+                        <td>5436.87</td>
+                        <td>54345.68</td>
+                        <td>514.54</td>
+                    </tr>
+                    <tr>
+                        <td>2</td>
+                        <td>2</td>
+                        <td>建筑工程4</td>
+                        <td>12345.67</td>
+                        <td>5436.87</td>
+                        <td>54345.68</td>
+                        <td>514.54</td>
+                    </tr>
+                    <tr>
+                        <td>3</td>
+                        <td>3</td>
+                        <td>建筑工程5</td>
+                        <td> </td>
+                        <td> </td>
+                        <td> </td>
+                        <td> </td>
+                    </tr>
+                    <tr>
+                        <td>4</td>
+                        <td> </td>
+                        <td>合计</td>
+                        <td>110789.36</td>
+                        <td>5971.32</td>
+                        <td>58900.46</td>
+                        <td>1049.41
+
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出新建建设项目-->
+<div class="modal fade" id="add-project-dialog" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title"><i class="fa fa-cubes"></i>&nbsp;新建建设项目</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <!--没有点击任何节点-->
+                <form>
+                    <div class="form-group">
+                        <label>建设项目</label>
+                        <input type="text" class="form-control" placeholder="输入建设项目名称" id="project-name">
+                    </div>
+                    <div class="form-group">
+                        <label>计价方式</label>
+                        <div>
+                            <label class="custom-control custom-radio">
+                                <input name="valuation_type" type="radio" class="custom-control-input" value="bill">
+                                <span class="custom-control-indicator"></span>
+                                <span class="custom-control-description">清单计价</span>
+                            </label>
+                            <label class="custom-control custom-radio">
+                                <input name="valuation_type" type="radio" class="custom-control-input" value="ration">
+                                <span class="custom-control-indicator"></span>
+                                <span class="custom-control-description">定额计价</span>
+                            </label>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label>计价规则</label>
+                        <select class="form-control" id="valuation"><option value="">请选择计价规则</option></select>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javacript:void(0);" class="btn btn-primary" id='addProjOk'>确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出新建单项工程-->
+<div class="modal fade" id="add-engineering-dialog" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title"><i class="fa fa-cube"></i>&nbsp;新建单项工程</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <!--没有点击任何节点-->
+                <form>
+                    <div class="form-group">
+                        <label>单项工程</label>
+                        <input type="text" class="form-control" placeholder="输入单项工程名称" id="engineering-name">
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javascript:void(0);" class="btn btn-primary" id="add-engineering-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出新建单位工程-->
+<div class="modal fade" id="add-tender-dialog" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title"><i class="fa fa-sticky-note-o"></i>&nbsp;新建单位工程</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <!--没有点击任何节点-->
+                <form>
+                    <div class="form-group">
+                        <label>单位工程</label>
+                        <input type="text" class="form-control" placeholder="输入单位工程名称" id="tender-name">
+                    </div>
+                    <div class="form-group">
+                        <label>工程专业</label>
+                        <select class="form-control" id="tender-engineering"><option>建筑工程</option></select>
+                    </div>
+                    <div class="form-group hidden-area">
+                        <label>单价文件</label>
+                        <select class="form-control" id="unit-price"><option value="">新建单价文件</option></select>
+                    </div>
+                    <div class="form-group hidden-area">
+                        <label>费率文件</label>
+                        <select class="form-control" id="tender-fee-rate"><option value="">新建费率文件</option></select>
+                    </div>
+                    <div class="form-group">
+                        <label>计价方式</label>
+                        <div>
+                            <label class="custom-control custom-radio">
+                                <input name="tender_valuation_type" type="radio" class="custom-control-input" value="bill" checked="checked">
+                                <span class="custom-control-indicator"></span>
+                                <span class="custom-control-description">清单计价</span>
+                            </label>
+                            <label class="custom-control custom-radio">
+                                <input name="tender_valuation_type" type="radio" class="custom-control-input" value="ration" disabled="disabled">
+                                <span class="custom-control-indicator"></span>
+                                <span class="custom-control-description">定额计价</span>
+                            </label>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label>计价规则</label>
+                        <select class="form-control" id="tender-valuation" disabled><option>重庆[2008]调整人工单价</option></select>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javascript:void(0);" class="btn btn-primary" id="add-tender-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出新建文件夹-->
+<div class="modal fade" id="add-folder-dialog" 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">
+                <form>
+                    <div class="form-group">
+                        <label>文件夹</label>
+                        <input type="text" class="form-control" placeholder="输入文件夹名称" id="folder-name">
+                        <span class="form-text text-muted">Smartcost目前最多支持3层文件夹。</span>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javascript:void(0);" class="btn btn-primary" id="add-folder-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出重命名-->
+<div class="modal fade" id="rename-dialog" 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">
+                <form>
+                    <div class="form-group">
+                        <input type="text" class="form-control" placeholder="输入名称" id="rename-name">
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javascript:void(0);" class="btn btn-primary" id="rename-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出删除-->
+<div class="modal fade" id="del" 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">
+                <h5 class="text-danger" id="tenderHint">删除 "建筑工程" ?</h5>
+                <h5 class="text-danger" id="folderHint">删除 "XX项目文件夹" 以及它包含的子项?</h5>
+                <p class="" id = 'restoreHint'>删除后,你可以在回收站找到它。</p>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javascript:void(0);" class="btn btn-danger" id="delete-confirm">删除</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出移动到-->
+<div class="modal fade" id="move-to-dialog" 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">
+                <ul id="treeDemo" class="ztree"></ul>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javacript:void(0);" class="btn btn-primary" id="move-to-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!--弹出复制到-->
+<div class="modal fade" id="copy-to-dialog" 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">
+                <ul id="treeDemo2" class="ztree"></ul>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
+                <a href="javacript:void(0);" class="btn btn-primary" id="copy-to-confirm">确定</a>
+            </div>
+        </div>
+    </div>
+</div>
+<!-- JS. -->
+<!-- inject:js -->
+<script src="/lib/tether/tether.min.js"></script>
+<script src="/lib/bootstrap/bootstrap.min.js"></script>
+<script src="/web/building_saas/js/global.js"></script>
+<script src="/public/web/date_util.js"></script>
+<script src="/public/web/tree_table/tree_table.js"></script>
+<script type="text/javascript" src="/public/web/common_ajax.js"></script>
+<script src="/web/building_saas/pm/js/pm_ajax.js"></script>
+<script src="/web/building_saas/pm/js/pm_main.js" charset="UTF-8"></script>
+
+
+<!-- zTree -->
+<script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
+<script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
+<!-- endinject -->
+
+</body>
+<script type="text/javascript">
+    autoFlashHeight();
+</script>
+<script type="text/javascript">
+    let billValuation = '<%- billValuation %>';
+    let rationValuation = '<%- rationValuation %>';
+    let engineeringList = '<%- engineeringList %>';
+</script>
+</html>