import request from '@/utils/request'

/*查询用户列表-下拉列表 - 无权限
* userName : '', 名称
* userType: '',  0.系统 1.老师 2.学生
*/
export function systemUserSelectUser(data) {
  return request({
    url: '/system/user/dropList',
    method: 'post',
    data: data
  })
}
/*查询用户列表-下拉列表 - 有数据权限
* userName : '', 名称
* userType: '',  0.系统 1.老师 2.学生
*/
export function systemUserDropDateAuthList(data) {
  return request({
    url: '/system/user/dropDateAuthList',
    method: 'post',
    data: data
  })
}
//实验室配置-查询用户列表-下拉列表带权限
export function systemUserDropAuthList(data) {
  return request({
    url: '/system/user/dropAuthList',
    method: 'post',
    data: data
  })
}



//获取实验室列表
export function listInfo(query) {
  return request({
    url: '/laboratory/subject/listInfo',
    method: 'get',
    params: query
  })
}

//获取当前账号学院数据
export function filterDept(query) {
  return request({
    url: '/system/dept/filterDept',
    method: 'get',
    params: query
  })
}

// 查询实验室类型下啦列表
export function queryOption(data) {
  return request({
    url: '/laboratory/labMold/queryOption/',
    method: 'post',
    data: data
  })
}

//获取检查单位
export function treeselect(query) {
  return request({
    url: '/system/dept/treeselect',
    method: 'get',
    params: query
  })
}

//查询学院列表(根据数据权限)
export function getDeptNoAuthList(data) {
  return request({
    url: '/system/dept/getDeptNoAuthList?deptType=1',
    method: 'get',
    data: data
  })
}

/*=================================V3=================================*/
//根据名称查询数据权限范围内的实验室(下拉列表)
export function subjectList(data) {
  return request({
    url: '/system/subject/getListByPower',
    method: 'post',
    data: data
  })
}
//根据名称查询数据权限范围内的实验室(带相信信息)
export function laboratorySubRelInfoGetRelListByPower(data) {
  return request({
    url: '/laboratory/subRelInfo/getRelListNotAuth',
    method: 'post',
    data: data
  })
}
//查询当前登录人所属院校的实验室列表
export function laboratorySubRelInfoSelectUserBySubPage(data) {
  return request({
    url: '/laboratory/subRelInfo/selectUserBySubPage',
    method: 'post',
    data: data
  })
}

/*                分类获取公共配置
* category        1.系统参数 2.公共配置
* configType      1.基础配置 2.管控一体机 3.化学品终端 4.小程序配置 5.开发配置 6.首页配置
*/
export function getConfigByType(data) {
  return request({
    url: '/system/config/info/getConfigByType',
    method: 'post',
    data: data
  })
}

/*                分类获取公共配置列表
* category        1.系统参数 2.公共配置(系统参数页面 传1)
* configType      1.基础配置 2.管控一体机 3.化学品终端 4.小程序配置 5.开发配置 6.首页配置(系统参数页面 传0)
*/
export function getConfigList(data) {
  return request({
    url: '/system/config/info/list',
    method: 'post',
    data: data
  })
}

// 部门列表
export function getDeptList(data) {
  return request({
    url: '/system/dept/list',
    method: 'post',
    data: data
  })
}

//组织架构(有数据权限)
export function systemDeptOrganizeStructureByDept(data) {
  return request({
    url: '/system/dept/organizeStructureByDept',
    method: 'post',
    data: data
  })
}

// 无权限-部门联级列表
export function systemDeptOrganizeStructure(data) {
  return request({
    url: '/system/dept/organizeStructure',
    method: 'post',
    data: data
  })
}

/*                部门下拉列表(无数据权限)
* deptName        名称
* level           查询级别
* deptType        1.学院 0.非学院
*/
export function getDeptDropList(data) {
  return request({
    url: '/system/dept/dropList',
    method: 'post',
    data: data
  })
}

// 新增部门
export function setDeptAdd(data) {
  return request({
    url: '/system/dept/add',
    method: 'post',
    data: data
  })
}

// 编辑部门
export function setDeptUpdate(data) {
  return request({
    url: '/system/dept/update',
    method: 'post',
    data: data
  })
}

// 删除部门
export function setDeptDelete(data) {
  return request({
    url: '/system/dept/delete',
    method: 'post',
    data: data
  })
}

// 部门排序
export function setDeptSort(data) {
  return request({
    url: '/system/dept/sort',
    method: 'post',
    data: data
  })
}

// 获取用户列表 userType 0.系统 1.教职工 2.学生 3.大屏(暂无用处)
export function systemUserList(data) {
  return request({
    url: '/system/user/list',
    method: 'post',
    data: data
  })
}
// 获取用户列表(用于系统用户列表-同时支持查询多个类型) userTypes [0,3,4] 0.系统 3.院级大屏 4.校级大屏
export function systemUserUserTypeList(data) {
  return request({
    url: '/system/user/userTypeList',
    method: 'post',
    data: data
  })
}

//新增用户数据
export function systemUserAdd(data) {
  return request({
    url: '/system/user/add',
    method: 'post',
    data: data
  })
}

//编辑用户数据
export function systemUserUpdate(data) {
  return request({
    url: '/system/user/update',
    method: 'post',
    data: data
  })
}

//修改用户状态(启用/停用&在职/离职)
export function systemUserEditState(data) {
  return request({
    url: '/system/user/editState',
    method: 'post',
    data: data
  })
}

//修改密码
export function systemUserEditPasswd(data) {
  return request({
    url: '/system/user/editPasswd',
    method: 'post',
    data: data
  })
}

//删除用户
export function systemUserDelete(data) {
  return request({
    url: '/system/user/delete',
    method: 'post',
    data: data
  })
}

//获取用户详情
export function systemUserDetail(query) {
  return request({
    url: '/system/user/detail',
    method: 'get',
    params: query
  })
}

//获取个人信息
export function systemUserProfile(query) {
  return request({
    url: '/system/user/profile',
    method: 'get',
    params: query
  })
}

//重置密码
export function systemUserResetPasswd(data) {
  return request({
    url: '/system/user/resetPasswd',
    method: 'post',
    data: data
  })
}


/*                      自定义用户查询-不带分页
* userType              0.系统用户 1.教职工 2.学生  (必传)
* userName              用户名
* mobile                手机号
* cardNum               卡号
* account               账号
* userIds               指定用户IDS
* selectedUserIds       过滤用户IDS
* pageSize              不传默认返回10条
*/
export function systemUserSelect(data) {
  return request({
    url: '/system/user/select',
    method: 'post',
    data: data
  })
}

/*                      自定义用户查询-带分页
* userType              0.系统用户 1.教职工 2.学生  (必传)
* userName              用户名
* searchValue           用户名/手机号/卡号
* mobile                手机号
* cardNum               卡号
* account               账号
* userIds               指定用户IDS
* selectedUserIds       过滤用户IDS
* pageSize              不传默认返回10条
*/
export function systemUserSelectByPage(data) {
  return request({
    url: '/system/user/selectByPage',
    method: 'post',
    data: data
  })
}

/*                自定义获取专业/班级下拉列表
* type            1.专业 2.班级 (必传)
* referId         父类ID(院系ID,专业ID)
* name            名称
* state           状态
*/
export function systemUserMajorSelect(data) {
  return request({
    url: '/system/user/major/select',
    method: 'post',
    data: data
  })
}

//添加-更新人脸
export function systemUserFaceAddOrUpdate(data) {
  return request({
    url: '/system/user/face/addOrUpdate',
    method: 'post',
    data: data
  })
}

//检测人脸
export function systemUserFaceCheckFace(data) {
  return request({
    url: '/system/user/face/checkFace',
    method: 'post',
    data: data
  })
}

//人脸信息详情
export function systemUserFaceAddOrInfo(query) {
  return request({
    url: '/system/user/face/info',
    method: 'get',
    params: query
  })
}

//通用上传接口
export function systemFileUpload(data) {
  return request({
    url: '/system/file/upload',
    method: 'post',
    data: data
  })
}

//商户下拉列表
export function tenantDropList(data) {
  return request({
    url: '/system/tenant/dropList',
    method: 'post',
    data: data
  })
}

//认证信息下拉列表
export function authCustomerDropList(data) {
  return request({
    url: '/auth/customer/dropList',
    method: 'post',
    data: data
  })
}

//角色下拉列表
export function systemRoleDropList(data) {
  return request({
    url: '/system/role/dropList',
    method: 'post',
    data: data
  })
}

//告警方式下拉列表
export function iotAlarmTypeSelect(data) {
  return request({
    url: '/iot/alarm/type/select',
    method: 'post',
    data: data
  })
}

/******************楼栋楼层*******************/
//楼栋tree列表
export function systemBuildingGetTreeList(data) {
  return request({
    url: '/system/building/getTreeList',
    method: 'post',
    data: data
  })
}

/*根据校区/楼栋/楼层查询实验室列表
  deptId:'校区查询'
  buildId:'楼栋查询'
  floorId:'楼层查询'
*/
export function laboratorySubRelInfoGetListByFloor(data) {
  return request({
    url: '/laboratory/subRelInfo/getListByFloor',
    method: 'post',
    data: data
  })
}

// 查询实验室类型列表(不带分页)
export function laboratoryClassMoldGetList(data) {
  return request({
    url: '/laboratory/classMold/getList',
    method: 'post',
    data: data
  })
}

// 查询安全分级列表(不带分页)
export function laboratoryClassLevelGetList(data) {
  return request({
    url: '/laboratory/classLevel/getList',
    method: 'post',
    data: data
  })
}

// 查询安全分类列表(不带分页)
export function laboratoryClassTypeGetList(data) {
  return request({
    url: '/laboratory/classType/getList',
    method: 'post',
    data: data
  })
}

/* 查询楼栋楼层下拉列表(不带分页)
* type        1.校区 2.楼栋 3.楼层
*/
export function systemBuildingGetOptList(data) {
  return request({
    url: '/system/building/getOptList',
    method: 'post',
    data: data
  })
}
// 查询楼层下房间列表
export function systemRoomInfoGetList(data) {
  return request({
    url: '/system/roomInfo/getList',
    method: 'post',
    data: data
  })
}

//查询部门下拉树
export function systemDeptList(data) {
  return request({
    url: '/system/dept/list',
    method: 'post',
    data: data
  })
}

//查询职位(身份)-下拉列表
export function systemPostSelect(query) {
  return request({
    url: '/system/post/select',
    method: 'get',
    params: query
  })
}

//获取-小铃铛列表
export function systemNoticeGetNoticeList(query) {
  return request({
    url: '/system/notice/getNoticeList',
    method: 'get',
    params: query
  })
}
//获取-小铃铛数量
export function systemNoticeGetNoticeCount(query) {
  return request({
    url: '/system/notice/getNoticeCount',
    method: 'get',
    params: query
  })
}
//获取-小铃铛详情
export function systemNoticeGetNoticeDetail(query) {
  return request({
    url: '/system/notice/getNoticeDetail',
    method: 'get',
    params: query
  })
}
//获取系统消息类型
export function systemNoticeGetNoticeType(query) {
  return request({
    url: '/system/notice/getNoticeType',
    method: 'get',
    params: query
  })
}
/*=================================物联相关=================================*/
//传感器-查询
export function iotSensorFindBySubId(query) {
  return request({
    url: '/iot/sensor/findBySubId',
    method: 'get',
    params: query
  })
}
/* 硬件-查询
* floorId 查询楼层内硬件  或   passageway 查询楼道内硬件
* hardwareTypeKey 硬件类型key
* */

export function iotHardwareFindByType(data) {
  return request({
    url: '/iot/hardware/findByType',
    method: 'post',
    data: data
  })
}
//硬件-开关
export function iotHardwareOperatingHardware(query) {
  return request({
    url: '/iot/hardware/operatingHardware',
    method: 'get',
    params: query
  })
}
//连接管理-详情
export function systemLinkDetail(query) {
  return request({
    url: '/system/link/detail',
    method: 'get',
    params: query
  })
}
//连接管理-下拉菜单
export function systemLinkDropList(data) {
  return request({
    url: '/system/link/dropList',
    method: 'post',
    data: data
  })
}
//post链接调用接口
export function menuLinkGet(url,query) {
  return request({
    url: url,
    method: 'get',
    params: query
  })
}
//get链接调用接口
export function menuLinkPost(url,data) {
  return request({
    url: url,
    method: 'post',
    data: data
  })
}
//查询当前正在发生的预案
export function laboratoryBigViewSelectTriggerInfo(query) {
  return request({
    url: '/laboratory/bigView/selectTriggerInfo',
    method: 'get',
    params: query
  })
}
//按类型查询模板消息下拉列表
export function iotAlarmTemplateFindList(data) {
  return request({
    url: '/iot/alarm/template/findList',
    method: 'post',
    data: data
  })
}
//硬件设备-根据类型查询物联设备
export function iotDeviceFindByType(data) {
  return request({
    url: '/iot/device/findByType',
    method: 'post',
    data: data
  })
}
//喇叭播放文字
export function iotSpeakerPlayText(query) {
  return request({
    url: '/iot/speaker/playText',
    method: 'get',
    params: query
  })
}
//编辑用户数据(无权限-用于个人信息修改)
export function systemUserEditUser(data) {
  return request({
    url: '/system/user/editUser',
    method: 'post',
    data: data
  })
}


