workHourManagement.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634
  1. <style>
  2. .bigBoxBg{
  3. background-color: rgb(249,249,249);
  4. padding: 8px 0
  5. }
  6. .leftBox{
  7. border: 1px rgb(234,234,234) solid;
  8. background-color: white;
  9. padding: 11px;
  10. margin-top: 7px;
  11. height: 565px;
  12. }
  13. .leftBox i{
  14. font-size: 14px;
  15. color: rgb(121,163,196)
  16. }
  17. .leftBox .list{
  18. height: 30px;
  19. line-height: 30px;
  20. padding: 0 4px
  21. }
  22. .leftBox .listCliI{
  23. color:rgb(0,83,149)
  24. }
  25. .leftBox .listCli{
  26. background-color: rgb(230,238,244);
  27. }
  28. .leftBox .list span{
  29. font-size: 14px;
  30. display: inline-block;
  31. margin-left: 4px
  32. }
  33. .rightBox{
  34. border: 1px rgb(234,234,234) solid;
  35. background-color: white;
  36. padding: 11px;
  37. margin-top: 7px;
  38. /* height: 565px; */
  39. }
  40. .btn_box{
  41. margin-top: 8px;
  42. width: 100%;
  43. display: flex;
  44. justify-content:center
  45. }
  46. .btnAdd{
  47. width: 60px!important;
  48. height: 34px!important;
  49. background-color: rgb(0,83,149)!important;
  50. border:1px rgb(0,83,149) solid;
  51. color: white;
  52. font-size: 14px;
  53. margin-top: 8px
  54. }
  55. .btnReturn{
  56. width: 100px!important;
  57. height: 34px!important;
  58. background-color: white!important;
  59. border:1px #666666 solid;
  60. color: #666666;
  61. font-size: 14px;
  62. margin-top: 8px;
  63. margin-left: 8px
  64. }
  65. .emergencyIptSize{
  66. width: 100%;
  67. margin-top: 8px
  68. }
  69. .guanbiIco{
  70. display: inline-block;
  71. color: #999999;
  72. margin-top: 10px;
  73. margin-left: 9px;
  74. font-size: 16px!important;
  75. cursor: pointer;
  76. }
  77. .contentName{
  78. text-align: center
  79. }
  80. .fonsize{
  81. font-size: 14px
  82. }
  83. /* 故障现象开始 */
  84. /* 公共css,需要复用 */
  85. .iconfont {
  86. font-size: 14px;
  87. }
  88. .nav-pills>li>a {
  89. border-radius: 0px;
  90. }
  91. .nav-pills>li.active>a,
  92. .nav-pills>li.active>a:hover,
  93. .nav-pills>li.active>a:focus {
  94. background-color: #006bbf;
  95. color: white !important;
  96. }
  97. .panel-tabs,
  98. .tabbable {
  99. /* padding: 14px; */
  100. background-color: white;
  101. }
  102. .tab-content>.tab-pane,
  103. .pill-content>.pill-pane {
  104. padding: 14px;
  105. border-bottom: 1px solid #eeeeee;
  106. border-left: 1px solid #eeeeee;
  107. border-right: 1px solid #eeeeee;
  108. border-radius: 0px 0px 8px 8px;
  109. }
  110. .nav-tabs>li.active a,
  111. .nav-tabs>li.active a:hover,
  112. .nav-tabs>li.active a:focus {
  113. background-color: #006bc0;
  114. color: white;
  115. }
  116. .nav-tabs {
  117. border-top: 1px solid #eeeeee;
  118. border-bottom: 1px solid #eeeeee;
  119. border-left: 1px solid #eeeeee;
  120. border-right: 1px solid #eeeeee;
  121. border-radius: 8px 8px 0 0;
  122. height: 47px;
  123. }
  124. .nav-tabs>li {
  125. border-right: 1px solid #eeeeee;
  126. }
  127. .nav-tabs>li:last-child {
  128. border-right: none;
  129. }
  130. /* 独立css */
  131. .mainDiv {
  132. /* background: red; */
  133. /* padding: 14px; */
  134. /* height: 50px; */
  135. overflow: hidden;
  136. /* zoom: 1; */
  137. }
  138. .mainDivLeft {
  139. border-radius: 8px;
  140. border: 1px solid #eeeeee;
  141. width: 288px;
  142. float: left;
  143. }
  144. .mainDivRight {
  145. margin-left: 302px;
  146. border-radius: 8px;
  147. border: 1px solid #eeeeee;
  148. }
  149. .mainDiv-head {
  150. height: 47px;
  151. line-height: 47px;
  152. background: #f5f5f5;
  153. font-size: 16px;
  154. color: #606367;
  155. border-radius: 8px 8px 0 0;
  156. padding-left: 10px;
  157. padding-right: 4px;
  158. }
  159. .mainDivLeft-span {
  160. border: 1px solid;
  161. /* padding: 15px 0px 15px 0px; */
  162. padding-left: 15px;
  163. padding-right: 15px;
  164. padding-top: 4px;
  165. padding-bottom: 4px;
  166. height: 28px;
  167. line-height: 28px;
  168. border-radius: 4px;
  169. margin-right: 10px;
  170. font-size: 14px;
  171. }
  172. .mainDiv-head-right {
  173. display: inline-block;
  174. float: right;
  175. }
  176. .edit-left {
  177. display: inline-block;
  178. /* float: left; */
  179. margin-left: 10px;
  180. }
  181. .span-1 {
  182. border-color: #006bc0;
  183. color: #006bc0;
  184. }
  185. .span-2 {
  186. border: none;
  187. color: white;
  188. background-color: #006bc0;
  189. }
  190. .span-3 {
  191. border: none;
  192. color: white;
  193. background-color: #fc4c58;
  194. }
  195. .mainDiv-body {
  196. border-radius: 8px;
  197. border: 1px solid #eeeeee;
  198. margin: 14px;
  199. padding-top: 14px;
  200. padding-bottom: 140px;
  201. /* height: 402px; */
  202. overflow: auto;
  203. }
  204. .mainDiv-body-1 {
  205. height: 50px;
  206. line-height: 50px;
  207. font-size: 16px;
  208. color: #606367;
  209. padding: 0px 14px;
  210. border-bottom: 1px solid #eeeeee;
  211. }
  212. .mainDiv-body-2 {
  213. height: 70px;
  214. line-height: 70px;
  215. font-size: 14px;
  216. color: #606367;
  217. padding: 0px 30px;
  218. border-bottom: 1px solid #eeeeee;
  219. }
  220. .mainDiv-body-2:last-child {
  221. border-bottom: none;
  222. }
  223. .fixHeight {
  224. /* height: 450px; */
  225. overflow: auto;
  226. }
  227. .mainDiv-body-3 {
  228. height: 50px;
  229. line-height: 50px;
  230. font-size: 14px;
  231. color: #606367;
  232. padding: 0px 30px;
  233. border-bottom: 1px solid #eeeeee;
  234. }
  235. .mainDiv-body-3:last-child {
  236. border-bottom: none;
  237. }
  238. .btn{
  239. margin-left: 5px
  240. }
  241. .mainDiv-body-img {
  242. height: 90px;
  243. border-radius: 4px;
  244. margin: 14px;
  245. margin-bottom: 0px;
  246. overflow: hidden;
  247. }
  248. .mainDiv-body-noList {
  249. height: 110px;
  250. margin: 50px 0;
  251. text-align: center;
  252. }
  253. .form-control {
  254. display: inline-block;
  255. }
  256. .mainDivLeft-span-1 {
  257. border: 1px solid;
  258. padding-left: 15px;
  259. padding-right: 15px;
  260. /* padding-top: 4px; */
  261. /* padding-bottom: 4px; */
  262. height: 28px;
  263. line-height: 28px;
  264. border-radius: 4px;
  265. margin-right: 10px;
  266. font-size: 14px;
  267. display: inline-block;
  268. }
  269. .mainDivLeft-span-2 {
  270. border: 1px solid;
  271. padding-left: 15px;
  272. padding-right: 15px;
  273. /* padding-top: 4px; */
  274. /* padding-bottom: 4px; */
  275. height: 28px;
  276. line-height: 28px;
  277. border-radius: 4px;
  278. margin-right: 10px;
  279. font-size: 14px;
  280. display: inline-block;
  281. }
  282. .mainDivLeft-span-edit-1 {
  283. border: 1px solid;
  284. padding-left: 8px;
  285. padding-right: 8px;
  286. /* padding-top: 4px; */
  287. /* padding-bottom: 4px; */
  288. height: 22px;
  289. line-height: 22px;
  290. border-radius: 2px;
  291. margin-right: 10px;
  292. font-size: 12px;
  293. display: inline-block;
  294. }
  295. .mainDivLeft-span-edit-2 {
  296. border: 1px solid;
  297. padding-left: 8px;
  298. padding-right: 8px;
  299. /* padding-top: 4px; */
  300. /* padding-bottom: 4px; */
  301. height: 22px;
  302. line-height: 22px;
  303. border-radius: 2px;
  304. margin-right: 10px;
  305. font-size: 12px;
  306. display: inline-block;
  307. }
  308. /* tab内容css */
  309. .tab-mainDiv {
  310. border: 1px solid #eeeeee;
  311. border-radius: 8px;
  312. /* min-height: 360px; */
  313. }
  314. .tab-mainDiv-head {
  315. text-align: center;
  316. border-bottom: 1px solid #eeeeee;
  317. height: 34px;
  318. line-height: 34px;
  319. font-size: 14px;
  320. color: #93989e;
  321. }
  322. .tab-mainDiv-body {
  323. padding: 14px;
  324. min-height: 280px;
  325. max-height: 320px;
  326. overflow: auto;
  327. /* padding-top: 14px; */
  328. /* padding-bottom: 14px; */
  329. }
  330. .tab-mainDiv-body-lineDiv-50 {
  331. /* display: inline-block; */
  332. font-size: 14px;
  333. color: #93989e;
  334. margin-right: 14px;
  335. width: 47%;
  336. padding-left: 14px;
  337. }
  338. .tab-mainDiv-body-lineDiv-100 {
  339. /* display: inline-block; */
  340. font-size: 14px;
  341. color: #93989e;
  342. margin-right: 14px;
  343. width: 96%;
  344. padding-left: 14px;
  345. }
  346. .tab-mainDiv-body-lable {
  347. padding-bottom: 10px;
  348. /* width: 370px; */
  349. }
  350. .tab-mainDiv-body-content {
  351. padding-bottom: 10px;
  352. /* width: 370px; */
  353. }
  354. .tab-mainDiv-body-content>textarea {
  355. min-height: 68px;
  356. width: 100%;
  357. }
  358. .tab-mainDiv-foot {
  359. /* margin: 14px auto; */
  360. border-top: 1px solid #eeeeee;
  361. text-align: center;
  362. padding: 7px;
  363. }
  364. .tab-mainDiv-body-button-1 {
  365. display: inline-block;
  366. width: 80px;
  367. height: 34px;
  368. line-height: 34px;
  369. font-size: 14px;
  370. color: white;
  371. text-align: center;
  372. background-color: #006bc0;
  373. border-radius: 4px;
  374. margin-right: 14px;
  375. }
  376. .tab-mainDiv-body-button-2 {
  377. display: inline-block;
  378. width: 80px;
  379. height: 34px;
  380. line-height: 34px;
  381. font-size: 14px;
  382. color: #93989e;
  383. text-align: center;
  384. background-color: #f5f5f5;
  385. border-radius: 4px;
  386. box-sizing: border-box;
  387. border: 1px solid #eeeeee;
  388. }
  389. .abn-tree {}
  390. .tree-control .tree-view {
  391. width: inherit;
  392. z-index: 9999;
  393. }
  394. .userGroupType label:nth-child(2){
  395. margin-left: 26px;
  396. margin-bottom: 20px;
  397. }
  398. .userGroupType label input{
  399. margin-right: 5px;
  400. }
  401. /* 故障现象结束 */
  402. </style>
  403. <section id="page-title">
  404. <div class="row">
  405. <div class="col-sm-8">
  406. <h1 class="mainTitle">工时管理
  407. <i tooltip='工时管理' tooltip-placement="right" class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"></i>
  408. </h1>
  409. </div>
  410. </div>
  411. </section>
  412. <div ng-controller="workHourManagement">
  413. <div class="col-xs-12 bigBoxBg">
  414. <div class="col-xs-12">
  415. <div class="fonsize">工时管理</div>
  416. <div class="rightBox">
  417. <!-- 工时管理开始 -->
  418. <div>
  419. <div class="mainDiv">
  420. <!-- 谁固定谁在前 -->
  421. <div class="mainDivLeft">
  422. <div class="mainDiv-head">
  423. <span>工时目录</span>
  424. <div class="mainDiv-head-right">
  425. <div class="btn btn_search" ng-click="addType(output)" ng-show="xinzeng">新增</div>
  426. <div class="btn btn_remove" ng-class="isMousedown?'btn_removeMousedown':''" ng-mousedown="changeRemoveClass()" ng-click="remove(output)" ng-show="shanchu">删除</div>
  427. </div>
  428. </div>
  429. <div class="mainDiv-body fixHeight">
  430. <div class="box-tree">
  431. <span ng-if="doing_async">...加载中...</span>
  432. <abn-tree tree-data="my_data" tree-control="my_tree" on-select="my_tree_handler(branch)" expand-level="2" icon-leaf="iconfont icon-fenlei" icon-expand="ti-plus" icon-collapse="ti-minus"></abn-tree>
  433. </div>
  434. </div>
  435. </div>
  436. <div class="mainDivRight" ng-if="changecate">
  437. <div class="mainDiv-head">
  438. <span>工时目录修改</span>
  439. </div>
  440. <div class="mainDiv-body">
  441. <div class="tab-mainDiv-body-lineDiv-50">
  442. <div class="tab-mainDiv-body-lable">
  443. <span class="red">*</span>工时名称:
  444. </div>
  445. <div class="tab-mainDiv-body-content" style="display:flex;">
  446. <input class="form-control" ng-model="subdata.workName" placeholder="工时名称..." style="flex:3;margin-right: 8px;" />
  447. <input class="form-control" ng-model="subdata.workUnit" placeholder="工时单位..." style="flex:1;margin-left: 8px;" />
  448. </div>
  449. </div>
  450. <div class="tab-mainDiv-body-lineDiv-50" ng-if="thisParent">
  451. <div class="tab-mainDiv-body-lable">
  452. 父类:
  453. </div>
  454. <div class="tab-mainDiv-body-content">
  455. <multi-select-tree ng-model="subdata.parent" data-input-model="tree_data" data-output-model="subdata.parent" theme="bootstrap" multi-select="false" data-default-label="{{thisParent.workName}}" data-callback="onFilterCallback(item)" data-select-only-leafs="false" data-trans-label="label"
  456. data-switch-view="false"></multi-select-tree>
  457. </div>
  458. </div>
  459. <div class="tab-mainDiv-body-lineDiv-50">
  460. <div class="tab-mainDiv-body-lable">
  461. <span class="red">*</span>工价:
  462. </div>
  463. <div class="tab-mainDiv-body-content">
  464. <input class="form-control" ng-model="subdata.wage" ng-blur="changeNum(subdata.wage, 'wage')" placeholder="当前工时名称的价格,请输入数字..." />
  465. </div>
  466. </div>
  467. <div class="tab-mainDiv-body-lineDiv-50">
  468. <div class="tab-mainDiv-body-lable">
  469. <span class="red">*</span>消耗工时数量:
  470. </div>
  471. <div class="tab-mainDiv-body-content">
  472. <input class="form-control" ng-model="subdata.workHourNum" ng-blur="changeNum(subdata.workHourNum, 'workHourNum')" placeholder="小时为单位,请输入数字..." />
  473. </div>
  474. </div>
  475. <div class="tab-mainDiv-body-lineDiv-50">
  476. <div class="tab-mainDiv-body-lable"><span class="red">*</span>所属责任科室:</div>
  477. <ui-select class="tab-mainDiv-body-content" ng-model="subdata.duty"
  478. theme="bootstrap">
  479. <ui-select-match allow-clear placeholder="">
  480. {{$select.selected.dept}}
  481. </ui-select-match>
  482. <ui-select-choices repeat="item in dutyList" refresh="getDutyList($select.search)">
  483. <div ng-bind-html="item.dept | highlight: $select.search"></div>
  484. </ui-select-choices>
  485. </ui-select>
  486. </div>
  487. </div>
  488. <div class="tab-mainDiv-foot">
  489. <div class="btn btn_search" ng-click="submitchange(subdata)" ng-show="bianji">
  490. 确认
  491. </div>
  492. <!-- <div class="tab-mainDiv-body-button-2 pointfont" ng-click="cancel()">
  493. 取消
  494. </div> -->
  495. </div>
  496. </div>
  497. <div class="mainDivRight" ng-if="addcate">
  498. <div class="mainDiv-head">
  499. <span>工时目录新增</span>
  500. </div>
  501. <div class="mainDiv-body">
  502. <div class="tab-mainDiv-body-lineDiv-50">
  503. <div class="tab-mainDiv-body-lable">
  504. <span class="red">*</span>工时名称:
  505. </div>
  506. <div class="tab-mainDiv-body-content" style="display:flex;">
  507. <input class="form-control" ng-model="adddata.workName" placeholder="工时名称..." style="flex:3;margin-right: 8px;" />
  508. <input class="form-control" ng-model="adddata.workUnit" placeholder="工时单位..." style="flex:1;margin-left: 8px;" />
  509. </div>
  510. </div>
  511. <div class="tab-mainDiv-body-lineDiv-50">
  512. <div class="tab-mainDiv-body-lable">
  513. 是否有父类:
  514. </div>
  515. <div class="tab-mainDiv-body-content">
  516. <switch ng-model="addparent" class="green"></switch>
  517. </div>
  518. </div>
  519. <div class="tab-mainDiv-body-lineDiv-50" ng-if="addparent">
  520. <div class="tab-mainDiv-body-lable">
  521. 父类:
  522. </div>
  523. <div class="tab-mainDiv-body-content">
  524. <multi-select-tree ng-model="adddata.parent" data-input-model="tree_data" data-output-model="adddata.parent" theme="bootstrap" multi-select="false" data-default-label="工时目录" data-callback="onFilterCallback(item)" data-select-only-leafs="false" data-trans-label="label"
  525. data-switch-view="false"></multi-select-tree>
  526. </div>
  527. </div>
  528. <div class="tab-mainDiv-body-lineDiv-50">
  529. <div class="tab-mainDiv-body-lable">
  530. <span class="red">*</span>工价:
  531. </div>
  532. <div class="tab-mainDiv-body-content">
  533. <input class="form-control" ng-model="adddata.wage" ng-blur="changeNum(adddata.wage, 'wage')" placeholder="当前工时名称的价格,请输入数字..." />
  534. </div>
  535. </div>
  536. <div class="tab-mainDiv-body-lineDiv-50">
  537. <div class="tab-mainDiv-body-lable">
  538. <span class="red">*</span>消耗工时数量:
  539. </div>
  540. <div class="tab-mainDiv-body-content">
  541. <input class="form-control" ng-model="adddata.workHourNum" ng-blur="changeNum(adddata.workHourNum, 'workHourNum')" placeholder="小时为单位,请输入数字..." />
  542. </div>
  543. </div>
  544. <div class="tab-mainDiv-body-lineDiv-50">
  545. <div class="tab-mainDiv-body-lable"><span class="red">*</span>所属责任科室:</div>
  546. <ui-select class="tab-mainDiv-body-content" ng-model="adddata.duty"
  547. theme="bootstrap">
  548. <ui-select-match allow-clear placeholder="">
  549. {{$select.selected.dept}}
  550. </ui-select-match>
  551. <ui-select-choices repeat="item in dutyList" refresh="getDutyList($select.search)">
  552. <div ng-bind-html="item.dept | highlight: $select.search"></div>
  553. </ui-select-choices>
  554. </ui-select>
  555. </div>
  556. </div>
  557. <div class="tab-mainDiv-foot">
  558. <div class="btn btn_search" ng-click="submitadd(adddata)">
  559. 确认
  560. </div>
  561. <div class="btn btn_clean" ng-click="closethis(addcategory)">
  562. 取消
  563. </div>
  564. </div>
  565. </div>
  566. <div class="mainDivRight" ng-if="!addcate&&!changecate">
  567. <div class="mainDiv-head">
  568. <span>操作提示</span>
  569. </div>
  570. <div class="mainDiv-body">
  571. <div class="mainDiv-body-noList">
  572. <img src="./assets/images/place/icon_quesheng.png" alt="">
  573. <p class="handlefont">请选择工时目录</p>
  574. </div>
  575. </div>
  576. </div>
  577. </div>
  578. </div>
  579. <!-- 工时管理结束 -->
  580. </div>
  581. </div>
  582. </div>
  583. </div>