/*
 * @Author: Mm
 * @Date: 2025-05-09 16:43:50
 * @LastEditors: Mm
 * @LastEditTime: 2025-06-05 17:07:33
 * 不写bug的程序员不是一个好程序员!
 */
import { requestClient } from '#/api/request';

/**
 * 查询任务中心列表
 * @param params
 * @returns 任务中心列表
 */
export function tasksList(params: any) {
  return requestClient.get('/wflow/mission/mySubmitted', { params });
  // return requestClient.get('/wflow/mission/mySubmitted2', { params });
}

/**
 * 查询任务详情
 * @param params
 * @returns 任务详情
 */
export function tasksDetail(id: string | number, nodeId: string | number) {
  return requestClient.get('/wflow/mission/' + id + '/' + nodeId);
}

/**
 * 删除任务
 * @param id id
 * @returns void
 */
export function taskRemove(id: number | string) {
  return requestClient.deleteWithMsg<void>(`/wflow/mission/${id}`);
}

/**
 * 查询待我审批任务中心列表
 * @param params
 * @returns 任务中心列表
 */
export function dwspTasksList(params: any) {
  return requestClient.get('/wflow/mission/task/todoList', { params });
}

/**
 * 查询我审批的任务中心列表
 * @param params
 * @returns 任务中心列表
 */
export function wcldTasksList(params: any) {
  return requestClient.get('/wflow/mission/task/idoList', { params });
}

/**
 * 查询待我处理的任务中心列表
 * @param params
 * @returns 任务中心列表
 */
export function dwclTasksList(params: any) {
  return requestClient.get('/wflow/mission/task/toHandleList', { params });
}

/**
 * 获取协作单与部门的树结构数据
 * @param params
 * @returns 协作单与部门的树结构数据
 */
export function xzdTreesList() {
  return requestClient.get('/biz/policeCapacity/treeList');
}

/**
 * 根据所属部门查警种能力负责人
 * @param params
 * @returns 所属部门查警种能力负责人
 */
export function jznlFzrList(params: any) {
  return requestClient.get('/system/user/list/dept', { params });
}

/**
 * 下发任务接口
 * @param params
 */
export function doXiaFa(data: any) {
  return requestClient.postWithMsg('/wflow/mission/task/xiafa', data);
}

/**
 * 查询已处理的的任务中心列表
 * @param params
 * @returns 任务中心列表
 */
export function ycldTasksList(params: any) {
  return requestClient.get('/wflow/mission/task/alreadyHandledList', {
    params,
  });
}

/**
 * 签收任务接口
 * @param params
 */
export function doQianshou(data: any) {
  return requestClient.postWithMsg('/wflow/mission/task/qianshou', data);
}

/**
 * 反馈任务接口
 * @param params
 */
export function doFankui(data: any) {
  return requestClient.postWithMsg('/wflow/mission/task/feedback', data);
}

// 获取协作单详情/{workId}
export function xzdDetail(id: string | number) {
  return requestClient.get('/wflow/mission/task/bizWork/' + id );
} 

/**
 * 情指中心下发任务接口
 * @param params
 */
export function doQingzhiXiaFa(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/xiafaByQingZhi', data);
}

/**
 * 情指中心下发民警任务接口
 * @param params
 */
export function doXiaFaMJ(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/xiafaMJ', data);
}    

/**
 * 情指中心领导同意协作单反馈
 * @param params
 */
export function agreeXzd(data:any) {
  return requestClient.postWithMsg(
    '/wflow/mission/task/qianshouFeedBack',
    data,
  );
}   

/**
 * 情指中心领导退回协作单反馈
 * @param params
 */
export function returnXzd(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/refuseFeedBack', data);
}  

/**
 * 情指中心领导办结任务
 * @param params
 */
export function finishTask(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/allDone', data);
}  


/**
 * 根据任务ID获取任务协作单列表
 * @param params
 */
export function getXzdList(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/getWorkList', data);
}  


// 获取单位下的人  树列表
export function userTreesList() {
  return requestClient.get('/system/user/treeList');
}


// 
/**
 * 重办
 * @param params
 */
export function doRedo(data:any) {
  return requestClient.postWithMsg('/wflow/mission/task/redo', data);
}  
// 获取某个反馈详情及任务详情
export function getFeedBackDetail(params: any) {
  return requestClient.get(
    'wflow/mission/task/getBizTaskAndFeedbackByFeedbackId',
    {params},
  );
}  
