main.html 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <meta http-equiv="x-ua-compatible" content="ie=edge">
  7. <title>造价书-Smartcost</title>
  8. <link rel="stylesheet" href="web/css/bootstrap/bootstrap.min.css">
  9. <link rel="stylesheet" href="web/css/main.css">
  10. <link rel="stylesheet" href="web/css/font-awesome/font-awesome.min.css">
  11. <!--zTree-->
  12. <link rel="stylesheet" href="web/css/ztree/zTreeStyle.css" type="text/css">
  13. <!--SpreadJs-->
  14. <link rel="stylesheet" href="web/css/spreadjs/gc.spread.sheets.excel2013lightGray.10.0.1.css" type="text/css">
  15. <script src="lib/jquery/jquery.min.js"></script>
  16. <script src="lib/global.js"></script>
  17. <script>
  18. // 这里的变量供页面调用
  19. var userAccount = '<%- userAccount %>';
  20. var userID = '<%- userID %>';
  21. </script>
  22. </head>
  23. <body>
  24. <div class="header">
  25. <!-- <div class="top-msg clearfix">
  26. <div class="alert alert-warning mb-0 py-0" role="alert">
  27. <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  28. <span aria-hidden="true">&times;</span>
  29. </button>
  30. <strong>注意!</strong> 这是一条消息通知 <a href="#">链接</a>
  31. </div>
  32. </div> -->
  33. <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 justify-content-between">
  34. <span class="header-logo px-2">Smartcost</span>
  35. <div class="navbar-text" id="fullpath"><a href="/pm">项目管理</a><i class="fa fa-angle-right fa-fw"></i>文件夹<i class="fa fa-angle-right fa-fw"></i>建设项目<i class="fa fa-angle-right fa-fw"></i>单项工程<i class="fa fa-angle-right fa-fw"></i>单位工程</div>
  36. <div class="float-lg-right navbar-text pt-0">
  37. <div class="dropdown d-inline-block">
  38. <button class="btn btn-link btn-sm dropdown-toggle" type="button" data-toggle="dropdown"><%- userAccount %></button>
  39. <div class="dropdown-menu dropdown-menu-right">
  40. <a class="dropdown-item" href="/user/info" target="_blank">账号资料</a>
  41. <a class="dropdown-item" href="/user/buy" target="_blank">产品购买</a>
  42. <a class="dropdown-item" href="/user/set" target="_blank">偏好设置</a>
  43. </div>
  44. </div>
  45. <span class="btn btn-link btn-sm new-msg">
  46. <i class="fa fa-envelope-o" aria-hidden="true"></i>&nbsp;2
  47. </span>
  48. <a class="btn btn-link btn-sm" href="/logout">注销</a>
  49. </div>
  50. </nav>
  51. <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
  52. <ul class="nav navbar-nav px-1">
  53. <li class="nav-item">
  54. <a class="nav-link" href="#" aria-haspopup="true" aria-expanded="false"><i class="fa fa-sliders"></i> 选项</a>
  55. </li>
  56. <li class="nav-item dropdown">
  57. <a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-wrench"></i> 工具</a>
  58. <div class="dropdown-menu">
  59. <a class="dropdown-item" href="#">定额库编辑器</a>
  60. <a class="dropdown-item" href="#">工料机库编辑器</a>
  61. </div>
  62. </li>
  63. <li class="nav-item dropdown">
  64. <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>
  65. <div class="dropdown-menu">
  66. <a class="dropdown-item" href="#">帮助</a>
  67. <a class="dropdown-item" href="#">升级说明</a>
  68. <a class="dropdown-item" href="#">重庆市2008定额说明</a>
  69. <a class="dropdown-item" href="#">纵横官网</a>
  70. <a class="dropdown-item" href="#">动画教程</a>
  71. <a class="dropdown-item" href="#">联系客服</a>
  72. <a class="dropdown-item" href="#">关于</a>
  73. </div>
  74. </li>
  75. <li class="nav-item">
  76. <a class="nav-link" href="#" aria-haspopup="true" aria-expanded="false"><i class="fa fa-history"></i> 历史记录</a>
  77. </li>
  78. </ul>
  79. <form class="form-inline">
  80. <input class="form-control form-control-sm mr-1" type="text" placeholder="告诉我你想做什么">
  81. </form>
  82. </nav>
  83. </div>
  84. <div class="main">
  85. <div class="main-nav">
  86. <ul class="nav nav-tabs flex-column" role="tablist">
  87. <li class="nav-item"><a class="active" data-toggle="tab" href="#zaojiashu" role="tab">造价书</a></li>
  88. <li class="nav-item"><a data-toggle="tab" href="#gongliaoji" role="tab">工料机</a></li>
  89. <li class="nav-item"><a data-toggle="tab" href="#baobiao" role="tab">报表</a></li>
  90. </ul>
  91. </div>
  92. <div class="content">
  93. <div class="tab-content">
  94. <div class="tab-pane active" id="zaojiashu" role="tabpanel">
  95. <!--造价书-->
  96. <div class="toolsbar px-1 d-flex justify-content-between">
  97. <div class="tools-btn btn-group align-top">
  98. <a href="" class="btn btn-sm"><i class="fa fa-files-o" aria-hidden="true"></i> 复制</a>
  99. <a href="" class="btn btn-sm"><i class="fa fa-scissors" aria-hidden="true"></i> 接切</a>
  100. <a href="" class="btn btn-sm"><i class="fa fa-clipboard" aria-hidden="true"></i> 粘贴</a>
  101. <a href="javascript:void(0)" class="btn btn-sm" id="insert"><i class="fa fa-sign-in" aria-hidden="true"></i> 插入</a>
  102. <a href="javascript:void(0)" class="btn btn-sm" id="delete"><i class="fa fa-remove" aria-hidden="true"></i> 删除</a>
  103. <a href="javascript:void(0)" class="btn btn-sm" id="upLevel"><i class="fa fa-arrow-left" aria-hidden="true"></i> 升级</a>
  104. <a href="javascript:void(0)" class="btn btn-sm" id="downLevel"><i class="fa fa-arrow-right" aria-hidden="true"></i> 降级</a>
  105. <a href="javascript:void(0)" class="btn btn-sm" id="downMove"><i class="fa fa-arrow-down" aria-hidden="true"></i> 下移</a>
  106. <a href="javascript:void(0)" class="btn btn-sm" id="upMove"><i class="fa fa-arrow-up" aria-hidden="true"></i> 上移</a>
  107. </div>
  108. <div class="side-tabs">
  109. <ul class="nav nav-tabs" role="tablist">
  110. <li class="nav-item">
  111. <a class="nav-link active px-3" data-toggle="tab" href="#qd" role="tab">清单规则</a>
  112. </li>
  113. <li class="nav-item">
  114. <a class="nav-link px-3" data-toggle="tab" href="#de" role="tab" id="stdRationTab">定额库</a>
  115. </li>
  116. </ul>
  117. </div>
  118. </div>
  119. <div class="container-fluid">
  120. <div class="row">
  121. <div class="main-content col-lg-9 p-0">
  122. <div class="top-content">
  123. <div class="main-data-top" id="billsSpread"></div>
  124. </div>
  125. <div class="bottom-content">
  126. <ul class="nav nav-tabs" role="tablist">
  127. <li class="nav-item">
  128. <a class="nav-link active" data-toggle="tab" href="#gl" role="tab">工料机</a>
  129. </li>
  130. <li class="nav-item">
  131. <a class="nav-link" data-toggle="tab" href="#fzt" role="tab">附注条件</a>
  132. </li>
  133. <li class="nav-item">
  134. <a class="nav-link" data-toggle="tab" href="#fzd" role="tab">辅助定额</a>
  135. </li>
  136. <li class="nav-item">
  137. <a class="nav-link" data-toggle="tab" href="#gc" role="tab">工程量明细</a>
  138. </li>
  139. <li class="nav-item">
  140. <a class="nav-link" data-toggle="tab" href="#dj" role="tab">单价构成</a>
  141. </li>
  142. <li class="nav-item">
  143. <a class="nav-link" data-toggle="tab" href="#fx" role="tab">分项说明</a>
  144. </li>
  145. <li class="nav-item">
  146. <a class="nav-link" data-toggle="tab" href="#des" role="tab">定额说明</a>
  147. </li>
  148. </ul>
  149. <!-- Tab panes -->
  150. <div class="tab-content">
  151. <div class="tab-pane active" id="gl" role="tabpanel">
  152. <div class="main-data-bottom ovf-hidden" id="gljSpread">
  153. </div>
  154. </div>
  155. <div class="tab-pane" id="fzt" role="tabpanel">
  156. <div class="warp-p2">
  157. 附注条件的内容
  158. </div>
  159. </div>
  160. <div class="tab-pane" id="fzd" role="tabpanel">
  161. <div class="warp-p2">
  162. 辅助定额的内容
  163. </div>
  164. </div>
  165. <div class="tab-pane" id="gc" role="tabpanel">
  166. <div class="warp-p2">
  167. 工程量明细的内容
  168. </div>
  169. </div>
  170. <div class="tab-pane" id="dj" role="tabpanel">
  171. <div class="warp-p2">
  172. 单价构成的内容
  173. </div>
  174. </div>
  175. <div class="tab-pane" id="fx" role="tabpanel">
  176. <div class="warp-p2">
  177. 分项说明的内容
  178. </div>
  179. </div>
  180. <div class="tab-pane" id="des" role="tabpanel">
  181. <div class="warp-p2">
  182. 定额说明的内容
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. <div class="main-side col-lg-3 p-0">
  189. <div class="tab-content">
  190. <!--清单规则-->
  191. <div class="tab-pane active" id="qd" role="tabpanel">
  192. <div class="sidebar-tools-bar container-fluid">
  193. <div class="p-1 row">
  194. <select class="form-control form-control-sm col-6" id="stdBillsLibSelect">
  195. </select>
  196. <div class="input-group col-6">
  197. <div class="input-group-addon form-control-sm"><i class="fa fa-search" aria-hidden="true"></i></div>
  198. <input type="text" class="form-control form-control-sm" placeholder="搜索清单">
  199. </div>
  200. </div>
  201. </div>
  202. <div class="main-data-side-s" id="stdBillsSpread">
  203. </div>
  204. <div class="sidebar-bottom container-fluid">
  205. <div class="row" id="stdBillsJobTab">
  206. <div class="col-lg-6 p-0" id="stdBillsJobs"></div>
  207. <div class="col-lg-6 p-0" id="stdBillsFeatures"></div>
  208. </div>
  209. <div class="row" id="stdBillsRemarkTab">
  210. <div class="col-lg-12 p-0">
  211. <textarea class="form-control" id="stdBillsRemark" rows="8" readonly="true"></textarea>
  212. </div>
  213. </div>
  214. </div>
  215. </div>
  216. <!--定额库-->
  217. <div class="tab-pane" id="de" role="tabpanel">
  218. <div class="sidebar-tools-bar container-fluid">
  219. <div class="p-1 row">
  220. <select class="form-control form-control-sm col-6" id="stdRationLibSelect">
  221. </select>
  222. <div class="input-group col-6">
  223. <div class="input-group-addon form-control-sm"><i class="fa fa-search" aria-hidden="true"></i></div>
  224. <input type="text" class="form-control form-control-sm" placeholder="搜索定额">
  225. </div>
  226. </div>
  227. </div>
  228. <div class="main-data-side-s" id="stdRationChapter">
  229. </div>
  230. <div class="sidebar-bottom container-fluid">
  231. <div class="row">
  232. <div class="col-lg-12 p-0" id="stdSectionRations"></div>
  233. </div>
  234. </div>
  235. </div>
  236. </div>
  237. </div>
  238. </div>
  239. </div>
  240. </div>
  241. <div class="tab-pane" id="gongliaoji" role="tabpanel">
  242. <!--工料机-->
  243. <div class="toolsbar px-1">
  244. <div class="tools-btn btn-group align-top">
  245. <a href="" class="btn btn-sm"><i class="fa fa-arrow-down" aria-hidden="true"></i>下移</a>
  246. <a href="" class="btn btn-sm"><i class="fa fa-arrow-up" aria-hidden="true"></i>上移</a>
  247. <a href="" class="btn btn-sm"><i class="fa fa-arrow-left" aria-hidden="true"></i></a>
  248. <a href="" class="btn btn-sm"><i class="fa fa-arrow-right" aria-hidden="true"></i></a>
  249. <a href="" class="btn btn-sm"><i class="fa fa-undo" aria-hidden="true"></i></a>
  250. </div>
  251. </div>
  252. <div class="container-fluid">
  253. <div class="row">
  254. <div class="main-content col-lg-12 p-0">
  255. <div class="fluid-content">
  256. <div class="warp-p2">
  257. <table class="table table-sm table-bordered m-0">
  258. <thead>
  259. <tr>
  260. <th>编码</th>
  261. <th>名称</th>
  262. <th>规格型号</th>
  263. <th>单位</th>
  264. <th>类型</th>
  265. <th>人工工种</th>
  266. <th>调整系数</th>
  267. <th>总消耗量</th>
  268. <th>基价单价</th>
  269. <th>调整基价</th>
  270. <th>市场单价</th>
  271. <th>市场价合计</th>
  272. <th>是否暂估</th>
  273. <th>供货方式</th>
  274. <th>甲供数量</th>
  275. <th>出厂价</th>
  276. <th>交货方式</th>
  277. <th>... </th>
  278. </tr>
  279. </thead>
  280. <tbody>
  281. <tr>
  282. <td>00010201</td>
  283. <td>土石方综合工日</td>
  284. <td> </td>
  285. <td>工日</td>
  286. <td>人</td>
  287. <td>土石方人工</td>
  288. <td> </td>
  289. <td>100.232</td>
  290. <td>38</td>
  291. <td> </td>
  292. <td>38</td>
  293. <td>市场价合计</td>
  294. <td>是否暂估</td>
  295. <td>供货方式</td>
  296. <td>甲供数量</td>
  297. <td>出厂价</td>
  298. <td>交货方式</td>
  299. <td>... </td>
  300. </tr>
  301. </tbody>
  302. </table>
  303. </div>
  304. </div>
  305. </div>
  306. </div>
  307. </div>
  308. </div>
  309. <div class="tab-pane" id="baobiao" role="tabpanel">
  310. <!--报表-->
  311. <div class="container-fluid">
  312. <div class="row">
  313. <div class="col-lg-2 p-0">
  314. <div class="print-list">
  315. <div class="list-tools d-flex justify-content-center">
  316. <button class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#editForm"><i class="fa fa-cog"></i> 管理报表</button>
  317. </div>
  318. <div class="form-list">
  319. <ul id="treeDemo" class="ztree"></ul>
  320. </div>
  321. </div>
  322. </div>
  323. <div class="col-lg-10 p-0">
  324. <div class="toolsbar">
  325. <div class="print-toolsbar">
  326. <div class="panel">
  327. <div class="panel-body">
  328. <button class="btn btn-secondary btn-sm" type="button">
  329. <i class="fa fa-print"></i><br>
  330. 打印 <span id="checkCount" class="badge badge-primary">5</span>
  331. </button>
  332. </div>
  333. </div>
  334. <div class="panel">
  335. <div class="panel-body">
  336. <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
  337. <div class="btn-group" role="group">
  338. <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  339. 纵向
  340. </button>
  341. <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
  342. <a class="dropdown-item" href="#">横向</a>
  343. </div>
  344. </div>
  345. <div class="btn-group" role="group">
  346. <button id="btnGroupDrop1" type="button" class="btn btn-secondary btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
  347. A4
  348. </button>
  349. <div class="dropdown-menu" aria-labelledby="btnGroupDrop1">
  350. <a class="dropdown-item" href="#">A3</a>
  351. </div>
  352. </div>
  353. </div>
  354. </div>
  355. <div class="panel-foot text-muted">
  356. 预览设置
  357. </div>
  358. </div>
  359. <div class="panel">
  360. <div class="panel-body">
  361. <div class="btn-group" role="group">
  362. <button type="button" class="btn btn-secondary btn-sm">-</button>
  363. <a class="btn btn-secondary btn-sm" data-toggle="tooltip" data-placement="bottom" title="重置默认大小">1000%</a>
  364. <button type="button" class="btn btn-secondary btn-sm">+</button>
  365. </div>
  366. </div>
  367. <div class="panel-foot text-muted">
  368. 缩放
  369. </div>
  370. </div>
  371. <div class="panel">
  372. <div class="panel-body">
  373. <div class="btn-group" role="group" aria-label="Button group with nested dropdown">
  374. <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#paper"><i class="fa fa-file-o"></i> 纸张</button>
  375. <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#format"><i class="fa fa-bold"></i> 格式</button>
  376. <button type="button" class="btn btn-secondary btn-sm" data-toggle="modal" data-target="#content"><i class="fa fa-file-text-o"></i> 内容</button>
  377. </div>
  378. </div>
  379. <div class="panel-foot text-muted">
  380. 报表设置
  381. </div>
  382. </div>
  383. </div>
  384. </div>
  385. <div class="print-view poj-list">
  386. <div class="pageContainer">
  387. <div class="page">
  388. <img src="web/img/baobiao.png">
  389. </div>
  390. <div class="page">
  391. <img src="web/img/baobiao.png">
  392. </div>
  393. <div class="page">
  394. <img src="web/img/baobiao.png">
  395. </div>
  396. <div class="page">
  397. <img src="web/img/baobiao.png">
  398. </div>
  399. </div>
  400. </div>
  401. </div>
  402. </div>
  403. </div>
  404. <!--报表的弹窗-->
  405. <!--1弹出纸张-->
  406. <div class="modal fade" id="paper" data-backdrop="static">
  407. <div class="modal-dialog" role="document">
  408. <div class="modal-content">
  409. <div class="modal-header">
  410. <h5 class="modal-title">纸张</h5>
  411. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  412. <span aria-hidden="true">&times;</span>
  413. </button>
  414. </div>
  415. <div class="modal-body">
  416. </div>
  417. <div class="modal-footer">
  418. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  419. <a href="" class="btn btn-primary">确定</a>
  420. </div>
  421. </div>
  422. </div>
  423. </div>
  424. <!--2弹出页面-->
  425. <div class="modal fade" id="format" data-backdrop="static">
  426. <div class="modal-dialog" role="document">
  427. <div class="modal-content">
  428. <div class="modal-header">
  429. <h5 class="modal-title">格式</h5>
  430. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  431. <span aria-hidden="true">&times;</span>
  432. </button>
  433. </div>
  434. <div class="modal-body">
  435. </div>
  436. <div class="modal-footer">
  437. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  438. <a href="" class="btn btn-primary">确定</a>
  439. </div>
  440. </div>
  441. </div>
  442. </div>
  443. <!--3弹出格式-->
  444. <div class="modal fade" id="content" data-backdrop="static">
  445. <div class="modal-dialog" role="document">
  446. <div class="modal-content">
  447. <div class="modal-header">
  448. <h5 class="modal-title">内容</h5>
  449. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  450. <span aria-hidden="true">&times;</span>
  451. </button>
  452. </div>
  453. <div class="modal-body">
  454. </div>
  455. <div class="modal-footer">
  456. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  457. <a href="" class="btn btn-primary">确定</a>
  458. </div>
  459. </div>
  460. </div>
  461. </div>
  462. </div>
  463. </div>
  464. </div>
  465. </div>
  466. <!-- JS. -->
  467. <script type="text/javascript">
  468. autoFlashHeight();
  469. </script>
  470. <script src="lib/tether/tether.min.js"></script>
  471. <script src="lib/bootstrap/bootstrap.min.js"></script>
  472. <script type="text/javascript" src="/lib/bootstrap/bootstrap-select.min.js"></script>
  473. <!-- Common -->
  474. <script type="text/javascript" src="/public/web/common_ajax.js"></script>
  475. <!--报表 zTree -->
  476. <script type="text/javascript" src="lib/ztree/jquery.ztree.core.js"></script>
  477. <script type="text/javascript" src="lib/ztree/jquery.ztree.excheck.js"></script>
  478. <!-- SpreadJs -->
  479. <script type="text/javascript" src="lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
  480. <script>GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
  481. <!-- Model -->
  482. <script type="text/javascript" src="web/main/js/models/mainConsts.js"></script>
  483. <script type="text/javascript" src="web/main/js/models/project.js"></script>
  484. <script type="text/javascript" src="web/main/js/models/bills.js"></script>
  485. <script type="text/javascript" src="web/main/js/models/ration.js"></script>
  486. <script type="text/javascript" src="web/main/js/models/glj.js"></script>
  487. <script type="text/javascript" src="public/web/idTree.js"></script>
  488. <script type="text/javascript" src="web/main/js/models/cache_tree.js"></script>
  489. <script type="text/javascript" src="/test/tmp_data/data_15690.js"></script>
  490. <!-- Controller -->
  491. <script type="text/javascript" src="public/web/tree_sheet_controller.js"></script>
  492. <script type="text/javascript" src="public/web/tree_sheet_helper.js"></script>
  493. <script type="text/javascript" src="/web/scripts/sheetDataHelper.js"></script>
  494. <!-- Test Data -->
  495. <script type="text/javascript" src="test/tmp_data/bills_grid_setting.js"></script>
  496. <!-- view -->
  497. <script type="text/javascript" src="web/main/js/main_ajax.js"></script>
  498. <script type="text/javascript" src="web/main/js/main.js"></script>
  499. <script type="text/javascript" src="/web/main/js/views/std_bills_lib.js"></script>
  500. <script type="text/javascript" src="/web/main/js/views/std_ration_lib.js"></script>
  501. <script type="text/javascript" src="/public/web/urlUtil.js"></script>
  502. <SCRIPT type="text/javascript">
  503. <!--
  504. var setting = {
  505. view: {
  506. selectedMulti: false
  507. },
  508. check: {
  509. enable: true
  510. },
  511. data: {
  512. simpleData: {
  513. enable: true
  514. }
  515. },
  516. callback: {
  517. onCheck: onCheck
  518. }
  519. };
  520. var zNodes =[
  521. { id:1, pId:0, name:"随意勾选 1", open:true},
  522. { id:11, pId:1, name:"随意勾选 1-1"},
  523. { id:12, pId:1, name:"随意勾选 1-2", open:true},
  524. { id:121, pId:12, name:"随意勾选 1-2-1", checked:true},
  525. { id:122, pId:12, name:"随意勾选 1-2-2"},
  526. { id:123, pId:12, name:"随意勾选 1-2-3"},
  527. { id:13, pId:1, name:"随意勾选 1-3"},
  528. { id:2, pId:0, name:"随意勾选 2", open:true},
  529. { id:21, pId:2, name:"随意勾选 2-1"},
  530. { id:22, pId:2, name:"随意勾选 2-2", open:true},
  531. { id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
  532. { id:222, pId:22, name:"随意勾选 2-2-2"},
  533. { id:223, pId:22, name:"随意勾选 2-2-3"},
  534. { id:23, pId:2, name:"随意勾选 2-3", checked:true}
  535. ];
  536. var clearFlag = false;
  537. function onCheck(e, treeId, treeNode) {
  538. count();
  539. if (clearFlag) {
  540. clearCheckedOldNodes();
  541. }
  542. }
  543. function clearCheckedOldNodes() {
  544. var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
  545. nodes = zTree.getChangeCheckedNodes();
  546. for (var i=0, l=nodes.length; i<l; i++) {
  547. nodes[i].checkedOld = nodes[i].checked;
  548. }
  549. }
  550. function count() {
  551. var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
  552. checkCount = zTree.getCheckedNodes(true).length;
  553. $("#checkCount").text(checkCount);
  554. }
  555. function createTree() {
  556. $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  557. count();
  558. }
  559. $(document).ready(function(){
  560. createTree();
  561. });
  562. //-->
  563. </SCRIPT>
  564. <script type="text/javascript" src="web/main/js/gljView.js"></script>
  565. </body>
  566. <script>
  567. var project;
  568. var controller;
  569. var billsSpread;
  570. $(document).ready(function () {
  571. GC.Spread.Common.CultureManager.culture("zh-cn");
  572. billsSpread = new GC.Spread.Sheets.Workbook($('#billsSpread')[0], { sheetCount: 1 });
  573. billsSpread.options.tabStripVisible = false;
  574. billsSpread.options.scrollbarMaxAlign = true;
  575. // For Test
  576. /*datas.forEach(function (data) {
  577. data.fees = [];
  578. data.fees.push({fieldName: 'labour', unitFee: '1', totalFee: '2', tenderUnitFee: '3', tenderTotalFee: '4'});
  579. data.flags = [];
  580. data.flags.push({fieldName: 'isPartGather', flag: true});
  581. });
  582. drawing_data.forEach(function (data) {
  583. data.fees = [];
  584. data.fees.push({fieldName: 'machine', unitFee: '5', totalFee: '6', tenderUnitFee: '7', tenderTotalFee: '8'});
  585. data.flags = [];
  586. data.flags.push({fieldName: 'isPartGather', flag: false});
  587. });*/
  588. project = PROJECT.createNew(scUrlUtil.GetQueryString('project'), null/* to do: userID*/);
  589. project.loadDatas(function (err) {
  590. if (!err) {
  591. controller = TREE_SHEET_CONTROLLER.createNew(project.mainTree, billsSpread.getActiveSheet(), BillsGridSetting);
  592. controller.showTreeData();
  593. controller.bind('refreshBaseActn', function (tree) {
  594. var setButtonValid = function (valid, btn) {
  595. if (valid) {
  596. btn.removeClass('disabled');
  597. } else {
  598. btn.addClass('disabled');
  599. }
  600. };
  601. setButtonValid(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
  602. setButtonValid(tree.selected && tree.selected.canDownLevel(), $('#downLevel'));
  603. setButtonValid(tree.selected && tree.selected.canUpMove(), $('#upMove'));
  604. setButtonValid(tree.selected && tree.selected.canDownMove(), $('#downMove'));
  605. setButtonValid(tree.selected ? true : false, $('#delete'));
  606. });
  607. gljView.showDatas(project.GLJ.datas);
  608. // alert('GLJDatas1:' + objTest(project.GLJ.datas[0]));
  609. }
  610. else {
  611. }
  612. });
  613. /*CommonAjax.post('/bills/getBills', {}, function (bills) {
  614. project.Bills.loadDatas(bills);
  615. project.Ration.loadDatas([]);
  616. //project.Rations.loadDatas(drawing_data);
  617. project.loadMainTree();
  618. controller = TREE_SHEET_CONTROLLER.createNew(project.mainTree, billsSpread.getActiveSheet(), BillsGridSetting);
  619. //controller = TREE_SHEET_CONTROLLER.createNew(project.Bills.tree, billsSpread.getActiveSheet(), BillsGridSetting);
  620. controller.showTreeData();
  621. controller.bind('refreshBaseActn', function (tree) {
  622. var showButton = function (show, btn) {
  623. if (show) {
  624. btn.show();
  625. } else {
  626. btn.hide();
  627. }
  628. };
  629. showButton(tree.selected && tree.selected.canUpLevel(), $('#upLevel'));
  630. showButton(tree.selected && tree.selected.canDownLevel(), $('#downLevel'));
  631. showButton(tree.selected && tree.selected.canUpMove(), $('#upMove'));
  632. showButton(tree.selected && tree.selected.canDownMove(), $('#downMove'));
  633. showButton(tree.selected ? true : false, $('#delete'));
  634. });
  635. });*/
  636. $('#insert').click(function () {
  637. var selected = controller.tree.selected;
  638. var newSource = null, newNode = null, sels = billsSpread.getActiveSheet().getSelections();
  639. if (!selected || selected.sourceType === project.Bills.getSourceType()) {
  640. newSource = project.Bills.tree.insert(selected ? selected.source.getParentID() : -1, selected ? selected.source.getNextSiblingID() : -1);
  641. newNode = project.mainTree.insert(selected.getParentID(), selected.getNextSiblingID());
  642. } else if (selected.sourceType === project.Rations.getSourceType()) {
  643. } else if (selected.sourceType === project.GLJs.getSourceType()) {
  644. }
  645. if (newNode) {
  646. newNode.source = newSource;
  647. newNode.sourceType = selected ? selected.sourceType : project.Bills.getSourceType();
  648. if (newNode.sourceType === project.Bills.getSourceType()) {
  649. newNode.data = newSource.data;
  650. } else {
  651. newNode.data = newSource;
  652. }
  653. TREE_SHEET_HELPER.massOperationSheet(controller.sheet, function () {
  654. controller.sheet.addRows(newNode.serialNo(), 1);
  655. TREE_SHEET_HELPER.refreshTreeNodeData(controller.setting, controller.sheet, [newNode], false);
  656. controller.setTreeSelected(newNode);
  657. controller.sheet.setSelection(newNode.serialNo(), sels[0].col, 1, 1);
  658. controller.sheet.showRow(newNode.serialNo(), GC.Spread.Sheets.VerticalPosition.center)
  659. });
  660. }
  661. });
  662. $('#delete').click(function () {
  663. var selected = controller.tree.selected;
  664. if (selected) {
  665. if (selected.sourceType === project.Bills.getSourceType()) {
  666. project.Bills.delete(selected.source.getID());
  667. controller.delete();
  668. } else if (selected.sourceType === project.Rations.getSourceType()) {
  669. project.Rations.delete(selected.source);
  670. controller.delete();
  671. };
  672. }
  673. });
  674. $('#upLevel').click(function () {
  675. console.log(project.Bills.tree.getInsertData(project.Bills.tree.selected.getParentID(), project.Bills.tree.selected.getNextSiblingID()));
  676. var selected = controller.tree.selected;
  677. if (selected && selected.sourceType === project.Bills.getSourceType()) {
  678. selected.source.upLevel();
  679. controller.upLevel();
  680. }
  681. });
  682. $('#downLevel').click(function () {
  683. var selected = controller.tree.selected;
  684. if (selected && selected.sourceType === project.Bills.getSourceType()) {
  685. selected.source.upLevel();
  686. controller.downLevel();
  687. }
  688. });
  689. $('#upMove').click(function () {
  690. var selected = controller.tree.selected;
  691. if (selected) {
  692. if (selected.sourceType === project.Bills.getSourceType()) {
  693. selected.source.upLevel();
  694. controller.upMove();
  695. } else if (selected.sourceType === project.Rations.getSourceType()) {
  696. // to Do
  697. controller.upMove();
  698. }
  699. }
  700. });
  701. $('#downMove').click(function () {
  702. var selected = controller.tree.selected;
  703. if (selected) {
  704. if (selected.sourceType === project.Bills.getSourceType()) {
  705. selected.source.downLevel();
  706. controller.downMove();
  707. } else if (selected.sourceType === project.Rations.getSourceType()) {
  708. // to Do
  709. controller.downMove();
  710. }
  711. }
  712. });
  713. });
  714. </script>
  715. </html>