import { autoCreateEffects } from '@/utils/handleModels';
import {
  operation_service_m_inspection_standard_pageList_post, //巡检标准列表查询
  operation_service_m_inspection_standard_addEdit_patch,//巡检标准 新增或更新
  operation_service_m_inspection_standard_detail_id_get,//id查询
  operation_service_m_inspection_standard_delete_post,//删除
  operation_service_m_standard_term_pageList_post,//点检项 列表
  operation_service_m_standard_term_addEdit_patch,//点检项 新增或更新
  operation_service_m_standard_term_delete_post,//删除
  operation_service_m_standard_term_detail_id_get,//id查询
  operation_service_m_inspection_plan_pageList_post, // 计划列表
  operation_service_m_inspection_plan_getPlanNumber_get, // 获取计划编号
  operation_service_m_inspection_plan_node_addEdit_patch, // 计划关联表新增或更新
  operation_service_m_inspection_plan_node_delete_post, // 计划节点表的删除
  operation_service_m_inspection_plan_node_pageList_post, // 计划节点列表
  operation_service_m_inspection_plan_node_move_patch, // 计划节点上下移动
  operation_service_m_inspection_plan_addEdit_patch, // 计划新增
  operation_service_m_inspection_plan_pauseStart_id_delete, // 计划暂停
  operation_service_m_inspection_plan_approval_patch, // 计划审批
  operation_service_m_inspection_plan_detail_id_get, // 查看详情
  operation_service_m_inspection_plan_withdraw_id_delete, // 撤销我发起的计划
  operation_service_m_inspection_plan_node_selectInspectionStandard_patch, // 计划节点选择标准
  operation_service_m_standard_term_move_patch,//上下移动
  operation_service_m_standard_equipment_relation_pageList_post,//关联表 列表
  operation_service_m_standard_equipment_relation_delete_post,//删除
  operation_service_m_standard_equipment_relation_add_patch,//新增或更新
  operation_service_m_inspection_task_pageList_post, // 任务列表
  operation_service_m_inspection_task_detail_id_get, // 任务详情
  operation_service_m_inspection_task_node_pageList_post, // 详情的节点列表
  operation_service_m_inspection_task_node_term_pageList_post, // 详情的节点的点检列表
  operation_service_m_inspection_task_node_term_parameterPage_post, // 详情的节点的参数列表
  operation_service_m_inspection_task_closeRecovery_id_get, // 任务关闭或恢复
  operation_service_m_inspection_plan_autditPageList_post, // 巡检计划待我审批列表
  operation_service_m_inspection_task_node_term_enclosurePageList_post, // 巡检记录巡检项
  operation_service_m_inspection_standard_getStandard_post, // 获取已关联设备的巡检标准
  operation_service_m_inspection_task_updateToStart_id_get, // 手动开始任务
} from '@/sdk/api/operation'

import {
  account_service_role_page_post, // 获取角色列表
} from '@/sdk/api/account'

import {
  common_service_m_audit_pageList_post, // 待我审核列表
  common_service_m_audit_nodeRevoke_auditId_delete, // 待我审核列表撤销
  common_service_t_customer_info_post,
  common_service_msg_rule_post
} from '@/sdk/api/common'

import {
  device_service_m_operation_parameter_report_pageList_post
} from "@/sdk/api/device"

export default {

  namespace: 'opsInspection',
  state: {
    inspectionList: { list: [], pagination: {} },
    inspectionTermList: { list: [], pagination: {} },
    inspectionRelationList: { list: [], pagination: {} },
    inspectionDetails: {},
    inspectionTermAdd: {},
    inspectionCode: '',
    roleList: { list: [], pagination: {} },
    PlanNodeList: { list: [], pagination: {} },
    insPlanList: { list: [], pagination: {} },
    planDetail: {},
    approvalByMeList: { list: [], pagination: {} },
    taskList: { list: [], pagination: {} },
    taskDetail: {},
    taskNodeList: { list: [], pagination: {} }, // 节点列表
    taskNodeTermList: [], // 节点的点检列表
    taskNodeParamList: [], // 节点的参数列表
    relationSList: [],
    planInspectionList: [],
    waitApprovalByMeList: [],
    customerList: [],
    taskNodeWaitInsList: [],
    insTaskNodeAnnexList: [],
    relativedDeviceStandardList: [],
    inspectionTermDetails: {},
    checkResultList: { list: [], pagination: {} },
    paramdReportList: { list: [], pagination: {} },
    msgRuleList: [],
    parameterReportPageList: { list: [], pagination: {} },
  },
  effects: {
    ...autoCreateEffects([
      { //巡检标准 查询
        type: 'operation_service_m_inspection_standard_pageList_post',
        api: operation_service_m_inspection_standard_pageList_post,
        handle: 'content',
        key: 'inspectionList'
      },
      { //巡检标准 新增或更新
        type: 'operation_service_m_inspection_standard_addEdit_patch',
        api: operation_service_m_inspection_standard_addEdit_patch,
        handle: 'success'
      },
      { //巡检标准 删除
        type: 'operation_service_m_inspection_standard_delete_post',
        api: operation_service_m_inspection_standard_delete_post,
        handle: 'success'
      },
      { //巡检标准 id查询
        type: 'operation_service_m_inspection_standard_detail_id_get',
        api: operation_service_m_inspection_standard_detail_id_get,
        key: 'inspectionDetails'
      },
      { // 点检项 列表
        type: 'operation_service_m_standard_term_pageList_post',
        api: operation_service_m_standard_term_pageList_post,
        handle: 'content',
        key: 'inspectionTermList'
      },
      { //点检项  新增或更新
        type: 'operation_service_m_standard_term_addEdit_patch',
        api: operation_service_m_standard_term_addEdit_patch,
        handle: 'success',
        key: 'inspectionTermAdd'
      },
      { //点检项 删除
        type: 'operation_service_m_standard_term_delete_post',
        api: operation_service_m_standard_term_delete_post,
        handle: 'success'
      },
      { //点检项 id查询
        type: 'operation_service_m_standard_term_detail_id_get',
        api: operation_service_m_standard_term_detail_id_get,
        key: 'inspectionTermDetails'
      },
      { // 计划列表
        type: 'operation_service_m_inspection_plan_pageList_post',
        api: operation_service_m_inspection_plan_pageList_post,
        key: 'insPlanList',
        handle: 'content'
      },
      { // 获取计划编号
        type: 'operation_service_m_inspection_plan_getPlanNumber_get',
        api: operation_service_m_inspection_plan_getPlanNumber_get,
        key: 'inspectionCode'
      },
      { // 获取角色列表
        type: 'account_service_role_page_post',
        api: account_service_role_page_post,
        key: 'roleList',
        handle: 'content'
      },
      {// 计划节点表的添加
        type: 'operation_service_m_inspection_plan_node_addEdit_patch',
        api: operation_service_m_inspection_plan_node_addEdit_patch,
        handle: 'success'
      },
      {// 计划节点表移除
        type: 'operation_service_m_inspection_plan_node_delete_post',
        api: operation_service_m_inspection_plan_node_delete_post,
        handle: 'success',
      },
      {// 计划节点上下移动
        type: 'operation_service_m_inspection_plan_node_move_patch',
        api: operation_service_m_inspection_plan_node_move_patch,
        handle: 'success',
      },
      {// 计划节点列表
        type: 'operation_service_m_inspection_plan_node_pageList_post',
        api: operation_service_m_inspection_plan_node_pageList_post,
        handle: 'content',
        key: 'PlanNodeList'
      },
      {// 计划新增
        type: 'operation_service_m_inspection_plan_addEdit_patch',
        api: operation_service_m_inspection_plan_addEdit_patch,
        handle: 'success'
      },
      {// 计划暂停
        type: 'operation_service_m_inspection_plan_pauseStart_id_delete',
        api: operation_service_m_inspection_plan_pauseStart_id_delete,
        handle: 'success'
      },
      {// 计划详情
        type: 'operation_service_m_inspection_plan_detail_id_get',
        api: operation_service_m_inspection_plan_detail_id_get,
        key: 'planDetail'
      },
      {// 计划审核
        type: 'operation_service_m_inspection_plan_approval_patch',
        api: operation_service_m_inspection_plan_approval_patch,
        handle: 'success'
      },
      { // 计划撤回
        type: 'operation_service_m_inspection_plan_withdraw_id_delete',
        api: operation_service_m_inspection_plan_withdraw_id_delete,
        handle: 'success'
      },
      {// 计划节点列表选择标准
        type: 'operation_service_m_inspection_plan_node_selectInspectionStandard_patch',
        api: operation_service_m_inspection_plan_node_selectInspectionStandard_patch,
        handle: 'success'
      },
      // {// 待我审核列表
      //   type: 'common_service_m_audit_pageList_post',
      //   api: common_service_m_audit_pageList_post,
      //   handle: 'content',
      //   key: 'approvalByMeList'
      // },
      {// 待我审核列表撤销
        type: 'common_service_m_audit_nodeRevoke_auditId_delete',
        api: common_service_m_audit_nodeRevoke_auditId_delete,
        handle: 'success'
      },
      { //点检项 上下移动
        type: 'operation_service_m_standard_term_move_patch',
        api: operation_service_m_standard_term_move_patch,
      },
      { // 关联表 列表
        type: 'operation_service_m_standard_equipment_relation_pageList_post',
        api: operation_service_m_standard_equipment_relation_pageList_post,
        handle: 'content',
        key: 'inspectionRelationList'
      },
      { //关联表  新增或更新
        type: 'operation_service_m_standard_equipment_relation_add_patch',
        api: operation_service_m_standard_equipment_relation_add_patch,
        handle: 'success'
      },
      { //关联表 删除
        type: 'operation_service_m_standard_equipment_relation_delete_post',
        api: operation_service_m_standard_equipment_relation_delete_post,
        handle: 'success'
      },
      { //关联表 删除
        type: 'operation_service_m_standard_equipment_relation_delete_post',
        api: operation_service_m_standard_equipment_relation_delete_post,
        handle: 'success'
      },
      {// 任务列表
        type: 'operation_service_m_inspection_task_pageList_post',
        api: operation_service_m_inspection_task_pageList_post,
        handle: 'content',
        key: 'taskList'
      },
      {// 任务详情
        type: 'operation_service_m_inspection_task_detail_id_get',
        api: operation_service_m_inspection_task_detail_id_get,
        key: 'taskDetail'
      },
      {// 任务详情节点列表
        type: 'operation_service_m_inspection_task_node_pageList_post',
        api: operation_service_m_inspection_task_node_pageList_post,
        handle: 'content',
        key: 'taskNodeList'
      },
      {// 任务详情节点的点检列表
        type: 'operation_service_m_inspection_task_node_term_pageList_post',
        api: operation_service_m_inspection_task_node_term_pageList_post,
        // handle: 'content',
        key: 'taskNodeTermList'
      },
      {// 任务详情节点的设备参数列表
        type: 'operation_service_m_inspection_task_node_term_parameterPage_post',
        api: operation_service_m_inspection_task_node_term_parameterPage_post,
        // handle: 'content',
        key: 'taskNodeParamList'
      },
      {// 任务关闭或恢复
        type: 'operation_service_m_inspection_task_closeRecovery_id_get',
        api: operation_service_m_inspection_task_closeRecovery_id_get,
        handle: 'success'
      },
      { // 关联表 列表不分页
        type: 'operation_service_m_standard_equipment_relation_pageList_post_plan',
        api: operation_service_m_standard_equipment_relation_pageList_post,
        key: 'relationSList'
      },
      { //巡检标准 不分页
        type: 'operation_service_m_inspection_standard_pageList_post_plan',
        api: operation_service_m_inspection_standard_pageList_post,
        key: 'planInspectionList'
      },
      {
        type: 'operation_service_m_inspection_plan_autditPageList_post',
        api: operation_service_m_inspection_plan_autditPageList_post,
        handle: 'content',
        key: 'approvalByMeList'
      },
      {
        type: 'operation_service_m_inspection_plan_autditPageList_post_wait',
        api: operation_service_m_inspection_plan_autditPageList_post,
        key: 'waitApprovalByMeList'
      },
      {
        type: 'common_service_t_customer_info_post',
        api: common_service_t_customer_info_post,
        key: 'customerList'
      },
      {// 任务详情节点列表未检总数
        type: 'operation_service_m_inspection_task_node_pageList_post_count',
        api: operation_service_m_inspection_task_node_pageList_post,
        // handle: 'content',
        key: 'taskNodeWaitInsList'
      },
      {
        type: 'operation_service_m_inspection_task_node_term_enclosurePageList_post',
        api: operation_service_m_inspection_task_node_term_enclosurePageList_post,
        key: 'insTaskNodeAnnexList'
      },
      {
        type: 'operation_service_m_inspection_standard_getStandard_post',
        api: operation_service_m_inspection_standard_getStandard_post,
        key: 'relativedDeviceStandardList'
      },
      {
        type: 'operation_service_m_inspection_task_updateToStart_id_get',
        api: operation_service_m_inspection_task_updateToStart_id_get,
        handle: 'success'
      },
      {// 任务详情节点的点检列表
        type: 'operation_service_m_inspection_task_node_term_pageList_post_page',
        api: operation_service_m_inspection_task_node_term_pageList_post,
        handle: 'content',
        key: 'checkResultList'
      },
      {// 任务详情节点的设备参数分页列表
        type: 'operation_service_m_inspection_task_node_term_parameterPage_post_page',
        api: operation_service_m_inspection_task_node_term_parameterPage_post,
        handle: 'content',
        key: 'paramdReportList'
      },
      {// 消息规则列表
        type: 'common_service_msg_rule_post',
        api: common_service_msg_rule_post,
        // handle: 'content',
        key: 'msgRuleList'
      },
      {
        //报表管理列表
        type: 'device_service_m_operation_parameter_report_pageList_post',
        api: device_service_m_operation_parameter_report_pageList_post,
        handle: 'content',
        key: 'parameterReportPageList'
      }
    ]),
  },
  reducers: {
    setModelsState(state, action) {
      return {
        ...state,
        ...action.payload,
      };
    }

  },
};