|
@@ -248,56 +248,32 @@ class StoreTreeView(APIView):
|
|
|
id = request.GET.get('id')
|
|
|
store_data = []
|
|
|
|
|
|
- # 查询用户的代理商和管理的门店
|
|
|
- user = User.objects.filter(id=id).first()
|
|
|
- general_agents = GeneralAgent.objects.filter()
|
|
|
+ # 查询当前用户的代理商和管理的门店
|
|
|
agents = Agent.objects.filter()
|
|
|
- stores = Store.objects.filter()
|
|
|
- manage_user = ManageStoreUser.objects.filter(manage_user_id=user.id)
|
|
|
- if not user.is_superuser:
|
|
|
- general_agents = GeneralAgent.objects.filter(id=user.general_agent_id)
|
|
|
- if user.agent:
|
|
|
- agents = Agent.objects.filter(id=user.agent_id,
|
|
|
- general_agent_id=user.general_agent_id)
|
|
|
- if user.store:
|
|
|
- if not manage_user:
|
|
|
- raise CustomError(u'无门店管理权限!')
|
|
|
- stores = Store.objects.filter(id=user.store_id, id__in=user.get_manager_range(),
|
|
|
- check_user__isnull=False, enable=True)
|
|
|
- general_agents = general_agents.values('id', 'name')
|
|
|
- for general_agent in general_agents:
|
|
|
- general_agent_item = {
|
|
|
- 'title': general_agent['name'],
|
|
|
- 'id': general_agent['id'],
|
|
|
- 'field': 'general_agent',
|
|
|
+ if not request.user.is_superuser:
|
|
|
+ agents = agents.filter(id=request.user.agent_id)
|
|
|
+ agents = agents.values('id', 'name')
|
|
|
+ for agent in agents:
|
|
|
+ item = {
|
|
|
+ 'title': agent['name'],
|
|
|
+ 'id': agent['id'],
|
|
|
+ 'field': 'agent',
|
|
|
'children': [],
|
|
|
}
|
|
|
- if not user.agent:
|
|
|
- agents = Agent.objects.filter(general_agent_id=general_agent['id'])
|
|
|
- agents = agents.values('id', 'name')
|
|
|
- for agent in agents:
|
|
|
- agent_item = {
|
|
|
- 'title': agent['name'],
|
|
|
- 'id': agent['id'],
|
|
|
- 'field': 'agent',
|
|
|
- 'children': [],
|
|
|
+ stores = Store.objects.filter(agent_id=agent['id'], id__in=request.user.get_manager_range(),
|
|
|
+ check_user__isnull=False, enable=True).values('id', 'name')
|
|
|
+ for store in stores:
|
|
|
+ manage_store = ManageStoreUser.objects.filter(manage_user_id=id, store_id=store['id']).first()
|
|
|
+ checked = manage_store and True or False
|
|
|
+ store_item = {
|
|
|
+ 'title': store['name'],
|
|
|
+ 'id': store['id'],
|
|
|
+ 'checked': checked,
|
|
|
+ 'field': 'store_{}'.format(store['id']),
|
|
|
}
|
|
|
- general_agent_item['children'].append(agent_item)
|
|
|
- if not user.store:
|
|
|
- stores = Store.objects.filter(agent_id=agent['id'], check_user__isnull=False, enable=True)
|
|
|
- stores = stores.values('id', 'name')
|
|
|
- for store in stores:
|
|
|
- manage_store = ManageStoreUser.objects.filter(manage_user_id=id, store_id=store['id']).first()
|
|
|
- checked = manage_store and True or False
|
|
|
- store_item = {
|
|
|
- 'title': store['name'],
|
|
|
- 'id': store['id'],
|
|
|
- 'checked': checked,
|
|
|
- 'field': 'store_{}'.format(store['id']),
|
|
|
- }
|
|
|
- agent_item['checked'] = checked
|
|
|
- agent_item['children'].append(store_item)
|
|
|
- store_data.append(general_agent_item)
|
|
|
+ item['checked'] = checked
|
|
|
+ item['children'].append(store_item)
|
|
|
+ store_data.append(item)
|
|
|
|
|
|
return response_ok(store_data)
|
|
|
|