inspectReport.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. <style type="text/css">
  2. .inspectReportCtrl .incidentsearch {
  3. width: 30% !important;
  4. margin-right: 16px;
  5. }
  6. .inspectReportCtrl .iptSize {
  7. width: 60% !important;
  8. height: 28px !important;
  9. }
  10. .inspectReportCtrl .tree-control .tree-input {
  11. min-height: 28px !important;
  12. }
  13. .inspectReportCtrl .searchBtnBox > .btn {
  14. margin: 0 8px 10px 0;
  15. }
  16. .inspectReportCtrl .inspectMask {
  17. position: absolute;
  18. left: 0;
  19. top: 0;
  20. right: 0;
  21. bottom: 0;
  22. margin: auto;
  23. background-color: rgba(0, 0, 0, 0.5);
  24. z-index: 99999;
  25. }
  26. .inspectReportCtrl .inspectMask .inspectMain {
  27. width: 400px;
  28. height: 200px;
  29. background-color: #fff;
  30. margin: 100px auto 0;
  31. border-radius: 5px;
  32. padding: 16px;
  33. }
  34. .inspectReportCtrl .inspectMask .inspectMain .inspectMain_header {
  35. height: 30px;
  36. line-height: 30px;
  37. text-align: center;
  38. font-weight: bold;
  39. }
  40. .inspectReportCtrl .inspectMask .inspectMain .inspectMain_footer {
  41. margin-top: 8px;
  42. text-align: center;
  43. }
  44. .inspectReportCtrl .xj_img {
  45. width: 150px;
  46. height: 100px;
  47. object-fit: cover;
  48. margin: 0 2px;
  49. cursor: pointer;
  50. }
  51. .inspectReportCtrl .gridInspectReport {
  52. height: 100vh;
  53. }
  54. </style>
  55. <div ng-controller="inspectReportCtrl" class="inspectReportCtrl">
  56. <div class="inspectMask" ng-if="isMask">
  57. <div class="inspectMain">
  58. <div class="inspectMain_header">请选择计划主题和批次号</div>
  59. <div>
  60. 计划主题<span style="color: red" class="ng-scope">*</span>:
  61. <ui-select ng-model="queryList.title" ng-change="changeTitle(e)">
  62. <ui-select-match placeholder="请选择计划主题">
  63. <span ng-bind="$select.selected.title"> </span>
  64. </ui-select-match>
  65. <ui-select-choices
  66. repeat="item in (titles | filter:$select.search) track by item.id"
  67. >
  68. <span ng-bind="item.title"> </span>
  69. </ui-select-choices>
  70. </ui-select>
  71. </div>
  72. <div>
  73. 批次号<span style="color: red" class="ng-scope">*</span>:
  74. <ui-select ng-model="queryList.batchNo">
  75. <ui-select-match placeholder="请选择批次号">
  76. <span ng-bind="$select.selected.name"> </span>
  77. </ui-select-match>
  78. <ui-select-choices
  79. repeat="item in (batchNos | filter:$select.search) track by item.id"
  80. >
  81. <span ng-bind="item.name"> </span>
  82. </ui-select-choices>
  83. </ui-select>
  84. </div>
  85. <div class="inspectMain_footer">
  86. <div class="btn btn_search" ng-click="onClick()"><span>确定</span></div>
  87. </div>
  88. </div>
  89. </div>
  90. <section id="page-title">
  91. <div class="row">
  92. <div class="col-sm-8">
  93. <h1 class="mainTitle">
  94. 巡检报告<i
  95. tooltip="巡检报告列表"
  96. tooltip-placement="right"
  97. class="fa ti-help-alt margin-left-10 fontcolor-five pointfont"
  98. ></i>
  99. </h1>
  100. </div>
  101. </div>
  102. </section>
  103. <div class="schuback" id="searchid">
  104. <div class="row" style="padding-right: 0px !important">
  105. <div class="col-xs-12">
  106. <div class="col-xs-11" style="padding-right: 0px !important"></div>
  107. <div class="col-xs-1">
  108. <div>
  109. <div class="pull-left margin-top-10 searchBtnBox">
  110. <div class="btn btn_clean" ng-click="print()">打印</div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="tableList" ui-i18n="{{lang}}">
  118. <div class=" ">
  119. <div
  120. id="grid1 "
  121. ui-grid="gridOptions "
  122. external-scopes="$scope "
  123. ui-grid-resize-columns
  124. ui-grid-selection
  125. ui-grid-auto-resize
  126. class="grid gridInspectReport"
  127. ></div>
  128. </div>
  129. </div>
  130. <!-- 打印区域 -->
  131. <div style="display: none;">
  132. <div id="print">
  133. <style>
  134. #print{
  135. width: 250mm;
  136. background-color: #fff;
  137. margin: 0 auto;
  138. }
  139. #print .fm{
  140. height: 100%;
  141. display: flex;
  142. flex-direction: column;
  143. justify-content: space-between;
  144. align-items: center;
  145. }
  146. #print .fm h1{
  147. font-size: 80px;
  148. margin-top: 40mm;
  149. text-align: center;
  150. }
  151. #print .fm h2{
  152. width: 240mm;
  153. word-wrap: break-word;
  154. font-size: 60px;
  155. margin-bottom: 200mm;
  156. text-align: center;
  157. }
  158. #print .fm h3{
  159. font-size: 24px;
  160. margin-left: auto;
  161. margin-right: 5mm;
  162. margin-bottom: 5mm;
  163. }
  164. #print table{
  165. width: 100%;
  166. border: 1px solid #000;
  167. border-collapse: collapse;
  168. }
  169. #print td,th{
  170. text-align: center;
  171. border: 1px solid #000;
  172. padding: 21px 2px;
  173. word-break: break-all;
  174. }
  175. #print .td{
  176. display: flex;
  177. align-items: center;
  178. justify-content: center;
  179. white-space:normal;
  180. }
  181. #print .td .inspectPar{
  182. overflow: auto;
  183. display: flex;
  184. align-items: center;
  185. justify-content: center;
  186. white-space:normal;
  187. flex-wrap: wrap;
  188. height: 100%;
  189. word-break: break-all;
  190. }
  191. #print .td .inspectPar p{
  192. text-align: justify;
  193. width: 100%;
  194. margin: 0;
  195. }
  196. #print .xj_img {
  197. width: 150px;
  198. height: 100px;
  199. object-fit: cover;
  200. margin: 0 2px;
  201. cursor: pointer;
  202. }
  203. #print .qz{
  204. height: 100%;
  205. font-size: 26px;
  206. line-height: 2;
  207. padding-top: 100px;
  208. padding-bottom: 100px;
  209. position: relative;
  210. }
  211. #print .qz .qz_right{
  212. position: absolute;
  213. bottom: 100px;
  214. right: 200px;
  215. }
  216. #print .qz .qz_inner > div{
  217. text-align: justify;
  218. word-break: break-all;
  219. }
  220. </style>
  221. <div class="fm">
  222. <h1>巡&nbsp;&nbsp;检&nbsp;&nbsp;报&nbsp;&nbsp;告</h1>
  223. <h2>{{queryList.title?queryList.title.title.split('').join('&nbsp;'):''}}</h2>
  224. <!-- <h3>批次号:{{queryList.batchNo?queryList.batchNo.name:''}}</h3> -->
  225. </div>
  226. <div class="qz">
  227. <div class="qz_inner">
  228. <div>巡检计划:“{{queryList.title?queryList.title.title:''}}”</div>
  229. <div>巡检时间:{{signObj.oldTime | date: 'yyyy.MM.dd'}}-{{signObj.newTime | date: 'yyyy.MM.dd'}}</div>
  230. <div>巡检总楼栋数量:{{signObj.ywcTotal}}栋</div>
  231. <div>巡检各楼栋数量:{{signObj.regionList.join('、')}}</div>
  232. <div>各人员巡检数量:{{signObj.userList.join('、')}}</div>
  233. <div class="qz_right">
  234. <div>确认签字:</div>
  235. <div>日期:</div>
  236. </div>
  237. </div>
  238. </div>
  239. <table>
  240. <tr>
  241. <th width="5%">序号</th>
  242. <th width="11%">日期</th>
  243. <th width="8%">巡检类型</th>
  244. <th width="28%">巡检项</th>
  245. <th width="22%">巡检图片</th>
  246. <th width="10%">整改意见</th>
  247. <th width="8%">巡检人</th>
  248. <th width="8%">地址</th>
  249. </tr>
  250. <tr ng-repeat="(index,data) in myData">
  251. <td>{{index + 1}}</td>
  252. <td>{{data.startTime | date:"yyyy-MM-dd HH:mm:ss"}}</td>
  253. <td>{{data.type}}</td>
  254. <td>
  255. <div class="td">
  256. <div class="inspectPar">
  257. <p ng-repeat="item in data.xj_items">
  258. <span ng-if="item.key == 'sdCheckEnable7'||item.key == 'sdCheckEnable11'||item.key == 'sdCheckEnable12'">{{item.name}}:{{item.value=="true"?"是":"否"}}</span>
  259. <span ng-if="item.key != 'sdCheckEnable7'&&item.key != 'sdCheckEnable11'&&item.key != 'sdCheckEnable12'">{{item.name}}:{{item.value=="true"?"正常":"异常"}}</span>
  260. </p>
  261. </div>
  262. </div>
  263. </td>
  264. <td>
  265. <div ng-if="data.filePath[true]">线上 <img class="xj_img" ng-click="seePic(data,imageurl)" ng-repeat="(index,imageurl) in data.filePath[true]" ng-src="{{imageurl}}"/></div>
  266. <div style="margin-top: 2px;" ng-if="data.filePath[false]">线下 <img class="xj_img" ng-click="seePic(data,imageurl)" ng-repeat="(index,imageurl) in data.filePath[false]" ng-src="{{imageurl}}"/></div>
  267. </td>
  268. <td>
  269. <div class="td">
  270. <div class="inspectPar"><p ng-bind-html="data.descriptionTextarea"></p></div>
  271. </div>
  272. </td>
  273. <td ng-bind-html="data.userName"></td>
  274. <td>{{data.address}}</td>
  275. </tr>
  276. </table>
  277. </div>
  278. </div>
  279. </div>