multilevelClass.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. Component({
  2. properties: {
  3. item: {
  4. type: Object
  5. }
  6. },
  7. data: {
  8. active: {}
  9. },
  10. lifetimes: {
  11. attached: function () {
  12. getApp().globalData.Language.getLanguagePackage(this)
  13. }
  14. },
  15. methods: {
  16. clearChild() {
  17. this.setData({
  18. "item.index": null,
  19. childClass: null
  20. });
  21. let MultilevelClass = this.selectComponent("#MultilevelClass");
  22. if (MultilevelClass) MultilevelClass.clearChild()
  23. getApp().globalData.temporaryId = null;
  24. },
  25. onSelect(e) {
  26. const {
  27. i,
  28. item
  29. } = e.currentTarget.dataset;
  30. if (this.data.item.index == i) {
  31. getApp().globalData.temporaryId = this.data.item.id || "";
  32. this.setData({
  33. "item.index": null,
  34. childClass: null
  35. });
  36. } else {
  37. getApp().globalData.temporaryId = this.data.item.selectKey ? item[this.data.item.selectKey] : JSON.parse(JSON.stringify(item));
  38. if(item.subarea){
  39. this.setData({
  40. "item.index": i,
  41. childClass: item.subarea.length ? {
  42. index: null,
  43. label: item.itemclassname ? item.itemclassname + getApp().globalData.Language.getMapText('的下级分类') : item.areaname + getApp().globalData.Language.getMapText('的下级区域'),
  44. list: item.subarea,
  45. selectKey: this.data.item.selectKey,
  46. showName: this.data.item.showName,
  47. type: this.data.item.type,
  48. value: "",
  49. valueKey: this.data.item.valueKey,
  50. id: getApp().globalData.temporaryId
  51. } : null
  52. });
  53. }else{
  54. this.setData({
  55. "item.index": i,
  56. childClass: item.subdep.length ? {
  57. index: null,
  58. label: item.itemclassname ? item.itemclassname + getApp().globalData.Language.getMapText('的下级分类') : item.areaname + getApp().globalData.Language.getMapText('的下级区域'),
  59. list: item.subdep,
  60. selectKey: this.data.item.selectKey,
  61. showName: this.data.item.showName,
  62. type: this.data.item.type,
  63. value: "",
  64. valueKey: this.data.item.valueKey,
  65. id: getApp().globalData.temporaryId
  66. } : null
  67. });
  68. }
  69. };
  70. }
  71. }
  72. })