hookehuyr

树形选择逻辑调整

[
{
"id": 624337,
"name": "八关斋戒",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 82983,
"name": "场地管理",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 83245,
"name": "场地使用",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 88042,
"name": "大道大商接待组",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 137902,
"name": "大道大商营员组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 689546,
"name": "大义工管理",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 72297,
"name": "法务组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 497012,
"name": "观音诞接待",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 492458,
"name": "观音诞组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 689596,
"name": "观音诞组长&大义工管理",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 104063,
"name": "皈依义工",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 577718,
"name": "皈依组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 359537,
"name": "会务组",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 689369,
"name": "活动法务组长&大义工管理",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 689347,
"name": "活动皈依组长&大义工管理",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 571214,
"name": "活动义工",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 156681,
"name": "技术服务组",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 63251,
"name": "接待组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 37590,
"name": "接待组员",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 202501,
"name": "静三",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 42517,
"name": "客房组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 97951,
"name": "美业静心",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 120453,
"name": "企业家项目组",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 632929,
"name": "物资组",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 281921,
"name": "西一",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 38646,
"name": "西园义工组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 87282,
"name": "系统管理员",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 362769,
"name": "义工测试",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 161846,
"name": "艺智研习社",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 79126,
"name": "营员组长",
"checked": 0,
"disabled": 0,
"type": "role"
},
{
"id": 42552,
"name": "住宿前台",
"checked": 0,
"disabled": 0,
"type": "role"
}
]
[
{
"id": 35697,
"name": "西园寺",
"checked": 0,
"disabled": 0,
"type": "client",
"user": [
{
"id": 137918,
"name": "10组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137919,
"name": "11组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137922,
"name": "12组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137923,
"name": "13组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137924,
"name": "14组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137925,
"name": "15组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137926,
"name": "16组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137927,
"name": "17组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 121361,
"name": "1组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 121366,
"name": "2组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 121367,
"name": "3组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 121368,
"name": "4组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137913,
"name": "5组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137914,
"name": "6组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137915,
"name": "7组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137916,
"name": "8组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137917,
"name": "9组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792970,
"name": "djz",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792964,
"name": "hooke",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792959,
"name": "jack",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792962,
"name": "spring",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792966,
"name": "waj",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 792968,
"name": "whj",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 82984,
"name": "xhuixue",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107715,
"name": "安保组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 624341,
"name": "八关斋戒",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 42553,
"name": "悲悦",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107713,
"name": "插花组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 83246,
"name": "场地自检",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107707,
"name": "场地组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493044,
"name": "陈秋康",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107717,
"name": "传灯组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 165824,
"name": "慈山",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 680337,
"name": "慈惟",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 553469,
"name": "慈晓",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493189,
"name": "大雄宝殿组",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493196,
"name": "戴苏芹",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 71293,
"name": "道雯",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 141006,
"name": "电话义工",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493064,
"name": "杜梅",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107705,
"name": "法务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493234,
"name": "费钰生",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493193,
"name": "高慧(慧茹)",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 566845,
"name": "观嘉",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 643643,
"name": "观嘉FW",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 263014,
"name": "观良",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 497013,
"name": "观音诞接待",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 158014,
"name": "皈依接待",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107704,
"name": "皈依组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 599201,
"name": "果皊",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 42326,
"name": "果泯",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 182126,
"name": "果娓",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 484122,
"name": "海涵",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107708,
"name": "行堂组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107719,
"name": "后厨组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 87283,
"name": "黄伟",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 484722,
"name": "会务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 359538,
"name": "会务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493228,
"name": "慧昌",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 532650,
"name": "慧晨",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 689560,
"name": "慧谛",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 42554,
"name": "慧然",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 501876,
"name": "慧万",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493207,
"name": "慧万",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 82985,
"name": "慧雪",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 72298,
"name": "慧俨",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107718,
"name": "机动组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493200,
"name": "机动组(澄悦)",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107889,
"name": "拣菜组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493062,
"name": "姜秀兰",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 63928,
"name": "接待01",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 69586,
"name": "接待02",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 69587,
"name": "接待03",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 37592,
"name": "接待义工",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107701,
"name": "接待组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 63252,
"name": "接待组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 281923,
"name": "接待组组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 492459,
"name": "金刚组",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 492892,
"name": "金叶青",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 799613,
"name": "净弘",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 87342,
"name": "净耘",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493232,
"name": "究悟法师、甄志儒",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 501880,
"name": "客房前台1",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 501882,
"name": "客房前台2",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 484570,
"name": "客房组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493236,
"name": "李敏",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107706,
"name": "礼仪组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493072,
"name": "刘杏初",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493046,
"name": "梅从如",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 97952,
"name": "美业静心接待",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137904,
"name": "女营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493211,
"name": "钱蓉华",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493213,
"name": "钱蓉华",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493205,
"name": "钱英姿",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 281922,
"name": "寝室组组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 71986,
"name": "入住",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 120454,
"name": "善晨",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 119569,
"name": "善珉",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 202515,
"name": "善宁",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 94881,
"name": "善滢",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 484110,
"name": "善园",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493198,
"name": "邵鸿良",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 689571,
"name": "沈娟娟",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493224,
"name": "沈云华",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107714,
"name": "视听组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493218,
"name": "水果组",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 71982,
"name": "退房",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 689575,
"name": "王金凤",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493226,
"name": "惟麟",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 104065,
"name": "惟灵",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493203,
"name": "惟兴",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107711,
"name": "文宣组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493066,
"name": "吴黎平",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 42556,
"name": "悟般",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 72300,
"name": "悟柘",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107720,
"name": "物资组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 548473,
"name": "西仓库运营组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 36137,
"name": "西园管理员2",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 632930,
"name": "西园物资1",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107710,
"name": "洗碗组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 263263,
"name": "系统管理员",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493230,
"name": "夏威、甄志儒",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493215,
"name": "心俨",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493052,
"name": "许琳琳",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493050,
"name": "杨彩芳、张素红、祝莺",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493070,
"name": "杨为芳",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493191,
"name": "杨小秋、胡关荣",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107716,
"name": "医务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 362770,
"name": "义工管理员",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 161847,
"name": "艺智研习社",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107712,
"name": "迎请组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 689582,
"name": "俞婷",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493238,
"name": "云水轩",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493209,
"name": "张伟娥",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493054,
"name": "张伟民、黄叶根",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493222,
"name": "照唤",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 532683,
"name": "照熙法师",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 104064,
"name": "智凡",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 94882,
"name": "智宜",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 101171,
"name": "智贞",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 493220,
"name": "朱文娟、孙勤",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107721,
"name": "主持组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 79125,
"name": "组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 285053,
"name": "组长001",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 285054,
"name": "组长002",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 285055,
"name": "组长003",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 285056,
"name": "组长004",
"checked": 0,
"disabled": 0,
"type": "user"
}
],
"children": [
{
"id": 492081,
"name": "营员",
"parent_id": 0,
"sort": 99,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792959,
"name": "jack",
"checked": 0,
"disabled": 0,
"type": "user"
}
],
"children": [
{
"id": 137571,
"name": "男10组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137918,
"name": "10组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137572,
"name": "男11组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137919,
"name": "11组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137573,
"name": "男12组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137922,
"name": "12组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137574,
"name": "男13组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137923,
"name": "13组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 121362,
"name": "男1组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 121361,
"name": "1组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 121363,
"name": "男2组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 121366,
"name": "2组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 121364,
"name": "男3组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 121367,
"name": "3组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 121365,
"name": "男4组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 121368,
"name": "4组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137565,
"name": "男5组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137913,
"name": "5组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137903,
"name": "男营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137575,
"name": "女14组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137924,
"name": "14组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137576,
"name": "女15组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137925,
"name": "15组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137577,
"name": "女16组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137926,
"name": "16组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137578,
"name": "女17组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137927,
"name": "17组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137912,
"name": "外地大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
],
"children": [
{
"id": 492848,
"name": "消杀组",
"parent_id": 137578,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 72298,
"name": "慧俨",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
}
]
},
{
"id": 137566,
"name": "女6组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137914,
"name": "6组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137904,
"name": "女营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137568,
"name": "女7组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137915,
"name": "7组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137904,
"name": "女营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137569,
"name": "女8组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137916,
"name": "8组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137904,
"name": "女营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 137570,
"name": "女9组",
"parent_id": 492081,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 137917,
"name": "9组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137904,
"name": "女营员大组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
}
]
},
{
"id": 107693,
"name": "安保组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107715,
"name": "安保组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 64261,
"name": "餐饮组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792964,
"name": "hooke",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 71293,
"name": "道雯",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107691,
"name": "插花组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107713,
"name": "插花组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107684,
"name": "场地组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107707,
"name": "场地组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107697,
"name": "传灯组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107717,
"name": "传灯组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 72299,
"name": "法务组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107705,
"name": "法务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 359538,
"name": "会务组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 72298,
"name": "慧俨",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 104066,
"name": "皈依组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792968,
"name": "whj",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107704,
"name": "皈依组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 119569,
"name": "善珉",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 104065,
"name": "惟灵",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 104064,
"name": "智凡",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107685,
"name": "行堂组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107708,
"name": "行堂组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107690,
"name": "后厨组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107719,
"name": "后厨组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107698,
"name": "机动组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792966,
"name": "waj",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107718,
"name": "机动组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107686,
"name": "拣菜组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107889,
"name": "拣菜组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 64260,
"name": "接待组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792962,
"name": "spring",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 141006,
"name": "电话义工",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 158014,
"name": "皈依接待",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107701,
"name": "接待组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 63252,
"name": "接待组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 97952,
"name": "美业静心接待",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 36137,
"name": "西园管理员2",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 94882,
"name": "智宜",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 64263,
"name": "客房组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 71986,
"name": "入住",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 71982,
"name": "退房",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 42556,
"name": "悟般",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107683,
"name": "礼仪组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107706,
"name": "礼仪组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107694,
"name": "视听组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107714,
"name": "视听组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107688,
"name": "文宣组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107711,
"name": "文宣组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107699,
"name": "物资组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107720,
"name": "物资组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 83253,
"name": "西园1组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 83246,
"name": "场地自检",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107687,
"name": "洗碗组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107702,
"name": "餐饮组长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 107710,
"name": "洗碗组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 82717,
"name": "修学服务中心",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 792970,
"name": "djz",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 82984,
"name": "xhuixue",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 82985,
"name": "慧雪",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107696,
"name": "医务组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107716,
"name": "医务组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 79124,
"name": "营员组长",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 79125,
"name": "组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107689,
"name": "迎请组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107712,
"name": "迎请组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
},
{
"id": 107700,
"name": "主持组",
"parent_id": 0,
"sort": null,
"checked": 0,
"disabled": 0,
"type": "dept",
"user": [
{
"id": 107721,
"name": "主持组长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
}
]
}
]
<!--
* @Date: 2022-08-29 14:31:20
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-05-29 14:19:52
* @LastEditTime: 2024-05-31 00:19:33
* @FilePath: /data-table/src/components/TreeField/index.vue
* @Description: 树形组件
-->
......@@ -15,7 +15,7 @@
<van-popup
v-model:show="showBottom"
position="bottom"
:style="{ height: '80vh' }"
:style="{ height: '90vh' }"
>
<div v-if="!is_search" class="search-box" @click="onSearchFocus">
<van-icon name="search" size="1.1rem" />&nbsp;点击搜索
......@@ -26,21 +26,29 @@
</template>
</van-field>
<div>
{{ value }}
<div class="select-box">
<div class="select-item" v-for="(dept) in checkedGroup.dept" :key="dept.id">
{{ dept.name }}&nbsp;<van-icon @click="onRemoveDeptTag(dept)" name="close" />
</div>
<div class="select-item" v-for="(role) in checkedGroup.role" :key="role.id">
{{ role.name }}&nbsp;<van-icon @click="onRemoveRoleTag(role)" name="close" />
</div>
<div class="select-item" v-for="(user) in checkedGroup.user" :key="user.id">
{{ user.name }}&nbsp;<van-icon @click="onRemoveUserTag(user)" name="close" />
</div>
</div>
<div v-if="!is_search" class="tab-tree-container">
<van-tabs :color="styleColor.baseColor" v-model:active="tabActive" @click-tab="onClickTab" style="margin-bottom: 1rem;">
<van-tab title="组织结构"></van-tab>
<van-tab title="角色"></van-tab>
<van-tab title="成员"></van-tab>
<div v-show="!is_search" class="tab-tree-container">
<van-tabs ref="tabRef" :color="styleColor.baseColor" v-model:active="tabActive" @click-tab="onClickTab" style="margin-bottom: 1rem;">
<van-tab title="组织结构" :name="0"></van-tab>
<van-tab title="角色" :name="1"></van-tab>
<van-tab title="成员" :name="2"></van-tab>
</van-tabs>
<div v-if="tabActive === 0" style="padding: 0 0 1rem 1rem;">
<div v-show="tabActive === 0" style="padding: 0 0 1rem 1rem;">
<Vtree
ref="orgTreeRef"
v-model="select_org_value"
ref="deptTreeRef"
v-model="select_dept_value"
checkable
titleField="name"
keyField="id"
......@@ -51,6 +59,7 @@
:defaultExpandAll="false"
@search="searchMethod"
@checked-change="checkedChangeMethod"
style=" height: 60vh; overflow: scroll;"
>
<span slot="empty">暂无数据</span>
</Vtree>
......@@ -59,14 +68,23 @@
<div v-if="tabActive === 1" style="padding: 0 0 1rem 1rem;">
<van-checkbox-group
v-model="role_checked"
@change="roleChangeMethod"
>
<van-checkbox v-for="(role, index) in roleList" :key="index" :name="role.id" shape="square" icon-size="13px" :checked-color="styleColor.baseColor" style="margin-bottom: 0.5rem;">{{ role.name }}</van-checkbox>
<van-checkbox
v-for="(role, index) in roleList"
:key="index"
:name="role.id"
shape="square"
icon-size="13px"
:checked-color="styleColor.baseColor"
style="margin-bottom: 0.5rem;"
>{{ role.name }}</van-checkbox>
</van-checkbox-group>
</div>
<div v-if="tabActive === 2" style="padding: 0 0 0 1rem;">
<van-row gutter="">
<van-col span="10" style="border-right: 1px solid #eee; height: 70vh; max-height: 60vh; overflow: scroll;">
<van-col span="10" style="border-right: 1px solid #eee; height: 60vh; overflow: scroll;">
<Vtree
ref="memberTreeRef"
v-model="select_member_value"
......@@ -76,36 +94,92 @@
:expandOnFilter="false"
:showCheckedButton="false"
@update:modelValue="() => {}"
@click="onNodeClick"
>
<span slot="empty">暂无数据</span>
</Vtree>
</van-col>
<van-col span="14">
<!-- {{ select_member_value }} -->
<van-checkbox-group
v-model="member_checked"
style="padding: 0 0 1rem 1rem;"
@change="onMemberChange"
>
<van-checkbox v-for="(member, index) in memberList" :key="index" :name="member.id" shape="square" icon-size="13px" :checked-color="styleColor.baseColor" style="margin-bottom: 0.5rem;">{{ member.name }}</van-checkbox>
<van-checkbox
@click="onCheckMemberChange(member, $event)"
v-for="(member, index) in memberList"
:id="member.id"
:type="member.type"
:text="member.name"
:key="index"
:name="member.id"
shape="square"
icon-size="13px"
:checked-color="styleColor.baseColor" style="margin-bottom: 0.5rem;">{{ member.name }}</van-checkbox>
</van-checkbox-group>
</van-col>
</van-row>
</div>
</div>
<div v-else class="search-container">
<div v-show="is_search" class="search-container">
<van-checkbox-group
v-model="search_result_checked"
style="padding: 0 0 1rem 1rem;"
@change="onSearchResultChange"
>
<div>
<p>部门</p>
<div>1</div>
<div>
<van-checkbox
@click="onSearchDeptChange(dept, $event)"
v-for="(dept) in user_dept_role.dept"
:id="dept.id"
:type="dept.type"
:text="dept.name"
:key="dept.id"
:name="dept.id"
shape="square" icon-size="13px" :checked-color="styleColor.baseColor" style="margin-bottom: 0.5rem;">
{{ dept.name }}
</van-checkbox>
</div>
</div>
<div>
<p>角色</p>
<div>2</div>
<div>
<van-checkbox
@click="onSearchRoleChange(role, $event)"
v-for="(role) in user_dept_role.role"
:id="role.id"
:type="role.type"
:text="role.name"
:key="role.id"
:name="role.id"
shape="square" icon-size="13px" :checked-color="styleColor.baseColor" style="margin-bottom: 0.8rem;">
{{ role.name }}
</van-checkbox>
</div>
</div>
<div>
<p>成员</p>
<div>3</div>
<div>
<van-checkbox
@click="onSearchUserChange(user, $event)"
v-for="(user) in user_dept_role.user"
:id="user.id"
:type="user.type"
:text="user.name"
:key="user.id"
:name="user.id"
shape="square" icon-size="13px" :checked-color="styleColor.baseColor" style="margin-bottom: 0.5rem;">
{{ user.name }}
</van-checkbox>
</div>
</div>
{{ search_result_checked }}
</van-checkbox-group>
</div>
</van-popup>
......@@ -118,6 +192,11 @@ import { styleColor } from "@/constant.js";
// 大家可以根据需要是否引入VTreeNode, VTreeSearch, VTreeDrop
import Vtree, { VTreeNode, VTreeSearch, VTreeDrop } from '@wsfe/vue-tree'
import '@wsfe/vue-tree/style.css';
import role_list from './flow_role_list.json'
import dept_list from './flow_dept_list.json'
// import user_dept_role from './user_dept_role.json'
import $ from 'jquery';
import _ from 'lodash';
const props = defineProps({
item: Object,
......@@ -143,38 +222,21 @@ const onCancel = () => {
search_value.value = '';
};
const tabActive = ref(2);
const select_org_value = ref();
const orgTreeRef = ref();
const tabRef = ref(null);
const tabActive = ref(0);
const select_dept_value = ref();
const deptTreeRef = ref();
const role_checked = ref([]);
const roleList = ref([{
id: 'a',
name: '法务组长',
}, {
id: 'b',
name: '接待组长',
}, {
id: 'c',
name: '场地管理',
}]);
const roleList = ref([]);
const select_member_value = ref();
const memberTreeRef = ref();
const member_checked = ref([]);
const memberList = ref([{
id: 'a',
name: '法务组长',
}, {
id: 'b',
name: '接待组长',
}, {
id: 'c',
name: '场地管理',
}]);
const memberList = ref([]);
const onClickTab = ({ title }) => { // tab点击事件
if (title === '组织结构') {
nextTick(() => {
orgListReset();
deptListReset();
});
}
if (title === '角色') {
......@@ -235,56 +297,399 @@ const testData = [{
id: 52
}]
}]
}]
}];
const checkedGroup = ref({
dept: [],
role: [],
user: []
});
// 使用watch进行深度监听
watch(
checkedGroup,
(newCheckedGroup, oldCheckedGroup, onInvalidate) => {
// console.log('checkedGroup changed:', newCheckedGroup);
// role_checked.value = newCheckedGroup.role.map(item => item.id);
// 如果需要在下次更新前清理副作用,可以使用onInvalidate
// onInvalidate(() => {
// console.log('Watch invalidated');
// });
},
{
deep: true, // 深度监听
immediate: true, // 立即触发回调
}
);
onMounted(() => {
props.item.value = props.item.component_props.default;
// TODO:获取数据
memberTreeRef.value.setData(testData);
deptTreeRef.value.setData(role_list);
// 默认展开第一个
memberTreeRef.value.setExpand(1, true)
deptTreeRef.value.setExpand(35697, true)
// memberTreeRef.value.setData(testData);
// // 默认展开第一个
// memberTreeRef.value.setExpand(1, true)
});
const searchMethod = (value) => {
console.log(value)
}
const checkedChangeMethod = (value) => {
console.log(value)
// console.log(orgTreeRef.value.getCheckedNodes())
const checkedChangeMethod = (arr) => {
let list = [];
arr.forEach((item) => {
list.push({
id: item.id,
name: item.name
})
})
// console.log(deptTreeRef.value.getCheckedNodes())
// checkedGroup.value.dept = [];
checkedGroup.value.dept = list;
}
const is_search = ref(false); // 默认不显示搜索框
const onSearchBlur = () => { // 搜索框失去焦点
// search_result_checked.value = []
}
const onSearchFocus = () => { // 搜索框获取焦点
is_search.value = true;
nextTick(() => {
searchInputRef.value.focus()
})
// 角色选中
let dept = checkedGroup.value.dept.map(item => item.id);
let role = checkedGroup.value.role.map(item => item.id);
let user = checkedGroup.value.user.map(item => item.id);
search_result_checked.value = [...dept, ...role, ...user];
}
const onCloseSearch = () => {
const onCloseSearch = () => { // 搜索关闭按钮
tabActive.value = 0
is_search.value = false;
// 组织结构勾选状态还原
deptTreeRef.value?.setCheckedKeys(checkedGroup.value.dept.map(item => item.id), true);
// console.warn(checkedGroup.value.role);
// 角色选中
role_checked.value = checkedGroup.value.role.map(item => item.id);
//
member_checked.value = checkedGroup.value.user.map(item => item.id)
}
const searchInputRef = ref(null);
const orgListReset = () => { // 组织重置列表
orgTreeRef.value.setData(testData);
const deptListReset = () => { // 组织重置列表
deptTreeRef.value.setData(role_list);
orgTreeRef.value.setExpand(1, true)
deptTreeRef.value.setExpand(35697, true)
}
const roleListReset = () => {
roleList.value = dept_list;
}
const memberListReset = () => {
memberTreeRef.value.setData(testData);
memberTreeRef.value.setData(role_list);
memberTreeRef.value.setExpand(35697, true)
}
const onNodeClick = (node) => {
// console.warn(node);
console.warn(checkedGroup.value.user);
// console.warn(node.user);
memberList.value = node.user;
member_checked.value = checkedGroup.value.user.map(item => item.id)
}
const roleChangeMethod = (val) => { // 角色多选组点击回调
let list = [];
roleList.value.forEach((item) => {
val.forEach((v) => {
if (item.id === v) {
list.push({
id: v,
name: item.name
})
}
})
});
//
// checkedGroup.value.role = [];
checkedGroup.value.role = list;
}
const onChange = (val) => {
console.warn(memberList.value);
}
const roleTreeList = ref(role_list);
const onMemberChange = (val) => { // 成员多选组点击回调
// memberList.value.forEach(item => {
// if (val.includes(item.id)) {
// item.checked = true;
// } else {
// item.checked = false;
// }
// });
// checkedGroup.value.user = member_checked.value;
}
const onRemoveDeptTag = (dept) => { // 移除部门标签
// 移除选中框显示
const index = checkedGroup.value.dept.indexOf(dept);
checkedGroup.value.dept.splice(index, 1);
// 组织结构移除对应ID
deptTreeRef.value?.setChecked(dept.id, false);
// 移除搜索结果选中显示
const idx = search_result_checked.value.indexOf(dept);
search_result_checked.value.splice(idx, 1);
}
const onRemoveRoleTag = (role) => { // 移除角色标签
const index = checkedGroup.value.role.indexOf(role);
checkedGroup.value.role.splice(index, 1);
//
const idx = role_checked.value.indexOf(role);
role_checked.value.splice(index, 1);
// 移除搜索结果选中显示
const i = search_result_checked.value.indexOf(role);
search_result_checked.value.splice(i, 1);
}
const onRemoveUserTag = (user) => { // 移除成员标签
console.warn(user);
const index = checkedGroup.value.user.indexOf(user);
checkedGroup.value.user.splice(index, 1);
//
const idx = member_checked.value.indexOf(user);
member_checked.value.splice(index, 1);
// 移除搜索结果选中显示
const i = search_result_checked.value.indexOf(user);
search_result_checked.value.splice(i, 1);
}
const user_dept_role = ref({
"dept": [
{
"type": "dept",
"name": "男10组",
"id": 137571
}, {
"type": "dept",
"name": "主持组",
"id": 107700
}
],
"role": [
{
"type": "role",
"name": "八关斋戒",
"id": 624337
},
{
"id": 82983,
"name": "场地管理",
"type": "role"
}
],
"user": [
{
"id": 137918,
"name": "10组寝室长",
"type": "user"
},
{
"id": 137919,
"name": "11组寝室长",
"type": "user"
}
]
});
memberTreeRef.value.setExpand(1, true)
const search_result_checked = ref([]);
// watch(
// search_result_checked
// ,(newVal, oldVal) => {
// console.warn(newVal);
// console.warn(oldVal);
// }, {
// deep: true,
// })
const onSearchResultChange = (val) => { // 监听搜索结果集点击回调,结果集为选中项
// console.warn(val);
// val.forEach((item) => { // 把选中项合并到显示框中
// if (item.type === 'dept') { // 部门
// checkedGroup.value.dept.push(item);
// checkedGroup.value.dept = _.uniqBy(checkedGroup.value.dept, 'id');
// }
// if (item.type === 'role') { // 角色
// checkedGroup.value.role.push(item);
// checkedGroup.value.role = _.uniqBy(checkedGroup.value.role, 'id');
// }
// if (item.type === 'user') { // 成员
// checkedGroup.value.user.push(item);
// checkedGroup.value.user = _.uniqBy(checkedGroup.value.user, 'id');
// }
// });
}
const onSearchDeptChange = (val, evt) => {
nextTick(() => {
let checked = false;
let id = '';
let name = '';
let type = '';
if ($(evt.target).attr('aria-checked') === undefined) {
checked = $(evt.target).parents('.van-checkbox').attr('aria-checked');
id = $(evt.target).parents('.van-checkbox').attr('id');
name = $(evt.target).parents('.van-checkbox').attr('text');
type = $(evt.target).parents('.van-checkbox').attr('type');
} else {
checked = $(evt.target).attr('aria-checked');
id = $(evt.target).attr('id');
name = $(evt.target).attr('text');
type = $(evt.target).attr('type');
}
let obj = {
id: +id,
name,
type
}
checkedGroup.value.dept.push(obj);
checkedGroup.value.dept = _.uniqBy(checkedGroup.value.dept, 'id');
//
if (checked === 'false') {
if (val.type === 'dept') {
console.warn(obj);
const index = checkedGroup.value.dept.findIndex(dept => dept.id === obj.id);
checkedGroup.value.dept.splice(index, 1);
// 移除搜索结果选中显示
// const idx = search_result_checked.value.indexOf(obj);
// search_result_checked.value.splice(idx, 1);
// 组织结构移除对应ID
deptTreeRef.value?.setChecked(obj.id, false);
}
}
})
}
const onSearchRoleChange = (val, evt) => {
nextTick(() => {
let checked = false;
let id = '';
let name = '';
let type = '';
if ($(evt.target).attr('aria-checked') === undefined) {
checked = $(evt.target).parents('.van-checkbox').attr('aria-checked');
id = $(evt.target).parents('.van-checkbox').attr('id');
name = $(evt.target).parents('.van-checkbox').attr('text');
type = $(evt.target).parents('.van-checkbox').attr('type');
} else {
checked = $(evt.target).attr('aria-checked');
id = $(evt.target).attr('id');
name = $(evt.target).attr('text');
type = $(evt.target).attr('type');
}
let obj = {
id: +id,
name,
type
}
checkedGroup.value.role.push(obj);
checkedGroup.value.role = _.uniqBy(checkedGroup.value.role, 'id');
//
if (checked === 'false') {
if (val.type === 'role') {
const index = checkedGroup.value.role.findIndex(role => role.id === obj.id);
checkedGroup.value.role.splice(index, 1);
// const idx = role_checked.value.indexOf(obj);
// role_checked.value.splice(index, 1);
// 移除搜索结果选中显示
// const i = search_result_checked.value.indexOf(obj);
// search_result_checked.value.splice(i, 1);
}
}
})
}
const onSearchUserChange = (val, evt) => {
nextTick(() => {
let checked = false;
let id = '';
let name = '';
let type = '';
if ($(evt.target).attr('aria-checked') === undefined) {
checked = $(evt.target).parents('.van-checkbox').attr('aria-checked');
id = $(evt.target).parents('.van-checkbox').attr('id');
name = $(evt.target).parents('.van-checkbox').attr('text');
type = $(evt.target).parents('.van-checkbox').attr('type');
} else {
checked = $(evt.target).attr('aria-checked');
id = $(evt.target).attr('id');
name = $(evt.target).attr('text');
type = $(evt.target).attr('type');
}
let obj = {
id: +id,
name,
type
}
checkedGroup.value.user.push(obj);
checkedGroup.value.user = _.uniqBy(checkedGroup.value.user, 'id');
//
if (checked === 'false') {
if (val.type === 'user') {
const index = checkedGroup.value.user.findIndex(user => user.id === obj.id);
checkedGroup.value.user.splice(index, 1);
// //
// const idx = member_checked.value.indexOf(obj);
// member_checked.value.splice(index, 1);
// // 移除搜索结果选中显示
// const i = search_result_checked.value.indexOf(obj);
// search_result_checked.value.splice(i, 1);
}
}
})
}
const onCheckMemberChange = (val, evt) => {
nextTick(() => {
let checked = false;
let id = '';
let name = '';
let type = '';
if ($(evt.target).attr('aria-checked') === undefined) {
checked = $(evt.target).parents('.van-checkbox').attr('aria-checked');
id = $(evt.target).parents('.van-checkbox').attr('id');
name = $(evt.target).parents('.van-checkbox').attr('text');
type = $(evt.target).parents('.van-checkbox').attr('type');
} else {
checked = $(evt.target).attr('aria-checked');
id = $(evt.target).attr('id');
name = $(evt.target).attr('text');
type = $(evt.target).attr('type');
}
let obj = {
id: +id,
name,
type
}
checkedGroup.value.user.push(obj);
checkedGroup.value.user = _.uniqBy(checkedGroup.value.user, 'id');
//
if (checked === 'false') {
if (val.type === 'user') {
const index = checkedGroup.value.user.indexOf(val);
checkedGroup.value.user.splice(index, 1);
}
}
})
}
</script>
......@@ -339,4 +744,27 @@ const memberListReset = () => {
:deep(.ctree-tree-node__title_selected) {
background-color: #f8e2cb;
}
.select-box {
height: 4rem;
border: 1px dashed #dfdfdf;
margin: 0 1rem;
overflow: scroll;
border-radius: 5px;
padding: 0.5rem;
display: flex;
flex-wrap: wrap;
.select-item {
margin-right: 5px;
margin-bottom: 5px;
font-size: 0.85rem;
padding: 5px 8px;
background-color: #C2915F;
color: #fff;
height: 1.2rem;
display: flex;
justify-content: center;
align-items: center;
}
}
</style>
......
{
"dept": [
{
"type": "dept",
"name": "男10组",
"id": 137571
}, {
"type": "dept",
"name": "主持组",
"id": 107700
}
],
"role": [
{
"type": "role",
"name": "八关斋戒",
"id": 624337
},
{
"id": 82983,
"name": "场地管理",
"checked": 0,
"disabled": 0,
"type": "role"
}
],
"user": [
{
"id": 137918,
"name": "10组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
},
{
"id": 137919,
"name": "11组寝室长",
"checked": 0,
"disabled": 0,
"type": "user"
}
]
}