backlog.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. <template>
  2. <view class="blacklog-container">
  3. <uni-nav-bar
  4. fixed="true"
  5. statusBar="true"
  6. left-icon="back"
  7. title="我的待办"
  8. @clickLeft="back"
  9. ></uni-nav-bar>
  10. <view class="list-container">
  11. <view v-for="(item, index) in list" :key="index">
  12. <CardTime :time="item.createTime" />
  13. <!-- <KdCard :title="getTitle(item)" :type="getType(item)" :item="item" @handleDetail="handleDetail" /> -->
  14. <KdCard
  15. :title="item.title"
  16. :type="getType(item)"
  17. :item="item"
  18. @handleDetail="handleDetail"
  19. />
  20. </view>
  21. </view>
  22. <view v-show="list.length === 0" class="no_data">
  23. <u-empty mode="data" textSize="30"></u-empty>
  24. </view>
  25. </view>
  26. </template>
  27. <script>
  28. import { get } from '@/utils/api.js'
  29. import KdCard from '../components/KdCard/index.vue'
  30. import CardTime from '../components/CardTime.vue'
  31. let [page, size, isEnd] = [1, 10, true]
  32. const config = {
  33. 1: {
  34. //巡点检
  35. name: 'patrol'
  36. },
  37. 2: {
  38. //保养
  39. name: 'maintenance'
  40. },
  41. 3: {
  42. //维修
  43. name: 'repair'
  44. },
  45. 4: {
  46. //盘点
  47. name: 'check'
  48. },
  49. 5: {
  50. //出库
  51. name: 'OUT_WARE'
  52. },
  53. 6: {
  54. //入库
  55. name: 'IN_WARE'
  56. },
  57. 7: {
  58. //"库存调拨
  59. name: 'TRANSFER'
  60. },
  61. 8: {
  62. //报损报溢
  63. name: 'REPORT_LOSS_OVERFLOW'
  64. }
  65. }
  66. export default {
  67. components: {
  68. KdCard,
  69. CardTime
  70. },
  71. data () {
  72. return {
  73. list: [],
  74. params: {
  75. handleStatus: 0,
  76. keywords: '',
  77. handleType: ''
  78. }
  79. }
  80. },
  81. //加载更多
  82. onReachBottom: function () {
  83. console.log('asdsad')
  84. if (isEnd) {
  85. return
  86. }
  87. // 显示加载图标
  88. uni.showLoading({
  89. title: '数据加载中'
  90. })
  91. this.getMoreLists()
  92. },
  93. onShow () {
  94. page = 1
  95. this.list = []
  96. this.getList()
  97. },
  98. methods: {
  99. scrolltolower () {},
  100. getTitle ({ devOpsType, planType, title }) {
  101. let str =
  102. {
  103. 1: '巡点检',
  104. 2: '保养',
  105. 3: '维修',
  106. 4: '盘点',
  107. 5: '出库',
  108. 6: '入库',
  109. 7: '库存调拨',
  110. 8: '报损报溢'
  111. }[planType?.code] || title
  112. str += ['计划审批', '工单验收'][devOpsType] || ''
  113. return str
  114. },
  115. getType ({ devOpsType, planType }) {
  116. let type = `backlog_${config[planType?.code]?.name}`
  117. if (devOpsType === 1) {
  118. return type
  119. }
  120. return type + 'Plan'
  121. },
  122. handleDetail ({
  123. devOpsType,
  124. planType,
  125. workOrderId,
  126. id,
  127. workOrderCode,
  128. handleType
  129. }) {
  130. let url = ''
  131. // 入库
  132. if (planType.code == 5) {
  133. url = `/pages/home/backlog/approve_out?type=approval&workOrderId=${workOrderId}&id=${id}&planType=${planType?.code}`
  134. } else if (planType.code == 6) {
  135. url = `/pages/home/backlog/approve_enter?type=approval&workOrderId=${workOrderId}&id=${id}&planType=${planType?.code}`
  136. } else if (planType.code == 7) {
  137. url = `/pages/home/backlog/approve_allot?type=approval&workOrderId=${workOrderId}&id=${id}&planType=${planType?.code}`
  138. } else if (planType.code == 8) {
  139. url = `/pages/home/backlog/approve_approve_allot?type=approval&workOrderId=${workOrderId}&id=${id}&planType=${planType?.code}&handleType=${handleType}`
  140. } else if (planType.code == 9) {
  141. url = `/pages/home/backlog/sparepartDetail?type=approval&workOrderCode=${workOrderCode}&id=${id}&workOrderId=${workOrderId}`
  142. } else if (planType.code == 10) {
  143. url = `/pages/home/backlog/planNatureApproval?type=approval&workOrderCode=${workOrderCode}&id=${id}&workOrderId=${workOrderId}&handleType=${handleType}&planType=${planType?.code}`
  144. }
  145. // 0 审批 1 验收
  146. else if (handleType) {
  147. // 工单验收
  148. /* PATROL(1, "巡点检"),
  149. MAINTAIN(2, "保养"),
  150. REPAIR(3, "维修"),
  151. INVENTORY(4, "盘点"),
  152. OUT_WARE(5, "出库"),
  153. IN_WARE(6, "入库"),
  154. TRANSFER(7, "库存调拨"),
  155. REPORT_LOSS_OVERFLOW(8,"报损报溢"); */
  156. switch (planType.code) {
  157. case 1:
  158. url = `/pages/tour_tally/detail/detail?type=approval&id=${workOrderId}&myHandleId=${id}`
  159. break
  160. case 2:
  161. break
  162. case 3: {
  163. let par = this.URLSearchParams({
  164. type: 'approval',
  165. myHandleId: id,
  166. workOrderCode: workOrderCode
  167. })
  168. url = `/pages/maintain_service/detail/detail?` + par
  169. break
  170. }
  171. case 4:
  172. url = `/pages/warehouse/workOrder/details/details?workOrderId=${workOrderId}&myHandleId=${id}`
  173. break
  174. default:
  175. break
  176. }
  177. } else {
  178. // 0 计划 1 工单
  179. if (devOpsType === 0) {
  180. url = `/pages/home/backlog/planApproval?type=approval&workOrderId=${workOrderId}&id=${id}&planType=${planType?.code}`
  181. }
  182. }
  183. uni.navigateTo({
  184. url
  185. })
  186. },
  187. /*
  188. handleType 办理类型(0 审批 1 验收)
  189. devOpsType 运维管理类型(0 计划 1 工单)
  190. planType.code 计划类型(1:巡点检;2:保养;3:维修;4:盘点;5:出入库)
  191. */
  192. getList () {
  193. let paging = {
  194. page,
  195. size
  196. }
  197. let par = Object.assign(paging, this.params)
  198. get(this.apiUrl + '/myHandle/getMyHandleList', par, true).then(res => {
  199. if (res?.success) {
  200. if (this.params.page === 1) {
  201. this.list = []
  202. }
  203. this.list.push(
  204. ...res.data.records.map(item => {
  205. let matchList =
  206. item.messageContent &&
  207. item.messageContent.match(/【[\S]+\s([\S\s]+)】/)
  208. if (matchList) {
  209. item.ruleName = matchList[1]
  210. }
  211. return item
  212. })
  213. )
  214. let pageTotal = res.data.pages
  215. page < pageTotal ? (isEnd = false) : (isEnd = true)
  216. console.log(isEnd)
  217. }
  218. })
  219. },
  220. getMoreLists: function () {
  221. //获取更多数据
  222. page++
  223. this.getList()
  224. }
  225. }
  226. }
  227. </script>
  228. <style lang="scss" scoped>
  229. .blacklog-container {
  230. height: 100vh;
  231. display: flex;
  232. flex-direction: column;
  233. }
  234. .list-container {
  235. flex: 1;
  236. padding: 24rpx;
  237. background: $page-bg;
  238. // position: absolute;
  239. // top: 88rpx;
  240. // bottom: 0;
  241. // left: 0;
  242. // right: 0;
  243. /deep/.u-list {
  244. height: 100% !important;
  245. }
  246. }
  247. .no_data {
  248. position: fixed;
  249. top: 50%;
  250. left: 50%;
  251. transform: translate(-50%, -50%);
  252. color: #999;
  253. font-size: 50rpx;
  254. }
  255. </style>