defect-elimination-tracking.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. <template>
  2. <div class="defect-elimination-tracking" v-if="showMe">
  3. <div class="defect-elimination-tracking-close">
  4. <i class="el-icon el-icon-close" @click="close"></i>
  5. </div>
  6. <div class="header-tile-box">
  7. <div class="header-tile-h">
  8. <div class="header-box">
  9. <img :src="header" class="header" />
  10. </div>
  11. </div>
  12. <div class="header-tile">
  13. <div class="info-form-box">
  14. <div class="info-form">
  15. <div class="info-form-label">检修人员:</div>
  16. <div class="info-form-value">{{formdata.workleader}}</div>
  17. </div>
  18. <div class="info-form">
  19. <div class="info-form-label">收缩血压:</div>
  20. <div class="info-form-value">{{infoss.SSXY}}</div>
  21. </div>
  22. </div>
  23. </div>
  24. <div class="header-tile">
  25. <div class="info-form-box">
  26. <div class="info-form">
  27. <div class="info-form-label">工作时长:</div>
  28. <div class="info-form-value">{{formdata.qxclsc}}</div>
  29. </div>
  30. <div class="info-form">
  31. <div class="info-form-label">舒张血压:</div>
  32. <div class="info-form-value">{{infoss.SZXY}}</div>
  33. </div>
  34. </div>
  35. </div>
  36. <div class="header-tile">
  37. <div class="info-form-box">
  38. <div class="info-form">
  39. <div class="info-form-label">工作强度:</div>
  40. <div class="info-form-value">高</div>
  41. </div>
  42. <div class="info-form">
  43. <div class="info-form-label">心跳频率:</div>
  44. <div class="info-form-value">{{infoss.XTPL}}</div>
  45. </div>
  46. </div>
  47. </div>
  48. <div class="header-tile">
  49. <div class="info-form-box">
  50. <div class="info-form">
  51. <div class="info-form-label">疲劳度:</div>
  52. <div class="info-form-value">正常</div>
  53. </div>
  54. <div class="info-form">
  55. <div class="info-form-label">血压:</div>
  56. <div class="info-form-value">{{infoss.SZXY}}</div>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="det-chart-title">检修人员健康情况</div>
  62. <div class="det-chart-sub-title">工作期间检测值</div>
  63. <normal-line-chart :list='infols' class="det-chart" height="21.296vh" :showLegend="true" />
  64. <div class="det-chart-sub-title-big">专业技能:</div>
  65. <div class="det-chart-sub-title">电力类,机电类</div>
  66. </div>
  67. </template>
  68. <script>
  69. import NormalLineChart from "@com/chart/line/normal-line-chart.vue";
  70. export default {
  71. components: {
  72. NormalLineChart,
  73. },
  74. props: {
  75. formdata: Object,
  76. },
  77. data() {
  78. return {
  79. showMe: false,
  80. header: require("@assets/userhead.jpg"),
  81. infoss:'', //msg
  82. infols:'', //chart
  83. };
  84. },
  85. created(){
  86. this.search()
  87. console.warn(this.formdata);
  88. },
  89. // 函数
  90. methods: {
  91. async search() {
  92. const {data} = await this.API.requestData({
  93. subUrl: "recommen/findShbraceletList",
  94. method: "POST",
  95. data:{
  96. name : this.formdata.workleader,
  97. beginDate : this.formdata.departuretime,
  98. endDate : this.formdata.checktime,
  99. }
  100. });
  101. console.warn(data.data);
  102. this.infoss = data.data.ss
  103. let ls = data.data.ls
  104. this.infols=[];
  105. for(let i in ls){
  106. let obj ={
  107. title: i,
  108. yAxisIndex: 0,
  109. value:[]
  110. }
  111. for(let k in ls[i]){
  112. let obj1 = {
  113. text: new Date(ls[i][k].pointTime * 1000).formatDate("yyyy-MM-dd hh:mm:ss"),
  114. value:ls[i][k].pointValue
  115. }
  116. obj.value.push(obj1)
  117. }
  118. this.infols.push(obj)
  119. }
  120. // let obj = {
  121. // title: "日发电量",
  122. // yAxisIndex: 0,
  123. // value:[
  124. // ]
  125. // }
  126. // this.infols = data.data.ls
  127. },
  128. show: function () {
  129. this.showMe = true;
  130. },
  131. close: function () {
  132. this.showMe = false;
  133. },
  134. },
  135. };
  136. </script>
  137. <style lang="less">
  138. .defect-elimination-tracking {
  139. position: absolute;
  140. width: 800px;
  141. height: 460px;
  142. top: calc(50% - 230px);
  143. left: calc(50% - 400px);
  144. background: rgba(18, 29, 28, 0.95);
  145. border: 1px solid rgba(5, 187, 76, 0.5);
  146. padding: 16px;
  147. z-index: 999;
  148. .defect-elimination-tracking-close {
  149. position: absolute;
  150. top: 16px;
  151. right: 16px;
  152. cursor: pointer;
  153. i {
  154. font-size: 16px;
  155. color: #909399;
  156. }
  157. &:hover {
  158. i {
  159. color: @green;
  160. }
  161. }
  162. }
  163. .header-tile-box {
  164. display: flex;
  165. .header-tile-h {
  166. width: 54px;
  167. .header-box {
  168. width: 54px;
  169. height: 76px;
  170. display: flex;
  171. align-items: center;
  172. justify-content: center;
  173. background: #ffffff;
  174. .header {
  175. width: 54px;
  176. }
  177. }
  178. }
  179. .header-tile {
  180. padding: 0 8px;
  181. display: flex;
  182. flex-direction: column;
  183. justify-content: center;
  184. .info-form-box {
  185. .info-form {
  186. display: flex;
  187. .info-form-label {
  188. width: 80px;
  189. font-size: @fontsize-s;
  190. color: @gray-l;
  191. text-align: right;
  192. }
  193. .info-form-value {
  194. font-size: @fontsize-s;
  195. color: @white;
  196. line-height: 1.5;
  197. margin-left: 8px;
  198. }
  199. + .info-form {
  200. margin-top: 8px;
  201. }
  202. }
  203. }
  204. }
  205. }
  206. .det-chart {
  207. width: 100%;
  208. height: 21.296vh;
  209. }
  210. .det-chart-title {
  211. text-align: center;
  212. font-size: @fontsize;
  213. color: @gray-l;
  214. margin-top: 16px;
  215. }
  216. .det-chart-sub-title {
  217. font-size: @fontsize-s;
  218. color: @gray-l;
  219. margin: 8px 0;
  220. }
  221. .det-chart-sub-title-big {
  222. font-size: @fontsize;
  223. color: @gray-l;
  224. margin: 16px 0 8px 0;
  225. }
  226. }
  227. </style>