inspectionScope.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667
  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. min-height: 565px;
  12. /* height: 565px; */
  13. }
  14. .leftBox.minHeight264{
  15. min-height: 264px!important;
  16. }
  17. .leftBox i{
  18. font-size: 14px;
  19. color: #007AFF;
  20. }
  21. .leftBox .list{
  22. height: 30px;
  23. line-height: 30px;
  24. padding: 0 4px;
  25. cursor: pointer;
  26. }
  27. .leftBox .listCliI{
  28. color:rgb(0,83,149)
  29. }
  30. .leftBox .listCli{
  31. background-color: rgb(230,238,244);
  32. }
  33. .leftBox .list span{
  34. font-size: 14px;
  35. display: inline-block;
  36. margin-left: 4px
  37. }
  38. .rightBox{
  39. border: 1px rgb(234,234,234) solid;
  40. background-color: white;
  41. padding: 11px;
  42. margin-top: 7px;
  43. min-height: 565px;
  44. /* height: 565px; */
  45. }
  46. .btn_box{
  47. margin-top: 8px;
  48. width: 100%;
  49. display: flex;
  50. justify-content:center
  51. }
  52. .btnAdd{
  53. width: 60px!important;
  54. height: 34px!important;
  55. background-color: rgb(0,83,149)!important;
  56. border:1px rgb(0,83,149) solid;
  57. color: white;
  58. font-size: 14px;
  59. margin-top: 8px
  60. }
  61. .btnReturn{
  62. width: 100px!important;
  63. height: 34px!important;
  64. background-color: white!important;
  65. border:1px #666666 solid;
  66. color: #666666;
  67. font-size: 14px;
  68. margin-top: 8px;
  69. margin-left: 8px
  70. }
  71. .emergencyIptSize{
  72. width: 100%;
  73. margin-top: 8px
  74. }
  75. .guanbiIco{
  76. display: inline-block;
  77. color: #999999;
  78. margin-top: 10px;
  79. margin-left: 9px;
  80. font-size: 16px!important;
  81. cursor: pointer;
  82. }
  83. .contentName{
  84. text-align: center
  85. }
  86. .fonsize{
  87. display: flex;
  88. justify-content: space-between;
  89. align-items: center;
  90. font-size: 14px;
  91. margin-top: 8px;
  92. }
  93. /* 事件分类开始 */
  94. /* 公共css,需要复用 */
  95. .iconfont {
  96. font-size: 14px;
  97. }
  98. .nav-pills>li>a {
  99. border-radius: 0px;
  100. color: #333;
  101. }
  102. .nav-pills>li.active>a,
  103. .nav-pills>li.active>a:hover,
  104. .nav-pills>li.active>a:focus {
  105. background-color: #006bbf;
  106. color: white !important;
  107. }
  108. .panel-tabs,
  109. .tabbable {
  110. /* padding: 14px; */
  111. background-color: white;
  112. }
  113. .tab-content>.tab-pane,
  114. .pill-content>.pill-pane {
  115. padding: 14px;
  116. border-bottom: 1px solid #eeeeee;
  117. border-left: 1px solid #eeeeee;
  118. border-right: 1px solid #eeeeee;
  119. border-radius: 0px 0px 8px 8px;
  120. }
  121. .nav-tabs>li.active a,
  122. .nav-tabs>li.active a:hover,
  123. .nav-tabs>li.active a:focus {
  124. background-color: #006bc0;
  125. color: white;
  126. }
  127. .nav-tabs {
  128. border-top: 1px solid #eeeeee;
  129. border-bottom: 1px solid #eeeeee;
  130. border-left: 1px solid #eeeeee;
  131. border-right: 1px solid #eeeeee;
  132. border-radius: 8px 8px 0 0;
  133. height: 47px;
  134. }
  135. .nav-tabs>li {
  136. border-right: 1px solid #eeeeee;
  137. }
  138. .nav-tabs>li:last-child {
  139. border-right: none;
  140. }
  141. /* 独立css */
  142. .mainDiv {
  143. /* background: red; */
  144. /* padding: 14px; */
  145. /* height: 50px; */
  146. overflow: hidden;
  147. /* zoom: 1; */
  148. }
  149. .mainDivLeft {
  150. border-radius: 8px;
  151. border: 1px solid #eeeeee;
  152. width: 288px;
  153. float: left;
  154. min-height: 541px;
  155. }
  156. .mainDivRight {
  157. margin-left: 302px;
  158. border-radius: 8px;
  159. border: 1px solid #eeeeee;
  160. /* min-height: 541px; */
  161. }
  162. .mainDiv-head {
  163. height: 30px;
  164. line-height: 30px;
  165. background: #f5f5f5;
  166. font-size: 16px;
  167. color: #606367;
  168. border-radius: 8px 8px 0 0;
  169. padding-left: 10px;
  170. padding-right: 4px;
  171. }
  172. .mainDivLeft-span {
  173. border: 1px solid;
  174. /* padding: 15px 0px 15px 0px; */
  175. padding-left: 15px;
  176. padding-right: 15px;
  177. padding-top: 4px;
  178. padding-bottom: 4px;
  179. height: 28px;
  180. line-height: 28px;
  181. border-radius: 4px;
  182. margin-right: 10px;
  183. font-size: 14px;
  184. }
  185. .mainDiv-head-right {
  186. display: inline-block;
  187. float: right;
  188. }
  189. .edit-left {
  190. display: inline-block;
  191. /* float: left; */
  192. margin-left: 10px;
  193. }
  194. .span-1 {
  195. border-color: #006bc0;
  196. color: #006bc0;
  197. }
  198. .span-2 {
  199. border: none;
  200. color: white;
  201. background-color: #006bc0;
  202. }
  203. .span-3 {
  204. border: none;
  205. color: white;
  206. background-color: #fc4c58;
  207. }
  208. .mainDiv-body {
  209. border-radius: 8px;
  210. border: 1px solid #eeeeee;
  211. margin: 14px;
  212. /* padding-top: 14px; */
  213. /* height: 402px; */
  214. /* overflow: auto; */
  215. }
  216. .mainDiv-body-1 {
  217. height: 50px;
  218. line-height: 50px;
  219. font-size: 16px;
  220. color: #606367;
  221. padding: 0px 14px;
  222. border-bottom: 1px solid #eeeeee;
  223. }
  224. .mainDiv-body-2 {
  225. height: 70px;
  226. line-height: 70px;
  227. font-size: 14px;
  228. color: #606367;
  229. padding: 0px 30px;
  230. border-bottom: 1px solid #eeeeee;
  231. }
  232. .mainDiv-body-2:last-child {
  233. border-bottom: none;
  234. }
  235. /* .fixHeight {
  236. height: 450px;
  237. overflow: auto;
  238. } */
  239. .mainDiv-body-3 {
  240. height: 50px;
  241. line-height: 50px;
  242. font-size: 14px;
  243. color: #606367;
  244. padding: 0px 30px;
  245. border-bottom: 1px solid #eeeeee;
  246. }
  247. .mainDiv-body-3:last-child {
  248. border-bottom: none;
  249. }
  250. .btn{
  251. margin-left: 5px
  252. }
  253. .mainDiv-body-img {
  254. height: 90px;
  255. border-radius: 4px;
  256. margin: 14px;
  257. margin-bottom: 0px;
  258. overflow: hidden;
  259. }
  260. .mainDiv-body-noList {
  261. height: 180px;
  262. display: flex;
  263. flex-direction: column;
  264. justify-content: center;
  265. align-items: center;
  266. }
  267. .form-control {
  268. display: inline-block;
  269. }
  270. .mainDivLeft-span-1 {
  271. border: 1px solid;
  272. padding-left: 15px;
  273. padding-right: 15px;
  274. /* padding-top: 4px; */
  275. /* padding-bottom: 4px; */
  276. height: 28px;
  277. line-height: 28px;
  278. border-radius: 4px;
  279. margin-right: 10px;
  280. font-size: 14px;
  281. display: inline-block;
  282. }
  283. .mainDivLeft-span-2 {
  284. border: 1px solid;
  285. padding-left: 15px;
  286. padding-right: 15px;
  287. /* padding-top: 4px; */
  288. /* padding-bottom: 4px; */
  289. height: 28px;
  290. line-height: 28px;
  291. border-radius: 4px;
  292. margin-right: 10px;
  293. font-size: 14px;
  294. display: inline-block;
  295. }
  296. .mainDivLeft-span-edit-1 {
  297. border: 1px solid;
  298. padding-left: 8px;
  299. padding-right: 8px;
  300. /* padding-top: 4px; */
  301. /* padding-bottom: 4px; */
  302. height: 22px;
  303. line-height: 22px;
  304. border-radius: 2px;
  305. margin-right: 10px;
  306. font-size: 12px;
  307. display: inline-block;
  308. }
  309. .mainDivLeft-span-edit-2 {
  310. border: 1px solid;
  311. padding-left: 8px;
  312. padding-right: 8px;
  313. /* padding-top: 4px; */
  314. /* padding-bottom: 4px; */
  315. height: 22px;
  316. line-height: 22px;
  317. border-radius: 2px;
  318. margin-right: 10px;
  319. font-size: 12px;
  320. display: inline-block;
  321. }
  322. /* tab内容css */
  323. .tab-mainDiv {
  324. border: 1px solid #eeeeee;
  325. border-radius: 8px;
  326. /* min-height: 360px; */
  327. }
  328. .tab-mainDiv-head {
  329. text-align: center;
  330. border-bottom: 1px solid #eeeeee;
  331. height: 34px;
  332. line-height: 34px;
  333. font-size: 14px;
  334. color: #93989e;
  335. }
  336. .tab-mainDiv-body {
  337. padding: 14px;
  338. min-height: 280px;
  339. max-height: 320px;
  340. overflow: auto;
  341. /* padding-top: 14px; */
  342. /* padding-bottom: 14px; */
  343. }
  344. .tab-mainDiv-body-lineDiv-50 {
  345. /* display: inline-block; */
  346. font-size: 14px;
  347. color: #93989e;
  348. margin-right: 14px;
  349. width: 47%;
  350. padding-left: 14px;
  351. }
  352. .tab-mainDiv-body-lineDiv-100 {
  353. /* display: inline-block; */
  354. font-size: 14px;
  355. color: #93989e;
  356. margin-right: 14px;
  357. width: 96%;
  358. padding-left: 14px;
  359. }
  360. .tab-mainDiv-body-lable {
  361. padding-bottom: 10px;
  362. /* width: 370px; */
  363. }
  364. .tab-mainDiv-body-content {
  365. padding-bottom: 10px;
  366. /* width: 370px; */
  367. }
  368. .tab-mainDiv-body-content>textarea {
  369. min-height: 68px;
  370. width: 100%;
  371. }
  372. .tab-mainDiv-foot {
  373. /* margin: 14px auto; */
  374. border-top: 1px solid #eeeeee;
  375. text-align: center;
  376. padding: 7px;
  377. }
  378. .tab-mainDiv-body-button-1 {
  379. display: inline-block;
  380. width: 80px;
  381. height: 34px;
  382. line-height: 34px;
  383. font-size: 14px;
  384. color: white;
  385. text-align: center;
  386. background-color: #006bc0;
  387. border-radius: 4px;
  388. margin-right: 14px;
  389. }
  390. .tab-mainDiv-body-button-2 {
  391. display: inline-block;
  392. width: 80px;
  393. height: 34px;
  394. line-height: 34px;
  395. font-size: 14px;
  396. color: #93989e;
  397. text-align: center;
  398. background-color: #f5f5f5;
  399. border-radius: 4px;
  400. box-sizing: border-box;
  401. border: 1px solid #eeeeee;
  402. }
  403. .tree-control .tree-view {
  404. width: inherit;
  405. z-index: 9999;
  406. }
  407. .userGroupType label:nth-child(2){
  408. margin-left: 26px;
  409. margin-bottom: 20px;
  410. }
  411. .userGroupType label input{
  412. margin-right: 5px;
  413. }
  414. .group,.user{
  415. margin-bottom: 140px;
  416. }
  417. /* 事件分类结束 */
  418. .inspection_btns{
  419. height: 60px;
  420. display: flex;
  421. justify-content: center;
  422. align-items: center;
  423. }
  424. .inspection_name{
  425. display: flex;
  426. justify-content: space-between;
  427. align-items: center;
  428. }
  429. </style>
  430. <section id="page-title">
  431. <div class="row">
  432. <div class="col-sm-8">
  433. <h1 class="mainTitle">巡检范围设置
  434. <i tooltip='巡检范围设置' tooltip-placement="right" class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"></i>
  435. </h1>
  436. </div>
  437. </div>
  438. </section>
  439. <div ng-controller="inspectionScope">
  440. <div class="col-xs-12 bigBoxBg">
  441. <div class="col-xs-3">
  442. <!-- <div class="fonsize">
  443. <span>巡检范围设置</span>
  444. <div class="mainDiv-head-right">
  445. <div class="btn btn_search" ng-click="addType1(output)" ng-show="xinzeng">新增</div>
  446. <div class="btn btn_remove" ng-class="isMousedown?'btn_removeMousedown':''" ng-mousedown="changeRemoveClass()" ng-click="remove1(output)" ng-show="shanchu">删除</div>
  447. </div>
  448. </div> -->
  449. <div class="mainDiv-head">
  450. <!-- <span>巡检范围设置</span> -->
  451. <label style="font-size:14px;cursor: pointer;"><input id="c_all" type="checkbox" ng-click="selectAll()" style="margin-right: 2px;position: relative;top: 2px;">全选</label>
  452. <div class="mainDiv-head-right">
  453. <div class="btn btn_search" ng-click="addType1('add')" ng-show="xinzeng">新增</div>
  454. <div class="btn btn_search" ng-click="addType1('edit')" ng-show="xinzeng">修改</div>
  455. <div class="btn btn_remove" ng-class="isMousedown?'btn_removeMousedown':''" ng-click="remove1(output)" ng-show="shanchu">删除</div>
  456. </div>
  457. </div>
  458. <div class="leftBox">
  459. <!-- <span ng-if="!selectedInspection.isShowZtree">...加载中...</span> -->
  460. <z-tree set-fn="setDirectiveFn(params)" ng-if="selectedInspection.isShowZtree" id="z-tree" class="ztree" select-inspection-type="selectedInspection.tree" copy-inspection-type="copyInspection.tree" state-model="stateModel" changecate="changecateObj.changecate" cachehttp="cacheHttp.value"></z-tree>
  461. <!-- <abn-tree tree-data="my_1data" tree-control="my_tree" on-select="my_tree_1handler(branch)" expand-level="2" icon-leaf="iconfont icon-fenlei" icon-expand="ti-plus" icon-collapse="ti-minus"></abn-tree> -->
  462. </div>
  463. </div>
  464. <div class="col-xs-6">
  465. <div class="inspection_name">
  466. <div>策略名称<span class="red">*</span>:<input style="width: 220px;" ng-model="modelName" class="form-control" placeholder="策略名称..." /></div>
  467. <!-- <div class="btn btn_search" ng-click="addType1(output)" ng-show="xinzeng">设置所有范围</div> -->
  468. </div>
  469. <div class="rightBox">
  470. <!-- 巡检范围开始 -->
  471. <div ng-if="leftListName=='巡检范围'">
  472. <div class="mainDiv">
  473. <!-- 谁固定谁在前 -->
  474. <div class="mainDivLeft">
  475. <div class="mainDiv-head">
  476. <span>已选中的巡检范围</span>
  477. <div class="mainDiv-head-right">
  478. <!-- <div class="btn btn_search" ng-click="addType1(output)" ng-show="xinzeng">新增</div> -->
  479. <!-- <div class="btn btn_remove" ng-class="isMousedown?'btn_removeMousedown':''" ng-mousedown="changeRemoveClass()" ng-click="remove1(output)" ng-show="shanchu">删除</div> -->
  480. </div>
  481. </div>
  482. <div class="mainDiv-body fixHeight" ng-if="copyInspection.tree.length">
  483. <div class="box-tree">
  484. <!-- <span ng-if="doing_async">...加载中...</span> -->
  485. <!-- <abn-tree tree-data="my_1data" tree-control="my_tree" on-select="my_tree_1handler(branch)" expand-level="2" icon-leaf="iconfont icon-fenlei" icon-expand="ti-plus" icon-collapse="ti-minus"></abn-tree> -->
  486. <z-tree-copy id="z-tree-copy" class="ztree" copy-inspection-type="copyInspection.tree" changecate="changecateObj.changecate" selectedchangecategory="selectedchangecategory.value"></z-tree-copy>
  487. </div>
  488. </div>
  489. </div>
  490. <div class="mainDivRight" ng-if="changecateObj.changecate && copyInspection.tree.length">
  491. <div class="mainDiv-head">
  492. <span>默认组和默认人</span>
  493. </div>
  494. <div class="mainDiv-body" style="padding: 16px;height:182px;">
  495. <div class="tab-mainDiv-body-lineDiv-50">
  496. <div class="tab-mainDiv-body-lable">线下巡检默认组:</div>
  497. <ui-select class="tab-mainDiv-body-content" ng-model="group_user.offlineGroup"
  498. theme="bootstrap">
  499. <ui-select-match allow-clear placeholder="">
  500. {{$select.selected.groupName}}
  501. </ui-select-match>
  502. <ui-select-choices repeat="item in groupList | filter: $select.search">
  503. <div ng-bind-html="item.groupName | highlight: $select.search"></div>
  504. </ui-select-choices>
  505. </ui-select>
  506. </div>
  507. <div class="tab-mainDiv-body-lineDiv-50">
  508. <div class="tab-mainDiv-body-lable">线上巡检默认人:</div>
  509. <ui-select class="tab-mainDiv-body-content" ng-model="group_user.onlineUser"
  510. theme="bootstrap">
  511. <ui-select-match allow-clear placeholder="">
  512. {{$select.selected.name}}
  513. </ui-select-match>
  514. <ui-select-choices repeat="item in userList | filter: $select.search">
  515. <div ng-bind-html="item.name | highlight: $select.search"></div>
  516. </ui-select-choices>
  517. </ui-select>
  518. </div>
  519. </div>
  520. <!-- <div class="tab-mainDiv-foot">
  521. <div class="btn btn_search" ng-click="submit1change()" ng-show="bianji">
  522. 保存设置
  523. </div>
  524. </div> -->
  525. </div>
  526. <div class="mainDivRight" ng-if="!(changecateObj.changecate && copyInspection.tree.length)">
  527. <div class="mainDiv-head">
  528. <span>默认组和默认人</span>
  529. </div>
  530. <div class="mainDiv-body">
  531. <div class="mainDiv-body-noList">
  532. <img src="./assets/images/place/icon_quesheng.png" alt="">
  533. <p class="handlefont">请选择巡检范围</p>
  534. </div>
  535. </div>
  536. <!-- <div class="mainDiv-head">
  537. <span>通知规则</span>
  538. </div>
  539. <div class="mainDiv-body" style="padding: 16px;">
  540. <div>
  541. <label>通知人:</label>
  542. <ui-select class="tab-mainDiv-body-content" ng-model="notice.user"
  543. theme="bootstrap" multiple>
  544. <ui-select-match placeholder="">
  545. {{$item.name}}
  546. </ui-select-match>
  547. <ui-select-choices repeat="item in incidentManageruserList | filter: $select.search">
  548. <div ng-bind-html="item.name | highlight: $select.search"></div>
  549. </ui-select-choices>
  550. </ui-select>
  551. </div>
  552. <div style="margin-top: 8px;">
  553. <label>通知选项:</label>
  554. <div ng-repeat="item in notice.inspectionMsgRules">
  555. <label style="cursor: pointer;"><input type="checkbox" name="inspectionMsgRules" ng-model="item.checked" style="position: relative;top:2px;margin-right:2px;">{{item.name}}</label>
  556. </div>
  557. </div>
  558. </div> -->
  559. </div>
  560. <div class="mainDivRight">
  561. <div class="mainDiv-head">
  562. <span>通知规则</span>
  563. </div>
  564. <div class="mainDiv-body" style="padding: 16px;">
  565. <div>
  566. <label>通知人:</label>
  567. <ui-select class="tab-mainDiv-body-content" ng-model="notice.user"
  568. theme="bootstrap" multiple>
  569. <ui-select-match placeholder="">
  570. {{$item.name}}
  571. </ui-select-match>
  572. <ui-select-choices repeat="item in incidentManageruserList | filter: $select.search">
  573. <div ng-bind-html="item.name | highlight: $select.search"></div>
  574. </ui-select-choices>
  575. </ui-select>
  576. </div>
  577. <div style="margin-top: 8px;">
  578. <label>通知选项:</label>
  579. <div ng-repeat="item in notice.inspectionMsgRules">
  580. <label style="cursor: pointer;"><input type="checkbox" name="inspectionMsgRules" ng-model="item.checked" style="position: relative;top:2px;margin-right:2px;">{{item.name}}</label>
  581. </div>
  582. </div>
  583. </div>
  584. </div>
  585. </div>
  586. </div>
  587. <!-- 巡检范围结束 -->
  588. </div>
  589. <div class="inspection_btns col-xs-12">
  590. <div class="btn btn_search" ng-click="submit1change_prev()" ng-show="xinzeng">上一步</div>
  591. <div class="btn btn_search" ng-click="submit1change()" ng-show="xinzeng">开始计划</div>
  592. <div class="btn btn_search" ng-click="submit1change_save()" ng-show="xinzeng">暂存</div>
  593. <div class="btn btn_remove" ng-class="isMousedown?'btn_removeMousedown':''" ng-click="closeModel()" ng-show="shanchu">关闭</div>
  594. </div>
  595. </div>
  596. <div class="col-xs-3">
  597. <div class="mainDiv-head">
  598. <span>巡检范围策略模板</span>
  599. </div>
  600. <div class="leftBox minHeight264">
  601. <div class="list" ng-repeat="v in listDataTop" ng-click="leftListCli($index,v)" ng-class="{'listCli':$index==leftListIdx}">
  602. <i class="iconfont icon-liebiao1" ng-class="{'listCliI':$index==leftListIdx}"></i>
  603. <span>{{v.modelName}}</span>
  604. </div>
  605. </div>
  606. <div class="mainDiv-head">
  607. <span>往期巡检范围策略</span>
  608. </div>
  609. <div class="leftBox minHeight264">
  610. <div class="list" ng-repeat="v in listDataBottom" ng-click="leftListCli($index,v)" ng-class="{'listCli':$index==leftListIdx}">
  611. <i class="iconfont icon-liebiao1" ng-class="{'listCliI':$index==leftListIdx}"></i>
  612. <span>{{v.modelName}}</span>
  613. </div>
  614. </div>
  615. </div>
  616. </div>
  617. </div>