12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /* jshint esversion: 6 */
- //兼容部分安卓机型globalthis报错
- !(function(t){
- function e(){
- var e = this || self;
- (e.globalThis = e), delete t.prototype._T_;
- }
- "object" != typeof globalThis && (this ? e() : (t.defineProperty(t.prototype, "_T_", {
- configurable: !0,
- get: e,
- }), _T_))
- })(Object);
- var app = new Vue({
- el: '#app',
- data: {
- searchQuery12: '',
- organizations: [
- {
- name: 'ISG测试工作圈',
- memberCount: 10,
- isExpanded: false,
- subOrgs: [
- { name: '长沙分公司', memberCount: 5, members: ['张三', '李四', '王五', '赵六', '孙七'] },
- // 其他分公司...
- ],
- members: []
- },
- {
- name: '产品营销伙伴',
- memberCount: 20,
- isExpanded: false,
- subOrgs: [
- { name: '东莞分公司', memberCount: 10, members: ['...'] },
- // 其他分公司...
- ],
- members: []
- }
- // 其他组织...
- ],
- selectedOrg: null,
- tooltipVisible: false,
- tooltipOrg: null,
- tooltipTop: 0,
- tooltipLeft: 0
- },
- computed: {
- // filteredOrganizations() {
- // const query = this.searchQuery.toLowerCase();
- // return this.organizations.filter(org =>
- // org.name.toLowerCase().includes(query) ||
- // this.getFlatMembers(org).some(member => member.toLowerCase().includes(query))
- // );
- // }
- },
- methods: {
- toggleOrg(org) {
- org.isExpanded = !org.isExpanded;
- },
- showSubOrgs(org) {
- this.selectedOrg = null; // 隐藏当前选中的成员列表
- this.tooltipOrg = org;
- this.tooltipVisible = true;
- const rect = org.getBoundingClientRect();
- this.tooltipTop = rect.bottom + 10;
- this.tooltipLeft = rect.left;
- },
- hideTooltip() {
- this.tooltipVisible = false;
- },
- showMembers(org) {
- this.selectedOrg = org;
- this.tooltipVisible = false;
- },
- getFlatMembers(org) {
- return org.members.concat(...org.subOrgs.map(subOrg => this.getFlatMembers(subOrg)));
- }
- }
- });
-
-
|