|
@@ -247,33 +247,44 @@ class StoreTreeView(APIView):
|
|
|
def get(self, request):
|
|
|
id = request.GET.get('id')
|
|
|
store_data = []
|
|
|
-
|
|
|
# 查询当前用户的代理商和管理的门店
|
|
|
- agents = Agent.objects.filter()
|
|
|
+ general_agents = GeneralAgent.objects.filter()
|
|
|
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',
|
|
|
+ general_agents = GeneralAgent.objects.filter(id=request.user.general_agent_id)
|
|
|
+ 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',
|
|
|
'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']),
|
|
|
+ agents = Agent.objects.filter(general_agent_id=general_agent['id'])
|
|
|
+ if request.user.agent:
|
|
|
+ agents = agents.filter(id=request.user.agent_id)
|
|
|
+ agents = agents.values('id', 'name')
|
|
|
+ for agent in agents:
|
|
|
+ agent_item= {
|
|
|
+ 'title': agent['name'],
|
|
|
+ 'id': agent['id'],
|
|
|
+ 'field': 'agent',
|
|
|
+ 'children': [],
|
|
|
}
|
|
|
- item['checked'] = checked
|
|
|
- item['children'].append(store_item)
|
|
|
- store_data.append(item)
|
|
|
+ general_agent_item['children'].append(agent_item)
|
|
|
+ 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']),
|
|
|
+ }
|
|
|
+ agent_item['checked'] = checked
|
|
|
+ agent_item['children'].append(store_item)
|
|
|
+ store_data.append(general_agent_item)
|
|
|
|
|
|
return response_ok(store_data)
|
|
|
|