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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. // plugin/etc/components/pop-device/pop-device.js
  2. Component({
  3. /**
  4. * 组件的属性列表
  5. */
  6. properties: {
  7. list: {
  8. type: Array,
  9. value: [],
  10. observer: function (newVal, oldVal) {
  11. let self = this;
  12. if (newVal) {
  13. self._handlerdataconversion(newVal);
  14. }
  15. }
  16. },
  17. show: {
  18. type: Boolean,
  19. value: false,
  20. observer: function (newVal, oldVal) {
  21. let self = this;
  22. if (newVal) {
  23. self.configbeginSearch(newVal);
  24. }
  25. }
  26. },
  27. btnText: {
  28. type: String,
  29. value: '确定激活'
  30. }
  31. },
  32. /**
  33. * 组件的初始数据
  34. */
  35. data: {
  36. deviceList: [],
  37. hight: 20,
  38. device: "",
  39. beginSearch: false,
  40. isScrolly: false,
  41. iconOkPre: "/static/etc/signGetAuth/device-select.png",
  42. iconOkNor: "/static/etc/signGetAuth/device-no.png",
  43. },
  44. /**
  45. * 组件的方法列表
  46. */
  47. methods: {
  48. configbeginSearch(newvalue) {
  49. this.setData({
  50. beginSearch: newvalue
  51. });
  52. },
  53. _handlerdataconversion(newvalue) {
  54. let self = this;
  55. var leh = newvalue.length;
  56. var hg = 20;
  57. var scroll = false;
  58. if (leh < 4) {
  59. hg = 120 * leh;
  60. } else {
  61. hg = 120 * 4;
  62. scroll = true;
  63. }
  64. self.configselcetDevice(newvalue);
  65. self.setData({
  66. deviceList: newvalue,
  67. hight: hg,
  68. isScrolly: scroll,
  69. });
  70. },
  71. /// 配置选中设备
  72. configselcetDevice(array) {
  73. let device = '';
  74. for (let index = 0; index < array.length; index++) {
  75. const element = array[index];
  76. if (element.is_select) {
  77. device = element.device;
  78. break;
  79. }
  80. }
  81. this.setData({
  82. device: device
  83. })
  84. },
  85. tapItem(e) {
  86. let device = e.currentTarget.dataset.item.device;
  87. let array = this.data.deviceList;
  88. for (let index = 0; index < array.length; index++) {
  89. const element = array[index];
  90. if (element.device.name === device.name) {
  91. element.is_select = true;
  92. } else {
  93. element.is_select = false;
  94. }
  95. }
  96. this.setData({
  97. device: device,
  98. deviceList: array
  99. })
  100. },
  101. confirmOwner() {
  102. let device = this.data.device;
  103. if (device) {
  104. this.setData({
  105. beginSearch: false
  106. })
  107. this.triggerEvent("OnOwner", device);
  108. } else {
  109. wx.showToast({
  110. title: "请选择激活设备",
  111. icon: "none"
  112. })
  113. }
  114. },
  115. }
  116. })