list.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <template>
  2. <div id="ddlist">
  3. <div class="bg-color-black1">
  4. <div class="d-flex mt-2 pt-1 pl-2 pb-2 jc-center mb-2">
  5. <!-- <span class="text mx-2 fw-b">产线计划未完成订单明细</span> -->
  6. </div>
  7. <div class="d-flex jc-center body-box">
  8. <dv-scroll-board class="dv-scr-board" :config="config" ref="scroll-board" />
  9. </div>
  10. </div>
  11. </div>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. config: {
  18. header:[],
  19. data: [],
  20. rowNum: 14, //表格行数
  21. headerHeight: 50,
  22. headerBGC: '#FFFFFF', //表头
  23. oddRowBGC: '#FFFFFF', //奇数行
  24. evenRowBGC: '#FFFFFF', //偶数行
  25. columnWidth: [],
  26. align: [],
  27. carousel: 'page',
  28. hoverPause: true,
  29. // 添加等待时间确保高度计算正确
  30. waitTime: 10000
  31. },
  32. timing:null,
  33. }
  34. },
  35. mounted() {
  36. this.refreshdata()
  37. },
  38. beforeDestroy () {
  39. clearInterval(this.timing)
  40. },
  41. methods: {
  42. refreshdata() {
  43. this.getdata(); //获取-数据
  44. this.timing = setInterval(() => {
  45. this.getdata(); //获取--数据
  46. }, 18000);
  47. },
  48. async getdata() {
  49. //先清空数据
  50. var caller1 = 'KB!PROCESS!DATA';
  51. await this.$http.get("kanban/datalist.action?caller="+caller1+"&_noc=1&page=1&pageSize=100",{
  52. params: {
  53. condition:"1=1"
  54. }
  55. }).then((result)=>{
  56. let columns = result.data.columns;
  57. let headers = new Array();
  58. let columnWidths = new Array();
  59. let fieldnames = new Array();
  60. let aligns = new Array();
  61. for (let index = 0; index < columns.length; index++) {
  62. const element = columns[index];
  63. if(element.width>0) {
  64. headers.push(element.text);
  65. columnWidths.push(element.width);
  66. fieldnames.push(element.dataIndex);
  67. aligns.push('center');
  68. }
  69. }
  70. this.config.header = headers;
  71. this.config.columnWidth = columnWidths;
  72. this.config.align = aligns;
  73. let dataList = JSON.parse(result.data.data);
  74. let resultList = new Array();
  75. for (let index = 0; index < dataList.length; index++) {
  76. const element = dataList[index];
  77. let item = new Array();
  78. fieldnames.forEach(function (ele) {
  79. // 遍历数组,对每个元素进行操作
  80. if(ele == "ma_salecode"){
  81. let str = element[ele].slice(2)
  82. item.push("<span>" + str + "</span>");
  83. }else if (ele == "ma_kind"){
  84. let str = element[ele].slice(0,2)
  85. item.push("<span>" + str + "</span>");
  86. }else{
  87. item.push("<span>" + element[ele] + "</span>");
  88. }
  89. });
  90. resultList.push(item);
  91. }
  92. this.config.data = resultList;
  93. this.config = { ...this.config };
  94. },(result)=>{
  95. console.error(result)
  96. }
  97. );
  98. }
  99. }
  100. }
  101. </script>
  102. <style lang="scss" scoped>
  103. $box-height: 950px;
  104. $box-width: 100%;
  105. #ddlist {
  106. padding: 12px;
  107. height: $box-height;
  108. width: $box-width;
  109. border-radius: 5px;
  110. .bg-color-black1 {
  111. height: $box-height - 25px;
  112. border-radius: 10px;
  113. }
  114. .text {
  115. color: #000000;
  116. font-size: 50px;
  117. }
  118. .body-box {
  119. overflow: hidden;
  120. height: 915px;
  121. ::v-deep .dv-scroll-board {
  122. height: 885px;
  123. .header{
  124. font-size: 25px;
  125. color: #000000 !important;
  126. font-weight: bold;
  127. .header-item{
  128. border: 1px solid #000000 ;
  129. }
  130. }
  131. // 添加全局边框样式
  132. /*.header, .rows .row-item, {
  133. border: 1px solid #000000 !important;
  134. }*/
  135. .rows {
  136. .row-item {
  137. font-size: 26px !important;
  138. color: #000000 !important;
  139. >.ceil{
  140. border: 1px solid #000000;
  141. }
  142. }
  143. /* .ceil {
  144. border-right: 1px solid #000000 !important;
  145. }*/
  146. }
  147. }
  148. }
  149. }
  150. </style>