bulkOperationMixin.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import {
  2. deteleModel
  3. } from '@/api/apply/visualDev'
  4. export default {
  5. data() {
  6. return {
  7. slide: '',
  8. slide2: '',
  9. checkedAll: false,
  10. ids: [],
  11. showTop: false,
  12. }
  13. },
  14. methods: {
  15. /* 批量删除 */
  16. batchDelete() {
  17. if (!this.selectItems.length) {
  18. return this.$u.toast('请选择一条数据')
  19. }
  20. uni.showModal({
  21. title: '提示',
  22. content: '删除后数据无法恢复',
  23. success: (res) => {
  24. if (res.confirm) {
  25. const uniqueIds = new Set();
  26. this.selectItems.forEach(item => {
  27. uniqueIds.add(item.id);
  28. });
  29. const ids = [...uniqueIds];
  30. let data = {
  31. flowId: this.config.flowId,
  32. ids
  33. };
  34. deteleModel(data, this.modelId).then(res => {
  35. this.selectItems = [];
  36. this.$u.toast(res.msg)
  37. this.mescroll.resetUpScroll()
  38. })
  39. }
  40. }
  41. })
  42. },
  43. openBatchOperate() {
  44. this.showTop = !this.showTop
  45. if (this.showTop) {
  46. this.slide = 'slide-up'
  47. this.slide2 = 'slide-up2'
  48. }
  49. },
  50. checkAll() {
  51. this.checkedAll = !this.checkedAll
  52. this.list = this.list.map(o => ({
  53. ...o,
  54. checked: false
  55. }))
  56. if (this.checkedAll) {
  57. this.list = this.list.map(o => ({
  58. ...o,
  59. checked: true
  60. }))
  61. }
  62. },
  63. cancel() {
  64. this.list = this.list.map(o => ({
  65. ...o,
  66. checked: false
  67. }))
  68. this.showTop = false
  69. this.checkedAll = false
  70. this.$nextTick(() => {
  71. this.$refs.list.handleCheckAll()
  72. })
  73. }
  74. }
  75. }