workorder.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template>
  2. <view class="container">
  3. <navigator v-for="item in list" :key="item.sa_workorderid" class="item" url="#">
  4. <view class="billno">
  5. {{ item.billno }}
  6. </view>
  7. <view class="row">
  8. 来源:{{ item.source || ' --' }}
  9. </view>
  10. <view class="row">
  11. 设备:{{ item.devicename || ' --' }}
  12. </view>
  13. <view class="row">
  14. 任务时间:{{ item.begdate && item.enddate ? item.begdate + ' 至 ' + item.enddate : ' --' }}
  15. </view>
  16. <view class="row">
  17. 参与人:{{ item.users.length ? item.users : ' --' }}
  18. </view>
  19. <view class="status">{{ item.status }}</view>
  20. </navigator>
  21. </view>
  22. </template>
  23. <script>
  24. export default {
  25. components: {},
  26. name: "workOrder",
  27. data() {
  28. return {
  29. "content": {
  30. "pageNumber": 1,
  31. "pageSize": 20,
  32. "pageTotal": 1,
  33. "where": {
  34. "condition": "",
  35. "begindate": "",
  36. "enddate": ""
  37. }
  38. },
  39. list: []
  40. }
  41. },
  42. mounted() {
  43. this.getlist();
  44. },
  45. methods: {
  46. getlist(init = false) {
  47. let content = this.content;
  48. if (init) content.pageNumber = 1;
  49. if (content.pageNumber > content.pageTotal) return;
  50. this.$Http.basic({
  51. "id": "20230922102702",
  52. content
  53. }).then(res => {
  54. console.log("获取工单列表", res)
  55. if (this.cutoff(res.msg)) return;
  56. content.pageNumber = res.pageNumber + 1;
  57. content.pageTotal = res.pageTotal;
  58. let list = res.data.map(v => {
  59. switch (v.sourcetable) {
  60. case "w_eventid":
  61. v.source = "巡检:" + (v.planno || ' --')
  62. break;
  63. case "w_event_log":
  64. v.source = "告警:" + (v.eventname || ' --')
  65. break;
  66. default:
  67. v.source = "现场"
  68. break;
  69. }
  70. v.users = v.teamRows.map(u => u.name)
  71. return v
  72. })
  73. this.list = res.pageNumber == 1 ? list : this.list.concat(list)
  74. this.content = content;
  75. })
  76. }
  77. }
  78. }
  79. </script>
  80. <style lang="scss" scoped>
  81. .item {
  82. position: relative;
  83. width: 355px;
  84. background: #fff;
  85. padding: 10px;
  86. border-radius: 4px;
  87. margin: 10px auto 0;
  88. overflow: hidden;
  89. box-sizing: border-box;
  90. .billno {
  91. color: #004684;
  92. font-weight: bold;
  93. }
  94. .row {
  95. margin-top: 4px;
  96. font-size: 14px;
  97. }
  98. .status {
  99. position: absolute;
  100. top: 0;
  101. right: 0;
  102. padding: 4px 8px;
  103. background: #FFEFEF;
  104. color: #F65050;
  105. font-size: 12px;
  106. border-radius: 0 0 0 4px;
  107. }
  108. }
  109. </style>