健腾mes前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

253 lines
6.9 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div class="mod-config">
  3. <img class="logo" src="~@/assets/img/jtLogo.png" style=" width: 10%; position: absolute;top: 0;left:0;" >
  4. <div style="text-align: center">
  5. <h1>{{lineName}}生产看板</h1>
  6. </div>
  7. <div class="board2">
  8. <!-- @mouseenter.native="mouseEnter"-->
  9. <!-- @mouseleave.native="mouseLeave"-->
  10. <el-table
  11. cell-style="cc"
  12. :height="height"
  13. :data="tableData"
  14. ref="wt_table"
  15. border
  16. :row-class-name="tableRowClassName"
  17. style="width: 100%;">
  18. <el-table-column
  19. prop="productionLineDesc"
  20. header-align="center"
  21. align="center"
  22. min-width="20"
  23. style="font-size: 20px"
  24. label="车间">
  25. </el-table-column>
  26. <el-table-column
  27. prop="seqNo"
  28. header-align="center"
  29. align="center"
  30. min-width="25"
  31. style="font-size: 20px"
  32. label="派工单号">
  33. </el-table-column>
  34. <el-table-column
  35. prop="orderNo"
  36. header-align="center"
  37. align="center"
  38. min-width="50"
  39. style="font-size: 20px"
  40. label="生产订单号">
  41. </el-table-column>
  42. <el-table-column
  43. prop="partNo"
  44. header-align="center"
  45. align="center"
  46. min-width="30"
  47. label="物料编码">
  48. </el-table-column>
  49. <el-table-column
  50. prop="operationDesc"
  51. header-align="center"
  52. align="center"
  53. min-width="30"
  54. label="工序">
  55. </el-table-column>
  56. <el-table-column
  57. prop="sScheduledDate"
  58. header-align="center"
  59. align="center"
  60. min-width="40"
  61. label="派工日期">
  62. </el-table-column>
  63. <el-table-column
  64. prop="operatorName"
  65. header-align="center"
  66. align="center"
  67. min-width="30"
  68. label="操作员">
  69. </el-table-column>
  70. <el-table-column
  71. prop="needDate"
  72. header-align="center"
  73. align="center"
  74. min-width="40"
  75. label="要求完工日期">
  76. </el-table-column>
  77. <el-table-column
  78. prop="qtyRequired"
  79. header-align="center"
  80. align="right"
  81. min-width="30"
  82. label="需求数量">
  83. </el-table-column>
  84. <el-table-column
  85. prop="qtyReported"
  86. header-align="center"
  87. align="right"
  88. min-width="30"
  89. label="报工数量">
  90. </el-table-column>
  91. <!-- <el-table-column-->
  92. <!-- prop="lastLineName"-->
  93. <!-- header-align="center"-->
  94. <!-- align="center"-->
  95. <!-- min-width="30"-->
  96. <!-- label="上道生产线">-->
  97. <!-- </el-table-column>-->
  98. <el-table-column
  99. prop="lastSeqNoDoing"
  100. header-align="center"
  101. align="center"
  102. min-width="30"
  103. label="上道派工单">
  104. </el-table-column>
  105. <el-table-column
  106. prop="lastOperationDesc"
  107. header-align="center"
  108. align="center"
  109. min-width="30"
  110. label="上道工序">
  111. </el-table-column>
  112. <!-- <el-table-column-->
  113. <!-- prop="lastReportQty"-->
  114. <!-- header-align="center"-->
  115. <!-- align="right"-->
  116. <!-- min-width="40"-->
  117. <!-- label="上道完成数量">-->
  118. <!-- </el-table-column>-->
  119. </el-table>
  120. </div>
  121. </div>
  122. </template>
  123. <script>
  124. let rollstop = ''
  125. let rolltimer = ''// 自动滚动的定时任务
  126. let refresher = '' //数据刷新定时器
  127. import {
  128. SORoutingBoard,
  129. } from '@/api/production/board.js'
  130. export default {
  131. name: 'SORoutingBoard',
  132. data () {
  133. return {
  134. lineNo:this.$route.query.lineNo?this.$route.query.lineNo:'',
  135. lineName:this.$route.query.lineName?this.$route.query.lineName:'',
  136. pageIndex: 1,
  137. totalPage: 1,
  138. height: 200,
  139. tableData: [],
  140. pageIndex2: 1,
  141. totalPage2: 1,
  142. tableData2: [],
  143. // 默认的刷新,滚动时间,滚动间距
  144. // refreshTime: 5,
  145. // rollTime: 5,
  146. // rollPx: 1,
  147. }
  148. },
  149. mounted () {
  150. this.$nextTick(() => {
  151. // this.height = window.innerHeight - 172
  152. this.height = window.innerHeight - 80
  153. })
  154. // this.autoRoll()
  155. },
  156. methods: {
  157. tableRowClassName ({row, rowIndex}) {
  158. if (row.outWorkFlag == 'N') {
  159. return 'success-row'
  160. }
  161. return ''
  162. },
  163. search () {
  164. let inData= {number:this.pageIndex,number2:this.pageIndex2,
  165. text1:this.lineNo};
  166. SORoutingBoard(inData).then(({data}) => {
  167. this.tableData = data.rows;
  168. this.totalPage= data.maxPage;
  169. if(this.pageIndex+1>data.maxPage){
  170. this.pageIndex=1
  171. }else {
  172. this.pageIndex=this.pageIndex+1
  173. }
  174. // this.tableData2 = data.rows2;
  175. // this.totalPage2= data.maxPage2;
  176. // if(this.pageIndex2+1>data.maxPage2){
  177. // this.pageIndex2=1
  178. // }else {
  179. // this.pageIndex2=this.pageIndex2+1
  180. // }
  181. })
  182. },
  183. // 鼠标进入
  184. // mouseEnter (time) {
  185. // // 鼠标进入停止滚动和切换的定时任务
  186. // this.autoRoll(true)
  187. // },
  188. // 鼠标离开
  189. // mouseLeave () {
  190. // // 开启
  191. // this.autoRoll()
  192. // },
  193. // 设置自动滚动
  194. // autoRoll (stop) {
  195. // if (stop) {
  196. // clearInterval(rolltimer)
  197. // return
  198. // }
  199. // // 拿到表格挂载后的真实DOM
  200. // const table = this.$refs.wt_table
  201. // // 拿到表格中承载数据的div元素
  202. // const divData = table.bodyWrapper
  203. // // 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果
  204. // rolltimer = setInterval(() => {
  205. // // 元素自增距离顶部像素
  206. // divData.scrollTop = this.decimalUtil.add(Number(divData.scrollTop), Number(this.rollPx))
  207. // // 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)
  208. // if (divData.clientHeight + divData.scrollTop +1>= divData.scrollHeight) {
  209. // // 重置table距离顶部距离
  210. // divData.scrollTop = 0
  211. // }
  212. // }, this.rollTime * 10)
  213. // },
  214. refreshTable () {
  215. refresher = setInterval(() => {
  216. this.search()
  217. }, 30000)
  218. }
  219. },
  220. created () {
  221. this.search()
  222. this.refreshTable()
  223. }
  224. }
  225. </script>
  226. <style >
  227. .board2 .el-table .cell {
  228. line-height: 13px;
  229. font-size: 12px;
  230. height: 13px;
  231. padding: 0px;
  232. }
  233. .board2 .el-table .success-row {
  234. background: #1bb61b;
  235. }
  236. .board2 .el-table .false-row {
  237. /*background: #cbcb14;*/
  238. background: #db1212;
  239. }
  240. .board2 .el-table .yellow-row{
  241. background: #ffff00;
  242. }
  243. </style>