pfileList_main.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /* jshint esversion: 6 */
  2. //兼容部分安卓机型globalthis报错
  3. !(function(t){
  4. function e(){
  5. var e = this || self;
  6. (e.globalThis = e), delete t.prototype._T_;
  7. }
  8. "object" != typeof globalThis && (this ? e() : (t.defineProperty(t.prototype, "_T_", {
  9. configurable: !0,
  10. get: e,
  11. }), _T_))
  12. })(Object);
  13. var app = new Vue({
  14. el: '#app',
  15. data: {
  16. searchQuery12: '',
  17. organizations: [
  18. {
  19. name: 'ISG测试工作圈',
  20. memberCount: 10,
  21. isExpanded: false,
  22. subOrgs: [
  23. { name: '长沙分公司', memberCount: 5, members: ['张三', '李四', '王五', '赵六', '孙七'] },
  24. // 其他分公司...
  25. ],
  26. members: []
  27. },
  28. {
  29. name: '产品营销伙伴',
  30. memberCount: 20,
  31. isExpanded: false,
  32. subOrgs: [
  33. { name: '东莞分公司', memberCount: 10, members: ['...'] },
  34. // 其他分公司...
  35. ],
  36. members: []
  37. }
  38. // 其他组织...
  39. ],
  40. selectedOrg: null,
  41. tooltipVisible: false,
  42. tooltipOrg: null,
  43. tooltipTop: 0,
  44. tooltipLeft: 0
  45. },
  46. computed: {
  47. // filteredOrganizations() {
  48. // const query = this.searchQuery.toLowerCase();
  49. // return this.organizations.filter(org =>
  50. // org.name.toLowerCase().includes(query) ||
  51. // this.getFlatMembers(org).some(member => member.toLowerCase().includes(query))
  52. // );
  53. // }
  54. },
  55. methods: {
  56. toggleOrg(org) {
  57. org.isExpanded = !org.isExpanded;
  58. },
  59. showSubOrgs(org) {
  60. this.selectedOrg = null; // 隐藏当前选中的成员列表
  61. this.tooltipOrg = org;
  62. this.tooltipVisible = true;
  63. const rect = org.getBoundingClientRect();
  64. this.tooltipTop = rect.bottom + 10;
  65. this.tooltipLeft = rect.left;
  66. },
  67. hideTooltip() {
  68. this.tooltipVisible = false;
  69. },
  70. showMembers(org) {
  71. this.selectedOrg = org;
  72. this.tooltipVisible = false;
  73. },
  74. getFlatMembers(org) {
  75. return org.members.concat(...org.subOrgs.map(subOrg => this.getFlatMembers(subOrg)));
  76. }
  77. }
  78. });