dinge.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  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>定额库编辑器</title>
  8. <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
  9. <!-- <link rel="stylesheet" href="/lib/css/bootstrap/themes.css">-->
  10. <link rel="stylesheet" href="/web/maintain/ration_repository/css/main.css">
  11. <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
  12. <link rel="stylesheet" href="/lib/jquery-contextmenu/jquery.contextMenu.css">
  13. <!--zTree-->
  14. <link rel="stylesheet" href="/lib/ztree/css/zTreeStyle.css" type="text/css">
  15. <link rel="stylesheet" href="/lib/spreadjs/sheets/css/gc.spread.sheets.excel2013lightGray.10.0.1.css" type="text/css">
  16. <style type="text/css">
  17. .ztree li span.button.add{margin-right:2px;background-position:-144px 0;vertical-align:top;*vertical-align:middle}
  18. </style>
  19. </head>
  20. <body>
  21. <div class="header">
  22. <nav class="navbar navbar-toggleable-lg navbar-light bg-faded p-0 ">
  23. <span class="header-logo px-2">Smartcost</span>
  24. <div id="rationname" class="navbar-text"><a href="main">定额库</a><i class="fa fa-angle-right fa-fw"></i>XXX定额库</div>
  25. </nav>
  26. <nav class="navbar navbar-toggleable-lg justify-content-between navbar-light p-0">
  27. <ul class="nav nav-tabs" role="tablist">
  28. <li class="nav-item">
  29. <a class="nav-link active px-3" id ="dinge" >定额</a>
  30. </li>
  31. <li class="nav-item">
  32. <a class="nav-link px-3" id="gongliao" href="#">工料机</a>
  33. </li>
  34. <li class="nav-item">
  35. <a class="nav-link px-3" id="fuzhu" href="#">附注条件</a>
  36. </li>
  37. <li class="nav-item">
  38. <a class="nav-link px-3" href="#">安装增加费</a>
  39. </li>
  40. </ul>
  41. </nav>
  42. </div>
  43. <div class="main" style="overflow: hidden">
  44. <div class="content">
  45. <div class="container-fluid">
  46. <div class="row">
  47. <div class="main-side col-lg-3 p-0" style="width: 100%; height: 100%; overflow: auto">
  48. <div class="tab-bar">
  49. <a id="addRootA" onclick="zTreeOprObj.addRootNode()" class="btn btn-secondary btn-sm">增加根节点</a>
  50. </div>
  51. <div class="tab-content">
  52. <ul id="rationChapterTree" class="ztree"></ul>
  53. </div>
  54. </div>
  55. <div class="main-content col-lg-9 p-0">
  56. <!-- 右标签 -->
  57. <ul class="nav nav-tabs tools-bar" role="tablist">
  58. <li class="nav-item">
  59. <a class="nav-link active" data-toggle="tab" href="#tde" role="tab">定额</a>
  60. </li>
  61. <li class="nav-item">
  62. <a class="nav-link" data-toggle="tab" href="#tsm" role="tab" id="explanationLink">说明</a>
  63. </li>
  64. <li class="nav-item">
  65. <a class="nav-link" data-toggle="tab" href="#tjs" role="tab">计算规则</a>
  66. </li>
  67. <li class="nav-item">
  68. <a class="nav-link" data-toggle="tab" href="#tgz" role="tab">工作内容</a>
  69. </li>
  70. <!-- <li class="nav-item">
  71. <a class="nav-link" data-toggle="tab" href="#tfz" role="tab">附注</a>
  72. </li>-->
  73. </ul>
  74. <div class="tab-content">
  75. <!--定额-->
  76. <div class="tab-pane active" id="tde" role="tabpanel">
  77. <!--定额top-->
  78. <div id="rationItemsSheet" class="main-data-top"></div>
  79. <!--定额bottom-->
  80. <div class="bottom-content">
  81. <!-- 标签 -->
  82. <ul class="nav nav-tabs" role="tablist">
  83. <li class="nav-item">
  84. <a class="nav-link active" id="linkGLJ" data-toggle="tab" href="#rDetail" role="tab">工料机</a>
  85. </li>
  86. <li class="nav-item">
  87. <a class="nav-link" id="linkFZDE" data-toggle="tab" href="#rDetail" role="tab">辅助定额调整</a>
  88. </li>
  89. <li class="nav-item">
  90. <a class="nav-link" id="linkFZTJ" data-toggle="tab" href="#rDetail" role="tab">附注条件调整</a>
  91. </li>
  92. <li class="nav-item">
  93. <!--<a class="nav-link" id="linkAZZJ" data-toggle="tab" href="#" role="tab">安装增加费</a>-->
  94. <a class="nav-link" href="#">安装增加费</a>
  95. </li>
  96. </ul>
  97. <!-- 内容 -->
  98. <div class="tab-content">
  99. <div class="tab-pane active" id="rDetail" role="tabpanel">
  100. <div id="rdSpread" class="main-data-bottom" style="overflow: hidden"></div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <!--说明-->
  106. <div class="tab-pane" id="tsm" role="tabpanel">
  107. <div class="main-data">
  108. <!-- <div class="m-2"><a href="javacript:void(0);" data-toggle="modal" data-target="#editTsm" title="编辑">编辑说明</a></div>-->
  109. <div class="main-content m-2">
  110. <h5>说明</h5>
  111. <textarea id="explanationShow" class="form-control" rows="35" style="background: white;"></textarea>
  112. </div>
  113. </div>
  114. </div>
  115. <!--计算规则-->
  116. <div class="tab-pane" id="tjs" role="tabpanel">
  117. <div class="main-data">
  118. <!-- <div class="m-2"><a href="javacript:void(0);" data-toggle="modal" data-target="#editTjs" title="编辑">编辑计算规则</a></div>-->
  119. <div class="main-content m-2">
  120. <h5>计算规则</h5>
  121. <textarea id="ruleTextShow" class="form-control" rows="35" style="background: white;"></textarea>
  122. </div>
  123. </div>
  124. </div>
  125. <!--工作内容-->
  126. <div class="tab-pane" id="tgz" role="tabpanel">
  127. <div class="main-data">
  128. <div class="form-check m-2"><label class="form-check-label"><input type="radio" class="form-check-input" name="optionsRadios" value="ALL" disabled=""> 适合本项所有定额</label>&nbsp;&nbsp;<label class="form-check-label"><input type="radio" class="form-check-input" name="optionsRadios" value="PARTIAL" disabled> 适合本项部分定额</label></div>
  129. <!-- <p class="m-2">适合本项所有定额</p> -->
  130. <table class="table table-sm table-bordered m-0" id="tableAll">
  131. <tr>
  132. <td><textarea class="form-control" rows="30" id="txtareaAll"></textarea></td>
  133. </tr>
  134. </table>
  135. <table class="table table-sm table-bordered m-0" id="tablePartial">
  136. </table>
  137. </div>
  138. </div>
  139. <!--附注-->
  140. <div class="tab-pane" id="tfz" role="tabpanel">
  141. <div class="main-data">
  142. <div class="form-check m-2"><label class="form-check-label"><input type="radio" class="form-check-input" name="fzRadios" value="ALL" disabled=""> 适合本项所有定额</label>&nbsp;&nbsp;<label class="form-check-label"><input type="radio" class="form-check-input" name="fzRadios" value="PARTIAL" disabled> 适合本项部分定额</label></div>
  143. <!-- <p class="m-2">适合本项所有定额</p> -->
  144. <table class="table table-sm table-bordered m-0" id="fzTableAll">
  145. <tr>
  146. <td><textarea class="form-control" rows="30" id="fzTxtareaAll"></textarea></td>
  147. </tr>
  148. </table>
  149. <table class="table table-sm table-bordered m-0" id="fzTablePartial">
  150. </table>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. <!--弹出添加-->
  159. <button id="gznrBtn" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#addNewgznr" style="display: none"></button>
  160. <div class="modal fade" id="addNewgznr" data-backdrop="static" style="display: none;" aria-hidden="true">
  161. <div class="modal-dialog" role="document">
  162. <div class="modal-content">
  163. <div class="modal-header">
  164. <h5 class="modal-title">添加工作内容</h5>
  165. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  166. <span aria-hidden="true">×</span>
  167. </button>
  168. </div>
  169. <div class="modal-body">
  170. <form>
  171. <div class="form-group">
  172. <label>内容</label>
  173. <textarea class="form-control" rows="5"></textarea>
  174. </div>
  175. </form>
  176. <form>
  177. <div class="form-group">
  178. <label>编码</label>
  179. <div class="form-control">
  180. <div class="row code">
  181. <div class="col">
  182. <label class="form-check-label">
  183. <input class="form-check-input" type="checkbox" value="option1" checked> AA0017
  184. </label>
  185. </div>
  186. <div class="col">
  187. <label class="form-check-label">
  188. <input class="form-check-input" type="checkbox" value="option1" checked> AA0018
  189. </label>
  190. </div>
  191. <div class="col">
  192. <label class="form-check-label">
  193. <input class="form-check-input" type="checkbox" value="option1" checked> AA0019
  194. </label>
  195. </div>
  196. <div class="w-100"></div>
  197. <div class="col">
  198. <label class="form-check-label">
  199. <input class="form-check-input" type="checkbox" value="option1"> AA0020
  200. </label>
  201. </div>
  202. <div class="col">
  203. <label class="form-check-label">
  204. <input class="form-check-input" type="checkbox" value="option1"> AA0021
  205. </label>
  206. </div>
  207. <div class="col">
  208. <label class="form-check-label">
  209. <input class="form-check-input" type="checkbox" value="option1"> AA0022
  210. </label>
  211. </div>
  212. </div>
  213. </div>
  214. </div>
  215. <div class="form-group">
  216. <label>内容</label>
  217. <textarea class="form-control" rows="5"></textarea>
  218. </div>
  219. </form>
  220. </div>
  221. <div class="modal-footer">
  222. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  223. <a href="" class="btn btn-primary">确定</a>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. <!--弹出编辑-->
  229. <div class="modal fade" id="editTsm" data-backdrop="static" style="display: none;" aria-hidden="true">
  230. <div class="modal-dialog" role="document">
  231. <div class="modal-content">
  232. <div class="modal-header">
  233. <h5 class="modal-title">编辑说明</h5>
  234. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  235. <span aria-hidden="true">×</span>
  236. </button>
  237. </div>
  238. <div class="modal-body">
  239. <form>
  240. <div class="form-group">
  241. <label>内容</label>
  242. <textarea class="form-control" rows="5" id="explanationAdd"></textarea>
  243. </div>
  244. </form>
  245. </div>
  246. <div class="modal-footer">
  247. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  248. <a href="javascript:void(0);" class="btn btn-primary" id="explanationBtn" data-dismiss="modal">确定</a>
  249. </div>
  250. </div>
  251. </div>
  252. </div>
  253. <div class="modal fade" id="editTjs" data-backdrop="static" style="display: none;" aria-hidden="true">
  254. <div class="modal-dialog" role="document">
  255. <div class="modal-content">
  256. <div class="modal-header">
  257. <h5 class="modal-title">编辑计算规则</h5>
  258. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  259. <span aria-hidden="true">×</span>
  260. </button>
  261. </div>
  262. <div class="modal-body">
  263. <form>
  264. <div class="form-group">
  265. <label>内容</label>
  266. <textarea class="form-control" rows="5"></textarea>
  267. </div>
  268. </form>
  269. </div>
  270. <div class="modal-footer">
  271. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  272. <a href="javascript:void(0);" class="btn btn-primary" data-dismiss="modal" id="ruleTextAdd">确定</a>
  273. </div>
  274. </div>
  275. </div>
  276. </div>
  277. <div class="modal fade" id="editBianmaQ" data-backdrop="static" style="display: none;" aria-hidden="true">
  278. <div class="modal-dialog" role="document">
  279. <div class="modal-content">
  280. <div class="modal-header">
  281. <h5 class="modal-title">修改编码</h5>
  282. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  283. <span aria-hidden="true">×</span>
  284. </button>
  285. </div>
  286. <div class="modal-body">
  287. <form>
  288. <div class="form-group">
  289. <label>编码</label>
  290. <div class="form-control">
  291. <div class="row code" id="updateCon">
  292. </div>
  293. </div>
  294. </div>
  295. </form>
  296. </div>
  297. <div class="modal-footer">
  298. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  299. <a href="javascript: void(0);" class="btn btn-primary" data-dismiss="modal" id="updateConBtn">确定</a>
  300. </div>
  301. </div>
  302. </div>
  303. </div>
  304. <div class="modal fade" id="editBianma" data-backdrop="static" style="display: none;" aria-hidden="true">
  305. <div class="modal-dialog" role="document">
  306. <div class="modal-content">
  307. <div class="modal-header">
  308. <h5 class="modal-title">勾选编码</h5>
  309. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  310. <span aria-hidden="true">×</span>
  311. </button>
  312. </div>
  313. <div class="modal-body">
  314. <form>
  315. <div class="form-group">
  316. <label>编码</label>
  317. <div class="form-control">
  318. <div class="row code" id="addCon">
  319. </div>
  320. </div>
  321. </div>
  322. </form>
  323. </div>
  324. <div class="modal-footer">
  325. <button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
  326. <a href="javascript: void(0);" class="btn btn-primary" data-dismiss="modal" id="addConBtn">确定</a>
  327. </div>
  328. </div>
  329. </div>
  330. </div>
  331. <!--弹出警告窗-->
  332. <button id="rationAlertBtn" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#rationAlert" style="display: none"></button>
  333. <div class="modal fade" id="rationAlert" data-backdrop="static" style="display: none;" aria-hidden="true">
  334. <input type="hidden" id="gdid" value="123">
  335. <div class="modal-dialog" role="document">
  336. <div class="modal-content">
  337. <div class="modal-header">
  338. <h5 class="modal-title">取消确认</h5>
  339. <button type="button" id="rationAlertCls" class="close" data-dismiss="modal" aria-label="Close">
  340. <span aria-hidden="true">×</span>
  341. </button>
  342. </div>
  343. <div class="modal-body">
  344. <h5 class="text-danger" id="alertRationTxt">编号不可为空!是否取消操作?</h5>
  345. </div>
  346. <div class="modal-footer">
  347. <button type="button" class="btn btn-secondary" id="rationAlertCac" data-dismiss="modal">取消</button>
  348. <a href="javascript: void(0);" id="rationAlertCof" class="btn btn-danger" data-dismiss="modal">确认</a>
  349. </div>
  350. </div>
  351. </div>
  352. </div>
  353. <button id="alertModalBtn" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#alertModal" style="display: none"></button>
  354. <div class="modal fade" id="alertModal" data-backdrop="static" style="display: none;" aria-hidden="true">
  355. <input type="hidden" id="codedid" value="123">
  356. <div class="modal-dialog" role="document">
  357. <div class="modal-content">
  358. <div class="modal-header">
  359. <h5 class="modal-title">警告</h5>
  360. <button type="button" id="alertModalCls" class="close" data-dismiss="modal" aria-label="Close">
  361. <span aria-hidden="true">×</span>
  362. </button>
  363. </div>
  364. <div class="modal-body">
  365. <h5 class="text-danger" id="alertText">输入的编号已存在,请重新输入!</h5>
  366. </div>
  367. <div class="modal-footer">
  368. <button type="button" class="btn btn-danger" id="alertModalCof" data-dismiss="modal">确认</button>
  369. </div>
  370. </div>
  371. </div>
  372. </div>
  373. <!-- JS. -->
  374. <script src = "/lib/spreadjs/sheets/gc.spread.sheets.all.10.0.1.min.js"></script>
  375. <script>GC.Spread.Sheets.LicenseKey = "559432293813965#A0y3iTOzEDOzkjMyMDN9UTNiojIklkI1pjIEJCLi4TPB9mM5AFNTd4cvZ7SaJUVy3CWKtWYXx4VVhjMpp7dYNGdx2ia9sEVlZGOTh7NRlTUwkWR9wEV4gmbjBDZ4ElR8N7cGdHVvEWVBtCOwIGW0ZmeYVWVr3mI0IyUiwCMzETN8kzNzYTM0IicfJye&Qf35VfiEzRwEkI0IyQiwiIwEjL6ByUKBCZhVmcwNlI0IiTis7W0ICZyBlIsIyNyMzM5ADI5ADNwcTMwIjI0ICdyNkIsIibj9SbvNmL4N7bjRnch56ciojIz5GRiwiI8+Y9sWY9QmZ0Jyp96uL9v6L0wap9biY9qiq95q197Wr9g+89iojIh94Wiqi";</script>
  376. <script src="/lib/jquery/jquery.min.js"></script>
  377. <script src="/lib/jquery-contextmenu/jquery.contextMenu.min.js"></script>
  378. <script src="/lib/jquery-contextmenu/jquery.ui.position.js"></script>
  379. <script src="/lib/tether/tether.min.js"></script>
  380. <script src="/lib/bootstrap/bootstrap.min.js"></script>
  381. <script type="text/javascript" src="/web/maintain/ration_repository/js/global.js"></script>
  382. <!-- zTree -->
  383. <script type="text/javascript" src="/lib/ztree/jquery.ztree.core.js"></script>
  384. <script type="text/javascript" src="/lib/ztree/jquery.ztree.excheck.js"></script>
  385. <script type="text/javascript" src="/lib/ztree/jquery.ztree.exedit.js"></script>
  386. <script type="text/javascript" src="/web/maintain/ration_repository/js/section_tree.js"></script>
  387. <script type="text/javascript" src="/public/web/ztree_common.js"></script>
  388. <script type="text/javascript" src="/public/web/sheet/sheet_common.js"></script>
  389. <script type="text/javascript" src="/web/maintain/ration_repository/js/sheetsOpr.js"></script>
  390. <script type="text/javascript" src="/web/maintain/ration_repository/js/rationUnits.js"></script>
  391. <script type="text/javascript" src="/web/maintain/ration_repository/js/ration.js"></script>
  392. <script type="text/javascript" src="/web/maintain/ration_repository/js/ration_glj.js"></script>
  393. <script type="text/javascript" src="/public/web/sheet/sheet_creater.js"></script>
  394. <script type="text/javascript" src="/web/maintain/ration_repository/js/ration_coe.js"></script>
  395. <script type="text/javascript" src="/web/maintain/ration_repository/js/ration_assist.js"></script>
  396. <script type="text/javascript" src="/public/web/treeDataHelper.js"></script>
  397. <script type="text/javascript" src="/public/web/QueryParam.js"></script>
  398. <script type="text/javascript" src="/public/web/storageUtil.js"></script>
  399. <script type="text/javascript">
  400. let userAccount = '<%=userAccount %>';
  401. var setting = {
  402. view: {
  403. addHoverDom: zTreeOprObj.addHoverDom,
  404. removeHoverDom: zTreeOprObj.removeHoverDom,
  405. expandSpeed: "",
  406. selectedMulti: false
  407. },
  408. edit: {
  409. enable: true,
  410. drag: {
  411. isCopy: false,
  412. isMove: true,
  413. inner: true,
  414. prev: true,
  415. next: true
  416. },
  417. editNameSelectAll: true,
  418. showRemoveBtn: true,
  419. showRenameBtn: true,
  420. removeTitle: "删除节点",
  421. renameTitle: "更改名称"
  422. },
  423. data: {
  424. keep: {
  425. parent:true,
  426. leaf:false
  427. },
  428. key: {
  429. children: "items"
  430. },
  431. simpleData: {
  432. enable: true,
  433. idKey: "ID",
  434. pIdKey: "ParentID",
  435. rootPId: -1
  436. }
  437. },
  438. callback:{
  439. onClick: zTreeOprObj.onClick,
  440. beforeRename: zTreeOprObj.beforeRename,
  441. beforeRemove: zTreeOprObj.onBeforeRemove,
  442. onRemove: zTreeOprObj.onRemove,
  443. onRename: zTreeOprObj.onRename,
  444. beforeDrop: zTreeOprObj.beforeDrop,
  445. onDrop: zTreeOprObj.onDrop,
  446. }
  447. };
  448. $(document).ready(function(){
  449. pageOprObj.initPage();
  450. rationOprObj.buildSheet($("#rationItemsSheet")[0]);
  451. sheetCommonObj.shieldAllCells(rationOprObj.workBook.getSheet(0), rationOprObj.setting);
  452. // tabPanel 下有多个Spread时,相互之间不能正确显示。改成一个Spread下多个Sheet。
  453. var rdSpread = sheetCommonObj.createSpread($("#rdSpread")[0], 3);
  454. rationGLJOprObj.buildSheet(rdSpread.getSheet(0));
  455. sheetCommonObj.shieldAllCells(rdSpread.getSheet(0), rationGLJOprObj.setting);
  456. rationAssistOprObj.buildSheet(rdSpread.getSheet(1));
  457. sheetCommonObj.shieldAllCells(rdSpread.getSheet(1), rationAssistOprObj.setting);
  458. rationCoeOprObj.buildSheet(rdSpread.getSheet(2));
  459. sheetCommonObj.shieldAllCells(rdSpread.getSheet(2), rationCoeOprObj.setting);
  460. $("#linkGLJ").click(function(){
  461. rationGLJOprObj.bindRationGljDelOpr();
  462. rdSpread.setActiveSheetIndex(0);
  463. });
  464. $("#linkFZDE").click(function(){
  465. rationGLJOprObj.unBindDel();
  466. rdSpread.setActiveSheetIndex(1);
  467. });
  468. $("#linkFZTJ").click(function(){
  469. rationCoeOprObj.bindRationCoeDel();
  470. rdSpread.setActiveSheetIndex(2);
  471. });
  472. });
  473. </script>
  474. </div>
  475. </body>
  476. <script type="text/javascript">
  477. autoFlashHeight();
  478. </script>
  479. </html>