diff --git a/web/client/assets/images/hrImg/!.png b/web/client/assets/images/hrImg/!.png new file mode 100644 index 0000000..f9c334f Binary files /dev/null and b/web/client/assets/images/hrImg/!.png differ diff --git a/web/client/assets/images/hrImg/V.png b/web/client/assets/images/hrImg/V.png new file mode 100644 index 0000000..fd5a097 Binary files /dev/null and b/web/client/assets/images/hrImg/V.png differ diff --git a/web/client/assets/images/hrImg/setUp.png b/web/client/assets/images/hrImg/setUp.png new file mode 100644 index 0000000..ea73217 Binary files /dev/null and b/web/client/assets/images/hrImg/setUp.png differ diff --git a/web/client/index.ejs b/web/client/index.ejs index 54e5c56..49ff0b5 100644 --- a/web/client/index.ejs +++ b/web/client/index.ejs @@ -9,7 +9,7 @@ - +
diff --git a/web/client/index.html b/web/client/index.html index b4cac35..cba0f37 100644 --- a/web/client/index.html +++ b/web/client/index.html @@ -2,23 +2,23 @@ - - + + - + - - + + - + - - + + - - + - + - + \ No newline at end of file diff --git a/web/client/src/components/setup.jsx b/web/client/src/components/setup.jsx index c4cd070..a02fd3e 100644 --- a/web/client/src/components/setup.jsx +++ b/web/client/src/components/setup.jsx @@ -9,7 +9,8 @@ function Setup(props) { const { close, tableType, - tableList + tableList, + length } = props; console.log(tableType, @@ -25,7 +26,7 @@ function Setup(props) { ischeck(); }, []); function ischeck(value) { - if (check.length >= 8) { + if (check.length >= length) { if (check.includes(value)) { return false; } else { @@ -49,12 +50,12 @@ function Setup(props) { textAlign: "center", marginLeft: 6, background: - check.length == 8 + check.length == length ? "rgba(40, 123, 255, 1)" : "rgba(176, 176, 176, 1)", }} > - {check.length}/8 + {check.length}/length } diff --git a/web/client/src/sections/humanAffairs/containers/employeeInformation.jsx b/web/client/src/sections/humanAffairs/containers/employeeInformation.jsx new file mode 100644 index 0000000..768ad91 --- /dev/null +++ b/web/client/src/sections/humanAffairs/containers/employeeInformation.jsx @@ -0,0 +1,344 @@ +import React, { useEffect, useState, useRef } from 'react'; +import { connect } from 'react-redux'; +import { Select, SkeletonScreen, Button, Pagination, Skeleton, Form } from '@douyinfe/semi-ui'; +import { IconSearch } from '@douyinfe/semi-icons'; +import '../style.less' +import { Setup } from "$components"; +import moment from 'moment' +import { set } from 'nprogress'; + +const employeeInformation = (props) => { + const { dispatch, actions, history, user, loading, socket, xqMembers } = props + + const { humanAffairs } = actions; + + const form = useRef();//表单 + let [archivesList, setArchivesList] = useState([]); + const [personnelModal, setPersonnelModal] = useState(false);//档案弹框 + const [exportModalVs, setExportModalVs] = useState(false); + const [keyword, setKeyword] = useState('');//搜索内容 + const [keywordTarget, setKeywordTarget] = useState('');//搜索类型 + const [downloadUrl, setDownloadUrl] = useState('') + let [typeChoose, setTypeChoose] = useState(''); + + const [setup, setSetup] = useState(false);//表格设置是否显现 + const [setupp, setSetupp] = useState([]);//实际显示的表格列表 + const [query, setQuery] = useState({ limit: 10, page: 0 }); //页码信息 + const [limits, setLimits] = useState()//每页实际条数 + + const EMPLOYEEINFORMATION = "employeeInformation"; + const tableList = [//表格属性 + { + title: '推送信息', + list: [ + { name: "策略类型", value: "pushWay" }, + { name: "推送机制", value: "noticeWay" }, + { name: "监听设备数量", value: "monitorCount" }, + { name: "累计推送次数", value: "logCount" }, + ] + } + ]; + useEffect(() => { + getMemberSearchList() + + + // attribute(); + // localStorage.getItem(EMPLOYEEINFORMATION) == null + // ? localStorage.setItem( + // EMPLOYEEINFORMATION, + // JSON.stringify(['pushWay','noticeWay','logCount','monitorCount']) + // ) + // : ""; + }, [typeChoose]) + + function getMemberSearchList () {//搜索项企用户 + dispatch(humanAffairs.getMemberList({ keywordTarget, keyword, state: typeChoose })).then((res) => {//搜索项企用户 + if (res.success) { + setArchivesList(res.payload?.data?.rows) + } + }) + } + + function typeOnChange (e) {//角色选择 + setTypeChoose(e.target.value); + } + function seachValueChange (value) { + setKeyword(value) + } + //获取表格属性设置 + function attribute () { + const arr = localStorage.getItem(EMPLOYEEINFORMATION) + ? JSON.parse(localStorage.getItem(EMPLOYEEINFORMATION)) + : []; + + const column = [ + { + title: "关联项目", + dataIndex: "noticeWay", + key: "noticeWay", + render: (_, r, index) => { + return r.noticeWay; + }, + }, + { + title: "创建时间", + dataIndex: "logCount", + key: "logCount", + render: (_, r, index) => { + return (r.logCount + '次') + }, + }, + { + title: "接收人", + dataIndex: "monitorCount", + key: "monitorCount", + render: (_, r, index) => { + return r.monitorCount + }, + }, + { + title: "监听问题", + dataIndex: "pushWay", + key: "pushWay", + render: (_, r, index) => { + return r.pushWay == 'email' ? '邮件通知' : '短信通知'; + }, + }, + { + title: "通知时效", + dataIndex: "text1", + key: "text1", + render: (_, r, index) => { + return r.text1 + }, + }, + { + title: "启用状态", + dataIndex: "text2", + key: "text2", + render: (_, r, index) => { + return r.text2 + }, + }, + { + title: "推送次数", + dataIndex: "time", + key: "time", + render: (_, r, index) => { + return r.time + }, + }, + ]; + for (let i = 0; i < arr.length; i++) { + let colum = column.filter((item) => { + return item.key === arr[i]; + }); + columns.splice(i + 2, 0, colum[0]); + } + setSetupp(columns); + } + return ( + <> +