236 Commits 7ae4a35d9d ... 001d548f74

Auteur SHA1 Bericht Datum
  xiayu3 001d548f74 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  xiayu3 9eed2c80c4 [FE]修改各页面接口&用户管理编辑以及弹窗样式 4 jaren geleden
  xiayu3 f147146dc8 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  xiayu3 bd1c28cc0c [FE]:提交用户管理界面弹窗内容以及接口更新 4 jaren geleden
  chenxr3 4b37da7ef4 [FE]首页人脸识别 视频监控布局 4 jaren geleden
  xiayu3 6b00af3f88 [FE]修改视频监控组件样式&新增用户管理弹出框 4 jaren geleden
  xiayu3 7a90e5d7ad Merge branch 'dev-security' of http://10.1.235.20:3000/asiainfo/ebc into dev-security 4 jaren geleden
  xiayu3 fddda04ed2 [FE]新增用户管理弹出框&更改视频监控组件样式 4 jaren geleden
  xiayu3 264c3ba3d5 Merge branch 'dev-security' of http://10.1.235.20:3000/asiainfo/ebc into dev-security 4 jaren geleden
  xiayu3 5cb880c67a [FE]更改视频监控组件以及用户管理界面新增用户弹出框 4 jaren geleden
  liuwenxun 9886a6c12e [FE]整合人脸审核页面到用户管理 4 jaren geleden
  liuwenxun 6b710a982f Merge remote-tracking branch 'origin/dev-security' into dev-security 4 jaren geleden
  liuwenxun b9c49e6225 [FE]统计AI报警未处理的数据 4 jaren geleden
  liuwenxun b700661ec4 [FE]AI报警表格调整 4 jaren geleden
  liuwenxun c70214f3d4 [FE]AI报警徽标调整 4 jaren geleden
  liuwenxun f85324acbe Merge remote-tracking branch 'origin/dev-security' into dev-security 4 jaren geleden
  liuwenxun 6571f93fd9 [FE]AI报警处理,AI报警角标,进出记录查询修改 4 jaren geleden
  liuwenxun 8f4b50aca9 [FE]处理AL报警详情无法点开的问题 4 jaren geleden
  liuwenxun 5b51d9d4bd [FE]处理videoInfo为空时,详情页面无法点击的问题 4 jaren geleden
  xiayu3 b53ad37d3c [FE]:修改目录 4 jaren geleden
  xiayu3 cb769b3992 Merge branch 'dev-security' of http://10.1.235.20:3000/asiainfo/ebc into dev-security 4 jaren geleden
  xiayu3 2233772536 [FE]:修改视频监控样式 4 jaren geleden
  xiayu3 3cbe6f2c39 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  xiayu3 67f5214a9a Merge branch 'dev-security' 4 jaren geleden
  wangchao 12572cf5a1 考勤详情显示格式修改bug 4 jaren geleden
  chenxr3 d78b7bdffa 删除debugger 4 jaren geleden
  konghl 9f50c9fa97 修改问题 4 jaren geleden
  wangdong6 0c298d1922 修改AI识别处理服务 4 jaren geleden
  konghl 475afbbf9c 修改问题 4 jaren geleden
  konghl e31740f33e 新增报警详情的接口 4 jaren geleden
  wangdong6 e477401879 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangdong6 dc68bfa2ea 修改AI识别处理服务 4 jaren geleden
  wangdong6 29063f2405 增加场景设备分页查询服务 4 jaren geleden
  wangchao 6a9e5a5391 修改进出记录bug 4 jaren geleden
  konghl b853fa9490 修改考勤类型必填的问题 4 jaren geleden
  konghl 902b99be6a 修改问题 4 jaren geleden
  konghl eed12970cd 新增AI报警kafka消费 4 jaren geleden
  wangdong6 83a580112c 修改AI处理结果 4 jaren geleden
  wangdong6 296d4992b4 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangdong6 526e01161f 增加考勤打卡服务 4 jaren geleden
  wangdong6 2274a0b5a3 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangdong6 366cc07942 修改AI识别功能 4 jaren geleden
  wangdong6 f437841399 修改AI识别功能 4 jaren geleden
  wangchao 1a8e2463b5 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 6fb2eb5da1 AI报警接口增加处理人返回值与报警类型name返回值 4 jaren geleden
  wangchao 173425e9aa Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao cc86f342c0 进出记录返回参数查询修改 4 jaren geleden
  wangchao 392d7269c4 进出记录、详情 查询修改 4 jaren geleden
  wangchao 9720d09362 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 19896d67fd 进出记录、详情 查询 4 jaren geleden
  wangchao 3c8ced1379 进出记录、详情 查询 4 jaren geleden
  konghl 0f7ad3266b 新增批量获取文件的路径 4 jaren geleden
  wangchao b57d80b691 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 83af37e1b4 考勤管理 4 jaren geleden
  wangchao c1a17c529b Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 9025dc6284 修改日报bug 4 jaren geleden
  wangchao 0bf75d3a8d Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao cf7b6cdfa4 AI接口提交 4 jaren geleden
  wangchao cf93c13cfe Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao c539efc81a 导出excel 4 jaren geleden
  chenxr3 c5de3eedce 月考勤数据查询接口修改bug 4 jaren geleden
  konghl d1691caa94 工单申请修改用户和部门 4 jaren geleden
  wangchao 1690e0e21b 修改考勤查询日报bug 4 jaren geleden
  wangdong6 0584159bd1 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangdong6 f02a5c9889 修改考勤规则查询接口 4 jaren geleden
  wangdong6 013e377cef 修改考勤规则查询接口 4 jaren geleden
  konghl 2ac7393605 重构人员轨迹查询 4 jaren geleden
  konghl 190e8a2ec0 新增工单申请及审批接口 4 jaren geleden
  wangdong6 a0a75ce1c6 修改考勤规则保存接口 4 jaren geleden
  wangchao 208cc9c6ed Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao eb0f593fc9 查询报表修改参数 4 jaren geleden
  wangchao 78caba4d27 考勤详情修改 4 jaren geleden
  wangchao 69f40fa73d Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 6ff5fe626a 考勤报告接收前台参数方式修改 4 jaren geleden
  wangdong6 5151d2fea9 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangdong6 9a5dcf3200 封装考勤规则管理接口 4 jaren geleden
  zhaolx5 84e32ed3ca 解决打包失败的问题 4 jaren geleden
  zhaolx5 ac019a0444 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  zhaolx5 d80c144412 变更ipu-cache的版本号 4 jaren geleden
  konghl 5c299da82a 问题修改 4 jaren geleden
  chenxr3 c65072f9be 定位提交 4 jaren geleden
  konghl 9d8fd7b88a 增加设备和围栏的判断字段 4 jaren geleden
  wangchao 9773787bd2 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 0c3414ba5f 配置文件增加注释 4 jaren geleden
  wangchao 62a630e635 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 59071e3124 增加空格 4 jaren geleden
  konghl 4b9cfc964f 新增mock工程 4 jaren geleden
  konghl 8ff2333bdb 修改配置文件,用于上传服务器 4 jaren geleden
  konghl 35e8568374 修改项目名称,用于上传服务器 4 jaren geleden
  konghl 296cdba193 重构后台系统,仅用于上传服务器 4 jaren geleden
  konghl 0122efbabc 重构后台系统,仅用于上传服务器 4 jaren geleden
  konghl 9a39799cc0 部署服务器,修改配置文件 4 jaren geleden
  konghl ddf35fd300 暂时不启用非实体对象的判断 4 jaren geleden
  chenxr3 7939fc8ace 首页修改提交 4 jaren geleden
  konghl db678770b9 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl bebb2b89fe 人员定位问题修改 4 jaren geleden
  konghl 04ada0e6f8 实时救援问题修改 4 jaren geleden
  wangkang3 33bb67ddb7 提交 4 jaren geleden
  chenxr3 b15b5e27ad 首页修改提交 4 jaren geleden
  konghl 8b281e8053 修改pom,排除登录验证 4 jaren geleden
  konghl cb0c0e8182 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl 53804e97f6 修改镜屏推送信息 4 jaren geleden
  konghl 6809ddead2 重构实时报警和历史报警 4 jaren geleden
  konghl 2363abc631 修改镜屏topic 4 jaren geleden
  konghl 6c328c4398 轨迹查询重构 4 jaren geleden
  konghl b0ee3a41b4 历史轨迹回放重构,增加定时任务判断设备离线 4 jaren geleden
  chenxr3 622b446cee 首页修改提交 4 jaren geleden
  chenxr3 4756df9027 修改提交 4 jaren geleden
  konghl 67e75e92ff 删除枚举等,重构人员定位 4 jaren geleden
  chenxr3 563af28335 修改提交 4 jaren geleden
  konghl 08a6631852 修改设备类型 4 jaren geleden
  konghl c183618ccb Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl 2387b3f8e5 修改设备 4 jaren geleden
  konghl 7712978aac 修改地图标记类型和设备类型 4 jaren geleden
  konghl 97a96a8da4 中台服务的版本从2.1升级为2.1.5 4 jaren geleden
  chenxr3 626a7699ce 修改提交 4 jaren geleden
  konghl cbbdfa675d 修改北向接口缓存方式 4 jaren geleden
  konghl 387e92633d Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc into master 4 jaren geleden
  konghl 9ec6ffcd72 统一设备管理返回格式 4 jaren geleden
  konghl 46d45bf56c Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc into master 4 jaren geleden
  konghl b61fa21c4f 修改kafka配置文件 4 jaren geleden
  konghl 24f03b82fc 统一设备管理的返回格式 4 jaren geleden
  konghl 8c1bd0a40d Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl d6c9ee7ac9 统一用户管理返回值 4 jaren geleden
  konghl 2667543ebe 修改人员信息返回值 4 jaren geleden
  konghl 33f605d78d Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc into master 4 jaren geleden
  konghl 8c6e6b34db 统一地图标记和终端管理的返回格式 4 jaren geleden
  konghl 6f5679bb9b 修改pom 4 jaren geleden
  konghl f8ec732c5e 配置kafka 4 jaren geleden
  wangchao 91cb23750d Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 7a19aa2489 加入uspa拦截器token验证 4 jaren geleden
  wangchao 605bfe142d Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 0307a3595b 用户管理删除和新增 4 jaren geleden
  wangchao 42c9ce12f2 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 2f12fb16fb 终端绑定 4 jaren geleden
  wangchao a4780fea36 后台项目初始化 4 jaren geleden
  wangchao 1d225203e0 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 7b5bd7fc8f 解绑查询关联关系 4 jaren geleden
  wangchao 5b7ada9d09 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 3abd9ac159 测试 4 jaren geleden
  wangchao 5c2edbe8f2 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 701921f2c7 设备管理分页查询的修改 4 jaren geleden
  wangchao d1e6198a6c 设备管理报错修改 4 jaren geleden
  wangchao cd2a9a0807 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 42136256e1 设备管理模块后台修改 4 jaren geleden
  konghl e5ac90e3cc 修改git忽略文件配置 4 jaren geleden
  konghl 173629f8c7 修改用户管理 4 jaren geleden
  konghl 8b50ef3257 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl 15425d68aa 用户管理功能修改 4 jaren geleden
  wangchao f4c0dc51b9 后台项目安防一体化系统初始化 4 jaren geleden
  konghl e9eb1c63df 修改工程,无错误 4 jaren geleden
  zhaolx5 12e2261ca9 初始化工程 4 jaren geleden
  wangchao 21a1d106ba Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao d53bf64414 修改项目结构 4 jaren geleden
  wangchao 10d36573b9 修改项目结构 4 jaren geleden
  wangkang3 657320fadd 提交 4 jaren geleden
  wangchao 993f22008d Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 1e6aae2459 修改设备添加数据库时间 4 jaren geleden
  konghl aa3a0f690d 实际报警初始化查询 4 jaren geleden
  konghl 3640ccd134 拆分properties配置文件 4 jaren geleden
  konghl 9afed3d1cd 修改镜屏名称、新增查询历史报警救援等 4 jaren geleden
  konghl 52a85f945f 修改日期工具类 4 jaren geleden
  wanyao ee205bc24c 回退 4 jaren geleden
  wanyao 16d1d23fee 主机启动慢的原因测试1 4 jaren geleden
  wangkang3 d34871ad0c Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangkang3 57e2b527f0 修改镜屏uuid 4 jaren geleden
  wangkang3 a4f2b748b2 提交 4 jaren geleden
  wangkang3 07f3e9bb23 修改提交 4 jaren geleden
  konghl 499e7a7d94 合并海图参数 4 jaren geleden
  konghl fe61027787 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc.git 4 jaren geleden
  konghl 70691e3608 增加海图配置参数、重构数据推送、新增轨迹回放接口 4 jaren geleden
  konghl 510c6be0e7 修改人员定位功能数据订阅的解析 4 jaren geleden
  chenxr3 186e9e66f4 轨迹分析页面 4 jaren geleden
  wangchao 71ba3d6e50 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao eb6f6af53e 修改时间工具类与轨迹分析 4 jaren geleden
  wangchao dc4c59924a Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 1c6dc5d9cd 轨迹分析信息查询 4 jaren geleden
  chenxr3 69f534d648 地图标记绘制多边形颜色优化 4 jaren geleden
  konghl ea8cc62767 修改配置文件 4 jaren geleden
  wangchao ffb3b16b49 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 4f36bbe4f2 考勤方法的修改 4 jaren geleden
  wangchao 4ea204d4e4 考勤查询功能详情信息 4 jaren geleden
  wangchao 76ba12e88b Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 8088a9af4d 考勤查询功能 4 jaren geleden
  konghl 0824340e9c 修改人员定位功能 4 jaren geleden
  wangchao ceb2e684c3 测试批量插入 4 jaren geleden
  wangchao a19b9e2346 合并代码 4 jaren geleden
  wangchao d0cdba1219 Merge remote-tracking branch 'origin/master' 4 jaren geleden
  wangchao 14d32a62c0 删除终端时删除终端绑定关系 4 jaren geleden
  wangchao 1d834a772a 删除终端时删除终端绑定关系 4 jaren geleden
  chenxr3 8e19767361 设备类型标识格式更改 4 jaren geleden
  konghl b8a06cf6e6 添加人员的枚举值 4 jaren geleden
  konghl ec04cf2f49 删除.project文件 4 jaren geleden
  konghl 2e3c3b67ca 修改枚举位置 4 jaren geleden
  konghl 004b6f9498 新增定位推送,修改枚举类的位置 4 jaren geleden
  wangkang3 76ef98bf1e 代码提交 4 jaren geleden
  wangchao 63feb0d24b 终端管理页面加ui替换 4 jaren geleden
  wangchao e0572c53e1 关联终端,解绑终端修改,考勤管理架子编写 4 jaren geleden
  wangchao 9ff2237cbf 关联终端,解绑终端修改 4 jaren geleden
  wangchao 7acc72f757 关联终端,解绑终端修改 4 jaren geleden
  wangchao 332e05b5f4 关联终端,解绑终端修改 4 jaren geleden
  wangchao b7fe4ca37c 后台daoimpl的修改 4 jaren geleden
  konghl a3c4950238 修改字段 4 jaren geleden
  konghl 48cb0bbdfa 增加返回参数 4 jaren geleden
  konghl 429b4dbfa9 修改北向接口 4 jaren geleden
  konghl 2e0b6dcd44 增加业务常量 4 jaren geleden
  konghl 12d7573f2e 新增功能:地图标记增删改查 4 jaren geleden
  wangkang3 8f7b30e3be 地图标记模块接口接入 4 jaren geleden
  chenxr3 1013865ef3 设备管理页面 4 jaren geleden
  wangchao 97dca84162 修改设备验证 4 jaren geleden
  wangchao 0c9930d3e3 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao 8bd1ff2323 终端关联,终端解绑等接口 4 jaren geleden
  wangchao d01adabd91 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao d40c613702 修改gis接口等 4 jaren geleden
  wangchao 35550a3e47 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao bd86ba7a47 设备增删改查以及关联与解绑终端 4 jaren geleden
  wangchao a8c7c1cf4d 项目配置修改以及剔除uspa 4 jaren geleden
  wangchao c251472c3d gis获取token接口 4 jaren geleden
  wangchao fba9354c6a Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao 5ff38a7f9b 解决跨域问题 4 jaren geleden
  wangchao 74f666ab34 添加注释,增加轨迹文件等 4 jaren geleden
  wangchao 5f13388aac 修改地图管理文件 4 jaren geleden
  wangchao 41aea6126c Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao 24f1743496 按评审要求修改文件 4 jaren geleden
  wangchao 666c0f81c2 Merge branch 'master' of http://10.1.235.20:3000/asiainfo/ebc 4 jaren geleden
  wangchao 779c6e3826 修改日志文件 4 jaren geleden
  wangchao 0e5599165c 修改日志文件 4 jaren geleden
  wangchao c217a49b3a 更新项目 4 jaren geleden
  wangchao 408a2042a9 后台项目初始化 4 jaren geleden
  wangkang3 7bbf8eb6a8 页面初始化提交 4 jaren geleden
  liuchang 000ebd90c9 更新文件 4 jaren geleden
  liuchang 46a262ab4b 删除 4 jaren geleden
  liuchang d1d76df146 更新提交 4 jaren geleden
  wanyao 1d2d95bc39 删除 4 jaren geleden
  wanyao f74da4a0dd 删除 4 jaren geleden
  wanyao b667fddfbc 初始化 4 jaren geleden

+ 23 - 1
security-protection-platform/src/api/common/index.js

@ -19,7 +19,29 @@ const api = {
19 19
      return resp
20 20
    })
21 21
  },
22
22
  // 获取公司类型列表
23
  getCompanyTypesList () {
24
    return $default.get('/sp/employeeManagement/queryCompanyList').then(resp => {
25
      return resp
26
    }).catch((err) => { return err })
27
  },
28
  // 获取部门类型列表
29
  queryCycleChildOrg (id) {
30
    return $default.get(`/sp/employeeManagement/queryCycleChildOrg?orgId=${id}`).then(resp => {
31
      const data = resp.data.data
32
      if (!Array.isArray(data)) return resp
33
      // 将平铺的数组变为树形数组
34
      resp.data = nest(data)
35
      return resp
36
    }).catch((err) => { return err })
37
  },
38
  // 获取员工列表
39
  getStaffTypesList (id) {
40
    return $default.get(`/sp/employeeManagement/queryEmployeeListByOrgId?orgId=${id}`).then(resp => {
41
      return resp
42
    }).catch((err) => { return err })
43
  },
44
  // 查询单个用户信息详情
23 45
  getEmployeeByOrgid (orgId) {
24 46
    return $default
25 47
      .get(`/sp/workEmployee/queryEmployeeByOrg?orgId=${orgId}`)

+ 3 - 0
security-protection-platform/src/api/system/index.js

@ -187,6 +187,9 @@ const api = {
187 187
  },
188 188
  getDepartments() {
189 189
    return $default.get('/sp/workEmployee/queryAllOrganize')
190
  },
191
  getListFileUrl(data) {
192
    return $default.get(`/sp/uploadFile/getListFileUrl?fileNameList=${data.join(',')}`)
190 193
  }
191 194
}
192 195

+ 16 - 4
security-protection-platform/src/modules/attendance/abnormal/index.vue

@ -8,7 +8,7 @@
8 8
        </div>
9 9
        <div class="keep-row">
10 10
          <span>部门/员工:</span>
11
          <dept-staff-cascader v-model="form" @inited="handleInited" />
11
          <dept-staff-cascader v-model="form" @inited="handleInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
12 12
        </div>
13 13
        <div class="search-btn">
14 14
          <t-button color="primary" @click="handSearchAttendance">查询</t-button>
@ -84,11 +84,14 @@ export default {
84 84
    const now = new Date()
85 85
    return {
86 86
      form: {
87
        month: formatDateTime(new Date().setMonth(now.getMonth() - 1), 'yyyy-MM'),
88
        userid: null,
89
        depId: '',
90
        orgId: '',
87 91
        current: 1,
88
        pageSize: 10,
89
        month: formatDateTime(now.setMonth(now.getMonth() - 1), 'yyyy-MM')
92
        pageSize: 10
90 93
      },
91
      total: 40,
94
      total: 0,
92 95
      attendanceModal: false,
93 96
      agreement: '',
94 97
      tableData: [],
@ -98,6 +101,15 @@ export default {
98 101
    }
99 102
  },
100 103
  methods: {
104
    getDailyOrgId(id) {
105
      this.form.orgId = id
106
    },
107
    getDailyDepId(id) {
108
      this.form.depId = id
109
    },
110
    getDailyStaffId(id) {
111
      this.form.userid = id
112
    },
101 113
    handleInited() {
102 114
      this.getTableData()
103 115
    },

+ 116 - 41
security-protection-platform/src/modules/attendance/components/DeptStaffCascader/index.vue

@ -1,9 +1,28 @@
1 1
<template>
2
  <t-cascader v-model="staff" :data-source="source" :loader="loadStuffData" :change-on-select="true" />
2
  <div class="row">
3
    <div class="col-3">
4
      <t-select v-model="companyTypeId" width="200px" @change="getOrgId">
5
        <t-option v-for="item in companyTypesList" :key="item.id" :value="item.id">{{ item.name }}</t-option>
6
      </t-select>
7
    </div>
8
    <div class="col-3" style="margin-left:35px">
9
      <!-- <t-select v-model="departmentTypeId" width="200px">
10
            <t-option v-for="item in departmentTypesList" :key="item.id" :value="item.id">{{ item.name }}</t-option>
11
          </t-select> -->
12
      <template>
13
        <t-select-tree v-model="departmentTypeId" :node-data="departmentTypesList" width="200px" node-key="id" @change="getDepId"></t-select-tree>
14
      </template>
15
    </div>
16
    <div class="col-3" style="margin-left:35px">
17
      <t-select v-model="staffTypeId" width="200px" @change="getStaffId">
18
        <t-option v-for="item in staffTypesList" :key="item.id" :value="item.id">{{ item.name }}</t-option>
19
      </t-select>
20
    </div>
21
  </div>
3 22
</template>
4 23
5 24
<script>
6
import commonapi from '@/api/common'
25
import commonApi from '@/api/common'
7 26
export default {
8 27
  props: {
9 28
    value: {
@ -15,7 +34,14 @@ export default {
15 34
  },
16 35
  data() {
17 36
    return {
18
      source: []
37
      source: [],
38
      // 公司、部门、员工、列表
39
      companyTypesList: [],
40
      departmentTypesList: [],
41
      staffTypesList: [],
42
      companyTypeId: '',
43
      departmentTypeId: '',
44
      staffTypeId: ''
19 45
    }
20 46
  },
21 47
  computed: {
@ -30,54 +56,103 @@ export default {
30 56
      }
31 57
    }
32 58
  },
59
  watch: {
60
    companyTypeId (val) {
61
      // 重置部门回显
62
      this.departmentTypeId = ''
63
      // 查询部门列表
64
      this.queryCycleChildOrg(val)
65
    },
66
    departmentTypeId (val) {
67
      // 重置人员回显
68
      this.staffTypeId = ''
69
      // 重置人员列表
70
      this.staffTypesList = []
71
      // 减少查询请求
72
      if (val !== '') {
73
        this.getStaffTypesList(val)
74
      }
75
    }
76
  },
33 77
  created() {
34
    this.getDepartments()
78
    this.getCompanyTypesList()
35 79
  },
36 80
  methods: {
37
38
    getDepartments() {
39
      commonapi.getDepartments().then(resp => {
40
        this.staff = []
41
42
        this.source = resp.data.map(item => {
43
          const children = item.departments.map(dept => {
44
            return {
45
              label: dept.name,
46
              value: dept.id,
47
              children: [],
48
              loading: false
81
    getOrgId() {
82
      console.log(123);
83
      this.$emit('getOrgId', this.companyTypeId)
84
    },
85
    getDepId() {
86
      this.$emit('getDepId', this.departmentTypeId)
87
    },
88
    getStaffId() {
89
      this.$emit('getStaffId', this.staffTypeId)
90
    },
91
    // 向服务器发送请求获取公司类型列表数据
92
    async getCompanyTypesList () {
93
      const res = await commonApi.getCompanyTypesList()
94
      if (res.status === 200) {
95
        this.companyTypesList = res.data.data
96
      } else {
97
        this.$Message.danger('公司类型列表数据获取失败!')
98
      }
99
    },
100
    // 获取部门列表
101
    async queryCycleChildOrg (id) {
102
      const res = await commonApi.queryCycleChildOrg(id)
103
      if (res.status === 200) {
104
        const data = []
105
        // 递归 实现tree组件所需部门数据结构
106
        this.nextDepartment(res.data, data)
107
        // 深拷贝data
108
        const data1 = JSON.parse(JSON.stringify(data))
109
        // 用部门id映射关系代替code与parentCode父子映射关系
110
        data.forEach(item => {
111
          // 删除pid为"-1"的的pid属性,否则tree渲染的时候没有根节点渲染不出来
112
          if (item.pid === '-1') {
113
            delete item.pid
114
          }
115
          item.id = item.orgId
116
          data1.some((item1) => {
117
            if (item.pid === item1.id) {
118
              item.pid = item1.orgId
119
            } else {
120
              return false
49 121
            }
50 122
          })
51
52
          children.unshift({
53
            label: '全部',
54
            value: item.id,
55
            children: [],
56
            loading: false
57
          })
58
59
          return {
123
        })
124
        // eslint-disable-next-line no-return-assign
125
        this.departmentTypesList = data.filter(item => item.data = item.id)
126
      } else {
127
        this.$Message.danger('部门类型列表数据获取失败!')
128
      }
129
    },
130
    // 向服务器发送请求获取用户类型列表数据
131
    async getStaffTypesList (id) {
132
      const res = await commonApi.getStaffTypesList(id)
133
      if (res.status === 200) {
134
        this.staffTypesList = res.data.data
135
      } else {
136
        this.$Message.danger('用户类型列表数据获取失败!')
137
      }
138
    },
139
    // 如果部门还有下级 递归
140
    nextDepartment (data, arr) {
141
      if (data.length > 0) {
142
        data.forEach(item => {
143
          arr.push({
144
            orgId: item.id + '',
145
            id: item.code,
60 146
            label: item.name,
61
            value: item.id,
62
            children
63
          }
147
            pid: item.parentCode
148
          })
149
          this.nextDepartment(item.departments, arr)
64 150
        })
65
66
        // if (this.source.length > 0) {
67
        //   const orgId = this.source[0].value
68
        //   // const depId = this.source[0].children[0].value
69
        //   this.staff = [orgId]
70
        // }
71
72
        this.$emit('inited')
73
      }, err => {
74
        this.$Message.danger('获取部门列表失败!')
75
        console.log(err)
76
      })
151
      }
77 152
    },
78 153
    loadStuffData(item, callback) {
79 154
      item.loading = true
80
      commonapi.getEmployeeByOrgid(item.value).then(res => {
155
      commonApi.getEmployeeByOrgid(item.value).then(res => {
81 156
        console.log(res)
82 157
        let arr = []
83 158

+ 86 - 4
security-protection-platform/src/modules/attendance/report/index.vue

@ -11,7 +11,7 @@
11 11
            </div>
12 12
            <div class="keep-row">
13 13
              <span>部门/员工:</span>
14
              <dept-staff-cascader v-model="dailyForm" @inited="handleDailyInited" />
14
              <dept-staff-cascader v-model="dailyForm" @inited="handleDailyInited" @getOrgId="getDailyOrgId" @getDepId="getDailyDepId" @getStaffId="getDailyStaffId" />
15 15
            </div>
16 16
            <div class="search-btn">
17 17
              <t-button color="primary" @click="handSearchDay">查询</t-button>
@ -41,7 +41,7 @@
41 41
            </div>
42 42
            <div class="keep-row">
43 43
              <span>部门/员工:</span>
44
              <dept-staff-cascader v-model="monthlyForm" />
44
              <dept-staff-cascader v-model="monthlyForm" @getOrgId="getMonthOrgId" @getDepId="getMonthDepId" @getStaffId="getMonthStaffId" />
45 45
            </div>
46 46
            <div class="search-btn">
47 47
              <t-button color="primary" @click="handSearchMonth">查询</t-button>
@ -113,7 +113,6 @@ import atdapi from '@/api/attendance'
113 113
import formatDateTime from '@/utils/formatDateTime.js'
114 114
import AttendanceDialog from '../components/AttendanceDialog'
115 115
import DeptStaffCascader from '../components/DeptStaffCascader'
116
117 116
export default {
118 117
  components: { AttendanceDialog, DeptStaffCascader },
119 118
  data () {
@ -128,7 +127,10 @@ export default {
128 127
      loadDetail: false,
129 128
      loadDailyTable: false,
130 129
      loadMonthTable: false,
131
130
      // 公司、部门、员工、列表
131
      companyTypesList: [],
132
      departmentTypesList: [],
133
      getStaffTypesList: [],
132 134
      monthlyTotal: 0,
133 135
      dailyTotal: 0,
134 136
      monthlyForm: {
@ -150,6 +152,24 @@ export default {
150 152
    }
151 153
  },
152 154
  methods: {
155
    getDailyOrgId(id) {
156
      this.dailyForm.orgId = id
157
    },
158
    getDailyDepId(id) {
159
      this.dailyForm.depId = id
160
    },
161
    getDailyStaffId(id) {
162
      this.dailyForm.userid = id
163
    },
164
    getMonthOrgId(id) {
165
      this.monthlyForm.orgId = id
166
    },
167
    getMonthDepId(id) {
168
      this.monthlyForm.depId = id
169
    },
170
    getMonthStaffId(id) {
171
      this.monthlyForm.userid = id
172
    },
153 173
    handleDailyInited () {
154 174
      // this.getDailyTable()
155 175
    },
@ -178,6 +198,68 @@ export default {
178 198
      this.monthlyForm.current = val
179 199
      this.getMonthTable()
180 200
    },
201
    // // 向服务器发送请求获取公司类型列表数据
202
    // async getCompanyTypesList () {
203
    //   const res = await commonApi.getCompanyTypesList()
204
    //   if (res.status === 200) {
205
    //     this.companyTypesList = res.data.data
206
    //   } else {
207
    //     this.$Message.danger('公司类型列表数据获取失败!')
208
    //   }
209
    // },
210
    // // 获取部门列表
211
    // async queryCycleChildOrg (id) {
212
    //   const res = await commonApi.queryCycleChildOrg(id)
213
    //   if (res.status === 200) {
214
    //     const data = []
215
    //     // 递归 实现tree组件所需部门数据结构
216
    //     this.nextDepartment(res.data, data)
217
    //     // 深拷贝data
218
    //     const data1 = JSON.parse(JSON.stringify(data))
219
    //     // 用部门id映射关系代替code与parentCode父子映射关系
220
    //     data.forEach(item => {
221
    //       // 删除pid为"-1"的的pid属性,否则tree渲染的时候没有根节点渲染不出来
222
    //       if (item.pid === '-1') {
223
    //         delete item.pid
224
    //       }
225
    //       item.id = item.orgId
226
    //       data1.some((item1) => {
227
    //         if (item.pid === item1.id) {
228
    //           item.pid = item1.orgId
229
    //         } else {
230
    //           return false
231
    //         }
232
    //       })
233
    //     })
234
    //     // eslint-disable-next-line no-return-assign
235
    //     this.departmentTypesList = data.filter(item => item.data = item.id)
236
    //   } else {
237
    //     this.$Message.danger('部门类型列表数据获取失败!')
238
    //   }
239
    // },
240
    // // 向服务器发送请求获取用户类型列表数据
241
    // async getStaffTypesList (id) {
242
    //   const res = await commonApi.getStaffTypesList(id)
243
    //   if (res.status === 200) {
244
    //     this.staffTypesList = res.data.data
245
    //   } else {
246
    //     this.$Message.danger('用户类型列表数据获取失败!')
247
    //   }
248
    // },
249
    // // 如果部门还有下级 递归
250
    // nextDepartment (data, arr) {
251
    //   if (data.length > 0) {
252
    //     data.forEach(item => {
253
    //       arr.push({
254
    //         orgId: item.id + '',
255
    //         id: item.code,
256
    //         label: item.name,
257
    //         pid: item.parentCode
258
    //       })
259
    //       this.nextDepartment(item.departments, arr)
260
    //     })
261
    //   }
262
    // },
181 263
    // 重置日报数据
182 264
    resetDailyData() {
183 265
      this.$nextTick(() => {

+ 12 - 2
security-protection-platform/src/modules/system/monitor/HomePageSettings/ShiftCameraDialog.vue

@ -30,7 +30,7 @@
30 30
          <div>
31 31
            <img
32 32
              :class="item.resourceToolId == form.resourceToolId ? 'hover' : ''"
33
              :src="item.pictureUrl"
33
              :src="item.imageUrl"
34 34
              style="height: 120px; width: 158px"
35 35
              alt=""
36 36
            />
@ -129,10 +129,20 @@ export default {
129 129
        nameAsLike: this.searchValue // 设备名称(模糊匹配)
130 130
      }
131 131
      sysapi.getResourceTool(params).then((resp) => {
132
        this.cameraList = resp.data.data.data || []
132
        const res = resp.data.data.data || []
133
        let data = []
134
        res.forEach(item => data.push(item.pictureUrl))
135
        this.getListFileUrl(res, data)
133 136
        this.total = resp.data.data.total
134 137
      })
135 138
    },
139
    async getListFileUrl(res, data) {
140
      const resp = await sysapi.getListFileUrl(data)
141
      res.filter((item, index) => {
142
        item.imageUrl = resp.data.data[index]
143
      })
144
      this.cameraList = res
145
    },
136 146
    groupClick(item) {
137 147
      // 选中更换摄像头
138 148
      this.form.resourceToolName = item.resourceToolName

+ 91 - 19
security-protection-platform/src/modules/usermana/components/modal/addUser.vue

@ -1,33 +1,33 @@
1 1
<template>
2
  <t-modal :visibled.sync="isVisibled" :mask-closable="false">
2
  <t-modal :visibled.sync="isVisibled" :mask-closable="false" width="600px">
3 3
    <template slot="header">
4 4
      <div class="device-modal-title">{{ isEdit?'用户编辑':'新增用户' }}</div>
5 5
    </template>
6 6
    <t-form ref="addUserModal" :model="addUserModal" :rules="addUserModalRules" label-position="right">
7 7
      <t-form-item label="姓名:" prop="name">
8
        <t-input v-model="addUserModal.name" placeholder="请输入姓名"></t-input>
8
        <t-input v-model="addUserModal.name" style="width:300px" placeholder="请输入姓名"></t-input>
9 9
      </t-form-item>
10 10
      <t-form-item label="员工编号:" prop="code">
11
        <t-input v-model="addUserModal.code" placeholder="请输入员工编号"></t-input>
11
        <t-input v-model="addUserModal.code" placeholder="请输入员工编号" style="width:300px"></t-input>
12 12
      </t-form-item>
13 13
      <t-form-item label="公司:" prop="apartments">
14
        <t-select v-model="addUserModal.apartments" placeholder="请选择公司" clearable>
14
        <t-select v-model="addUserModal.apartments" width="300px" placeholder="请选择公司" clearable>
15 15
          <t-option v-for="(item,index) in companyList" :value="item.id" :key="index">{{ item.name }}</t-option>
16 16
        </t-select>
17 17
      </t-form-item>
18 18
      <t-form-item v-if="addUserModal.apartments!==''" label="部门:" prop="organizeCode">
19
        <t-select-tree v-model="addUserModal.organizeCode" :node-data="departmentTypesList" node-value="code" node-key="code"></t-select-tree>
19
        <t-select-tree v-model="addUserModal.organizeCode" :node-data="departmentTypesList" width="300px" node-value="data" node-key="data"></t-select-tree>
20 20
      </t-form-item>
21 21
      <t-form-item label="职务:" prop="mainJobPosition">
22
        <t-select v-model="addUserModal.mainJobPosition" placeholder="请选择职务" clearable>
22
        <t-select v-model="addUserModal.mainJobPosition" width="300px" placeholder="请选择职务" clearable>
23 23
          <t-option v-for="(item,index) in jobPoisitonList" :value="item.code" :key="index">{{ item.value }}</t-option>
24 24
        </t-select>
25 25
      </t-form-item>
26 26
      <t-form-item label="年龄:" prop="birthday">
27
        <t-date-picker v-model="addUserModal.birthday" placeholder="请输入年龄" @date-change="startPickerDateChange"></t-date-picker>
27
        <t-date-picker v-model="addUserModal.birthday" style="width:300px" placeholder="请输入年龄" @date-change="startPickerDateChange"></t-date-picker>
28 28
      </t-form-item>
29 29
      <t-form-item label="手机:" prop="mainWirelessCall">
30
        <t-input v-model="addUserModal.mainWirelessCall" placeholder="请输入11位手机号"></t-input>
30
        <t-input v-model="addUserModal.mainWirelessCall" style="width:300px" placeholder="请输入11位手机号"></t-input>
31 31
      </t-form-item>
32 32
      <t-form-item label="人脸图片:" style="display:flex" prop="facePicture">
33 33
        <div style="display:flex">
@ -49,14 +49,32 @@
49 49
              <span style="color:rgba(0, 0, 0, 0.45)">上传照片</span>
50 50
            </div>
51 51
          </t-upload>
52
          <img v-show="showPicture" :src="showPicture" style="width:120px;height:160px;margin-left:12px"/>
52
          <img v-show="showPicture" :src="showPicture" class="upload-img"/>
53
          <!-- <div v-show="showPicture" class="upload-edit">
54
            修改 </div> -->
55
          <t-upload
56
            v-show="showPicture"
57
            ref="uploader"
58
            :show-uploaded="false"
59
            :allowed-ext="['jpg','jpeg','png']"
60
            :max-size="2048"
61
            :before-upload="$_onUploadBeforeUpload"
62
            multiple
63
            type="drag"
64
            action="http://10.19.90.34:8018/sp/employeeManagement/uploadEmployeePicture"
65
            class="upload-edit"
66
            @success = "$_onUploadSuccess"
67
          >
68
            <div>上传</div>
69
          </t-upload>
70
          <img v-show="showPicture" :src="showPicture" class="upload-edit-img"/>
53 71
        </div>
54 72
        <span style="color:rgba(0, 0, 0, 0.45);font-size:12px">照片格式:jpg、png或bmp文件,且不超过2M</span>
55 73
      </t-form-item>
56 74
    </t-form>
57 75
    <template slot="footer">
58 76
      <t-button @click="resetModalData">取消</t-button>
59
      <t-button v-if="isEdit" :loading="loadingSubmit" color="primary" @click="submitModalData">修改</t-button>
77
      <t-button v-if="isEdit" :loading="loadingSubmit" color="primary" @click="editModalData">修改</t-button>
60 78
      <t-button v-else color="primary" @click="submitModalData">提交</t-button>
61 79
    </template>
62 80
  </t-modal>
@ -167,10 +185,6 @@ export default {
167 185
      this.getCompanyList()
168 186
    }
169 187
  },
170
  created() {
171
    // console.log(this.editUserModal)
172
    // this.addUserModal.apartments = this.editUserModal.field4
173
  },
174 188
  mounted() {
175 189
    this.getJobPositionList()
176 190
  },
@ -202,12 +216,41 @@ export default {
202 216
        }
203 217
      })
204 218
    },
219
    // 修改用户个人信息
220
    editModalData() {
221
      this.loadingSubmit = true
222
      let obj = {
223
        id: this.editUserModal.employeeId, // 主键ID
224
        name: this.addUserModal.name, // 员工姓名
225
        code: this.addUserModal.code, // 员工编号
226
        organizeCode: this.addUserModal.organizeCode, // 部门CODE
227
        mainWirelessCall: this.addUserModal.mainWirelessCall, // 手机号码
228
        mainJobPosition: this.addUserModal.mainJobPosition, // 职务
229
        field1: this.addUserModal.field1, // 照片标识
230
        field4: this.addUserModal.apartments, // 公司ID
231
        birthday: +new Date(this.addUserModal.birthday) // 生日(时间戳)
232
      }
233
      sysapi.editUserDetail(obj).then(res => {
234
        if (res.status === 200) {
235
          this.$Message.success('修改成功!')
236
          this.isVisibled = false
237
          this.resetModalData()
238
          this.$emit('getUserList')
239
        } else {
240
          this.$Message.danger('修改失败!')
241
        }
242
        this.loadingSubmit = false
243
      })
244
    },
205 245
    // 重置表单数据
206 246
    resetModalData () {
207 247
      this.$refs['addUserModal'].resetFields()
208 248
      this.imgUrl = ''
249
      this.isEdit = false
209 250
      this.isVisibled = false
251
      this.showPicture = ''
210 252
    },
253
    // 获得编辑回显数据
211 254
    getCompanyList() {
212 255
      this.$nextTick(() => {
213 256
        this.addUserModal = {
@ -216,11 +259,12 @@ export default {
216 259
          'organizeCode': this.editUserModal.organizationCode, // 部门CODE
217 260
          'mainWirelessCall': this.editUserModal.mainWirelessCall, // 手机号码
218 261
          'mainJobPosition': this.editUserModal.employeePosition, // 职务
219
          'field1': this.editUserModal.field1, // 照片标识
220
          'apartments': this.editUserModal.field4, // 公司ID
262
          'apartments': '', // 公司ID
221 263
          'birthday': formatDateTime(new Date(this.editUserModal.birthday - 0)) // 生日(时间戳)
222 264
        }
223
        // this.isEdit = true
265
        this.addUserModal.apartments = parseInt(this.editUserModal.field4)
266
        this.showPicture = this.editUserModal.pictureUrl// 照片标识
267
        this.isEdit = true
224 268
      })
225 269
    },
226 270
    // 查询职务列表
@ -258,6 +302,9 @@ export default {
258 302
        })
259 303
        // eslint-disable-next-line no-return-assign
260 304
        this.departmentTypesList = data.filter(item => item.data = item.id)
305
        this.$nextTick(() => {
306
          this.addUserModal.organizeCode = this.editUserModal.organizationCode
307
        })
261 308
      } else {
262 309
        this.$Message.danger('部门类型列表数据获取失败!')
263 310
      }
@ -273,7 +320,7 @@ export default {
273 320
            id: item.code,
274 321
            label: item.name,
275 322
            pid: item.parentCode,
276
            code: item.code
323
            data: item.code
277 324
          })
278 325
          this.nextDepartment(item.departments, arr)
279 326
        })
@ -339,8 +386,33 @@ export default {
339 386
<style lang="scss" scoped>
340 387
.demo-upload-list{
341 388
  .upload--drag{
342
  background-color:#FFFFFF
389
  background-color:#FFFFFF;
390
  align-items: center;
391
  justify-content: center;
392
  display: flex
393
}
394
}
395
.upload-img{
396
  width:120px;
397
  height:160px;
398
  margin-left:12px
399
}
400
.upload-edit{
401
  width:120px;
402
  height:160px;
403
  margin-left:12px;
404
  background-color:rgba(0, 0, 0, 0.5);
405
  justify-content: center;
406
  align-items: center;
407
  color: white;
408
  display: flex;
409
  cursor: pointer;
410
  z-index: 2;
343 411
}
412
.upload-edit-img{
413
  margin-left:-120px;
414
  width:120px;
415
  height:160px;
344 416
}
345 417
.picture-upload{
346 418
  display:flex;

+ 1 - 1
security-protection-platform/src/modules/usermana/index.vue

@ -64,7 +64,7 @@
64 64
        </t-pager>
65 65
      </div>
66 66
    </t-card>
67
    <add-user-modal :edit-user-modal="currentEditDevice" :company-list="companyTypesList" :visible.sync="addDeviceModal"></add-user-modal>
67
    <add-user-modal :edit-user-modal="currentEditDevice" :company-list="companyTypesList" :visible.sync="addDeviceModal" @getUserList="getUserList"></add-user-modal>
68 68
    <auditModal :auditshow.sync="auditshow" :auditid="auditid" :company-name="companyName" @refeshUserList="getUserList"></auditModal>
69 69
  </div>
70 70
</template>