+
) },
+ { name: "likeFindUserName", label: "隐患发现人" },
+ { name: "hiddenFindTime", label: "隐患发现时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
+ {
+ name: "eqHiddenTypeC",
+ label: "隐患类型",
+ render:
,
+ },
+ {
+ name: "eqEvaState",
+ label: "考评结果",
+ render: FORM_ITEM_RENDER_ENUM.SELECT,
+ items: [
+ { bianma: "1", name: "是" },
+ { bianma: "2", name: "否" },
+ { bianma: "3", name: "考评合格" },
+ { bianma: "4", name: "考评不合格" },
+ ],
+ },
+ {
+ name: "eqSelf",
+ label: "本人是否考评",
+ render: FORM_ITEM_RENDER_ENUM.SELECT,
+ items: [{ bianma: "1", name: "是" }, { bianma: "0", name: "否" }],
+ },
+ { name: "finalDoneTime", label: "考评完成时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
+ ]}
+ form={form}
+ onFinish={getData}
+ />
+
getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.source }),
+ },
+ { title: "隐患描述", dataIndex: "hiddenDesc" },
+ { title: "隐患发现时间", dataIndex: "hiddenFindTime" },
+ { title: "隐患发现人", dataIndex: "findUserName" },
+ { title: "隐患验收人", dataIndex: "finalCheckOr" },
+ {
+ title: "隐患状态",
+ dataIndex: "state",
+ render: (_, record) => getLabelName({ list: HIDDEN_STATE_ENUM, status: record.state }),
+ },
+ { title: "已考评组成员", dataIndex: "alreadyEvaluate" },
+ { title: "待考评组成员", dataIndex: "notEvaluate" },
+ {
+ title: "考评结果",
+ dataIndex: "finalResult",
+ render: (_, record) => {
+ switch (record.finalResult) {
+ case 1:
+ return "考评合格";
+ case 0:
+ return "考评不合格";
+ default:
+ return "考核未完成";
+ }
+ },
+ },
+ {
+ title: "操作",
+ width: 230,
+ fixed: "right",
+ render: (_, record) => (
+
+
+
+ {
+ record.isPermission === 1 && (
+
+ )
+ }
+
+ ),
+ },
+ ]}
+ {...tableProps}
+ />
+
+ {viewEvaluationModalOpen
+ && setViewEvaluationModalOpen(false)} hiddenId={currentHiddenId} url="hiddenEvaluationHiddenEvaluationView" />}
+ {evaluationModalOpen
+ && setEvaluationModalOpen(false)} hiddenId={currentHiddenId} getData={getData} />}
+
+ );
+}
+
+const EvaluationModalComponent = (props) => {
+ const { getUserInfo } = useGetUserInfo();
+ const [form] = Form.useForm();
+ const [list, setList] = useState([]);
+ const isEdit = useRef(false);
+ const getData = async () => {
+ const { data } = await props["hiddenEvaluationHiddenEvaluationView"]({ eqId: props.hiddenId });
+ setList(data);
+ isEdit.current = (!!data?.[0]?.id);
+ const userInfo = await getUserInfo();
+ form.setFieldValue("user", `${userInfo.departmentName}-${userInfo.name}`);
+ };
+
+ useEffect(() => {
+ getData();
+ }, []);
+
+ const onSubmit = async (values) => {
+ const { success } = await props[isEdit ? "hiddenEvaluationHiddenEvaluationUpdate" : "hiddenEvaluationHiddenEvaluationAdd"]({
+ ...values,
+ hiddenId: props.hiddenId,
+ });
+ if (success) {
+ message.success("考评成功");
+ props.onCancel();
+ props.getData();
+ }
+ };
+
+ return (
+
+ ([
+ { label: "考评人员", children: item.evaluateMemberName },
+ {
+ label: "是否符合",
+ children: (() => {
+ switch (item.evaluateResult) {
+ case 1:
+ return "考评合格";
+ case 0:
+ return "考评不合格";
+ default:
+ return "考核未完成";
+ }
+ })(),
+ },
+ ...(item.evaluateResult === 0 ? [{ label: "不符合原因", children: `111`, span: 2 }] : []),
+ ])),
+ ]}
+ />
+ !(formValues.result === 0),
+ },
+ ]}
+ />
+
+ );
+};
+
+const EvaluationModal = Connect([NS_HIDDEN_EVALUATION], true)(EvaluationModalComponent);
+export default Connect([NS_HIDDEN_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/List/index.js b/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/List/index.js
new file mode 100644
index 0000000..2d7c87b
--- /dev/null
+++ b/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/List/index.js
@@ -0,0 +1,73 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Button, Form, Space } from "antd";
+import Search from "zy-react-library/components/Search";
+import Table from "zy-react-library/components/Table";
+import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
+import useTable from "zy-react-library/hooks/useTable";
+import { NS_HIDDEN_EVALUATION } from "~/enumerate/namespace";
+
+const STATE_ENUM = [
+ { bianma: "1", name: "安全类已分配" },
+ { bianma: "2", name: "安全类未分配" },
+ { bianma: "3", name: "环保类已分配" },
+ { bianma: "4", name: "环保类未分配" },
+];
+function List(props) {
+ const [form] = Form.useForm();
+ const { tableProps, getData } = useTable(props["hiddenEvaluationList"], {
+ form,
+ });
+
+ return (
+
+
+
+
(
+ <>
+ {record.hiddenType === "aqyh" && "安全类"}
+ {record.hiddenType === "wshb" && "环保类"}
+ >
+ ) },
+ { title: "安全环保奖惩监管端", dataIndex: "superviseTotal", render: (_, record) => (`${record.superviseDone}/${record.superviseTotal}`) },
+ { title: "安全环保奖惩企业端", dataIndex: "enterpriseTotal", render: (_, record) => (`${record.enterpriseDone}/${record.enterpriseTotal}`) },
+ { title: "隐患排查", dataIndex: "troubleshootTotal", render: (_, record) => (`${record.troubleshootDone}/${record.troubleshootTotal}`) },
+ { title: "隐患快报", dataIndex: "bulletinTotal", render: (_, record) => (`${record.bulletinDone}/${record.bulletinTotal}`) },
+ { title: "消防检查", dataIndex: "fireControlTotal", render: (_, record) => (`${record.fireControlDone}/${record.fireControlTotal}`) },
+ { title: "考评组成员", dataIndex: "members" },
+ {
+ title: "操作",
+ width: 100,
+ fixed: "right",
+ render: (_, record) => (
+
+
+
+ ),
+ },
+ ]}
+ {...tableProps}
+ />
+
+
+ );
+}
+
+export default Connect([NS_HIDDEN_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/index.js b/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/index.js
new file mode 100644
index 0000000..de44bad
--- /dev/null
+++ b/src/pages/Container/Supervision/Enterprise/HiddenEvaluation/index.js
@@ -0,0 +1,9 @@
+function HiddenEvaluation(props) {
+ return (
+
+ {props.children}
+
+ );
+}
+
+export default HiddenEvaluation;
diff --git a/src/pages/Container/Supervision/Enterprise/HiddenView/index.js b/src/pages/Container/Supervision/Enterprise/HiddenView/index.js
new file mode 100644
index 0000000..41db77d
--- /dev/null
+++ b/src/pages/Container/Supervision/Enterprise/HiddenView/index.js
@@ -0,0 +1,11 @@
+import HiddenInfo from "zy-react-library/components/HiddenInfo/gwj";
+
+function HiddenView() {
+ return (
+
+
+
+ );
+}
+
+export default HiddenView;
diff --git a/src/pages/Container/Supervision/Enterprise/components/ViewEvaluationModal/index.js b/src/pages/Container/Supervision/Enterprise/components/ViewEvaluationModal/index.js
new file mode 100644
index 0000000..a32c6c9
--- /dev/null
+++ b/src/pages/Container/Supervision/Enterprise/components/ViewEvaluationModal/index.js
@@ -0,0 +1,60 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Button, Descriptions, Modal } from "antd";
+import { useEffect, useState } from "react";
+import { NS_HIDDEN_EVALUATION } from "~/enumerate/namespace";
+
+const ViewEvaluationModal = (props) => {
+ const [list, setList] = useState([]);
+ const getData = async () => {
+ const { data } = await props["hiddenEvaluationHiddenEvaluationView"]({ eqId: props.hiddenId });
+ // evaluateHiddenDetailList
+ setList(data);
+ };
+
+ useEffect(() => {
+ getData();
+ }, []);
+
+ return (
+
+ 取消
+ ,
+ ]}
+ >
+ ([
+ { label: "考评人员", children: item.evaluateMemberName },
+ {
+ label: "是否符合",
+ children: (() => {
+ switch (item.evaluateResult) {
+ case 1:
+ return "考评合格";
+ case 0:
+ return "考评不合格";
+ default:
+ return "考核未完成";
+ }
+ })(),
+ },
+ ...(item.evaluateResult === 0 ? [{ label: "不符合原因", children: "todo", span: 2 }] : []),
+ ])),
+ ]}
+ />
+
+ );
+};
+
+export default Connect([NS_HIDDEN_EVALUATION], true)(ViewEvaluationModal);
diff --git a/src/pages/Container/Supervision/Enterprise/index.js b/src/pages/Container/Supervision/Enterprise/index.js
new file mode 100644
index 0000000..eda14bf
--- /dev/null
+++ b/src/pages/Container/Supervision/Enterprise/index.js
@@ -0,0 +1,9 @@
+function Supervision(props) {
+ return (
+
+ {props.children}
+
+ );
+}
+
+export default Supervision;
diff --git a/src/pages/Container/Supervision/Evaluation/HiddenEvaluation/HiddenList/index.js b/src/pages/Container/Supervision/Evaluation/HiddenEvaluation/HiddenList/index.js
index d9a50e0..44c40d9 100644
--- a/src/pages/Container/Supervision/Evaluation/HiddenEvaluation/HiddenList/index.js
+++ b/src/pages/Container/Supervision/Evaluation/HiddenEvaluation/HiddenList/index.js
@@ -149,7 +149,7 @@ function List(props) {
/>
{viewEvaluationModalOpen
- && setViewEvaluationModalOpen(false)} hiddenId={currentHiddenId} />}
+ && setViewEvaluationModalOpen(false)} hiddenId={currentHiddenId} url="hiddenEvaluationHiddenEvaluationView" />}
{evaluationModalOpen
&& setEvaluationModalOpen(false)} hiddenId={currentHiddenId} getData={getData} />}
@@ -162,7 +162,7 @@ const EvaluationModalComponent = (props) => {
const [list, setList] = useState([]);
const isEdit = useRef(false);
const getData = async () => {
- const { data } = await props["hiddenEvaluationHiddenEvaluationView"]({ eqHiddenId: props.hiddenId });
+ const { data } = await props["hiddenEvaluationHiddenEvaluationView"]({ eqId: props.hiddenId });
setList(data);
isEdit.current = (!!data?.[0]?.id);
const userInfo = await getUserInfo();
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/HiddenEvaluationList/index.js b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/HiddenEvaluationList/index.js
new file mode 100644
index 0000000..dc4b943
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/HiddenEvaluationList/index.js
@@ -0,0 +1,204 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Button, Descriptions, Form, message, Modal, Space } from "antd";
+import { useEffect, useRef, useState } from "react";
+import FormBuilder from "zy-react-library/components/FormBuilder";
+import HeaderBack from "zy-react-library/components/HeaderBack";
+import Search from "zy-react-library/components/Search";
+import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
+import DictionarySelectTree from "zy-react-library/components/SelectTree/Dictionary";
+import Table from "zy-react-library/components/Table";
+import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
+import { HIDDEN_SOURCE_ENUM } from "zy-react-library/enum/hidden/gwj";
+import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
+import useGetUserInfo from "zy-react-library/hooks/useGetUserInfo";
+import useTable from "zy-react-library/hooks/useTable";
+import { getLabelName } from "zy-react-library/utils";
+import { NS_HIDDEN_EVALUATION } from "~/enumerate/namespace";
+import ViewEvaluationModal from "../../components/ViewEvaluationModal";
+
+function List(props) {
+ const query = useGetUrlQuery();
+ const [viewEvaluationModalOpen, setViewEvaluationModalOpen] = useState(false);
+ const [evaluationModalOpen, setEvaluationModalOpen] = useState(false);
+ const [currentHiddenId, setCurrentHiddenId] = useState("");
+ const [form] = Form.useForm();
+ const { tableProps, getData } = useTable(props["evaluateHiddenDetailList"], {
+ form,
+ params: {
+ eqFindUserId: query.findUserId,
+ },
+ transform: formData => ({
+ geExchangeTime: formData.hiddenFindTime?.[0],
+ leExchangeTime: formData.hiddenFindTime?.[1],
+ }),
+ });
+ return (
+
+
+
+
) },
+ { name: "likeFindUserRealName", label: "隐患发现人" },
+ {
+ name: "eqHiddenTypeC",
+ label: "隐患类型",
+ render:
,
+ },
+ { name: "hiddenFindTime", label: "兑换时间", render: FORM_ITEM_RENDER_ENUM.DATE_RANGE },
+ ]}
+ form={form}
+ onFinish={getData}
+ />
+
getLabelName({ list: HIDDEN_SOURCE_ENUM, status: record.hiddenSource }),
+ },
+ { title: "隐患描述", dataIndex: "hiddenDesc" },
+ { title: "隐患发现时间", dataIndex: "findTime" },
+ { title: "隐患发现人", dataIndex: "findUserName" },
+ { title: "隐患验收人", dataIndex: "checkUserRealName" },
+ {
+ title: "隐患状态",
+ dataIndex: "state",
+ render: () => {
+ return "已验收";
+ },
+ },
+ { title: "考评组成员", dataIndex: "groupMembers" },
+ { title: "兑换状态", dataIndex: "exchangeFlag", render: (_, record) => record.exchangeFlag === 1 ? "已兑换" : "未兑换" },
+ {
+ title: "操作",
+ width: 230,
+ fixed: "right",
+ render: (_, record) => (
+
+
+
+
+ ),
+ },
+ ]}
+ {...tableProps}
+ />
+
+ {viewEvaluationModalOpen
+ && setViewEvaluationModalOpen(false)} hiddenId={currentHiddenId} />}
+ {evaluationModalOpen
+ && setEvaluationModalOpen(false)} hiddenId={currentHiddenId} getData={getData} />}
+
+ );
+}
+
+const EvaluationModalComponent = (props) => {
+ const { getUserInfo } = useGetUserInfo();
+ const [form] = Form.useForm();
+ const [list, setList] = useState([]);
+ const isEdit = useRef(false);
+ const getData = async () => {
+ const { data } = await props["hiddenEvaluationHiddenEvaluationView"]({ eqId: props.hiddenId });
+ setList(data);
+ isEdit.current = (!!data?.[0]?.id);
+ const userInfo = await getUserInfo();
+ form.setFieldValue("user", `${userInfo.departmentName}-${userInfo.name}`);
+ };
+
+ useEffect(() => {
+ getData();
+ }, []);
+
+ const onSubmit = async (values) => {
+ const { success } = await props[isEdit ? "hiddenEvaluationHiddenEvaluationUpdate" : "hiddenEvaluationHiddenEvaluationAdd"]({
+ ...values,
+ hiddenId: props.hiddenId,
+ });
+ if (success) {
+ message.success("考评成功");
+ props.onCancel();
+ props.getData();
+ }
+ };
+
+ return (
+
+ ([
+ { label: "考评人员", children: item.evaluateMemberName },
+ {
+ label: "是否符合",
+ children: (() => {
+ switch (item.evaluateResult) {
+ case 1:
+ return "考评合格";
+ case 0:
+ return "考评不合格";
+ default:
+ return "考核未完成";
+ }
+ })(),
+ },
+ ...(item.evaluateResult === 0 ? [{ label: "不符合原因", children: `111`, span: 2 }] : []),
+ ])),
+ ]}
+ />
+ !(formValues.result === 0),
+ },
+ ]}
+ />
+
+ );
+};
+
+const EvaluationModal = Connect([NS_HIDDEN_EVALUATION], true)(EvaluationModalComponent);
+export default Connect([NS_HIDDEN_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.js b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.js
new file mode 100644
index 0000000..d0637bd
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.js
@@ -0,0 +1,123 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Form } from "antd";
+import { useMemo } from "react";
+import Search from "zy-react-library/components/Search";
+import Table from "zy-react-library/components/Table";
+import useTable from "zy-react-library/hooks/useTable";
+import { NS_HIDDEN_EVALUATION } from "~/enumerate/namespace";
+import "./index.less";
+// 引入样式文件
+function List(props) {
+ const [form] = Form.useForm();
+ const { tableProps, getData } = useTable(props["viewCorpEvaluatePerformanceList"], {
+ form,
+ });
+ const handleCorpNameClick = (record) => {
+ props.history.push(`./userExchangeList?corpinfoId=${record.corpinfoId}`);
+ };
+ // 处理表格数据,为合并行做准备
+ const processedTableProps = useMemo(() => {
+ if (!tableProps.dataSource || tableProps.dataSource.length === 0) {
+ return tableProps;
+ }
+
+ const dataSource = tableProps.dataSource;
+
+ // 计算每个分公司出现的次数(用于rowSpan)
+ const corpRowSpans = {};
+ dataSource.forEach((item) => {
+ const corpName = item.corpinfoName;
+ corpRowSpans[corpName] = (corpRowSpans[corpName] || 0) + 1;
+ });
+
+ // 处理数据源,添加rowSpan信息
+ const processedDataSource = [];
+ const handledCorps = {};
+
+ dataSource.forEach((item) => {
+ const corpName = item.corpinfoName;
+
+ if (!handledCorps[corpName]) {
+ // 第一次遇到这个分公司,设置rowSpan
+ processedDataSource.push({
+ ...item,
+ _rowSpan: corpRowSpans[corpName],
+ });
+ handledCorps[corpName] = true;
+ }
+ else {
+ // 后续遇到相同分公司,rowSpan为0(不显示)
+ processedDataSource.push({
+ ...item,
+ _rowSpan: 0,
+ });
+ }
+ });
+
+ return {
+ ...tableProps,
+ dataSource: processedDataSource,
+ };
+ }, [tableProps]);
+
+ // 自定义列配置,支持行合并
+ const columns = [
+ {
+ title: "分公司名称",
+ dataIndex: "corpinfoName",
+ render: (text, record) => {
+ const obj = {
+ children: (
+ handleCorpNameClick(record)}
+ >
+ {text}
+
+ ),
+ props: {},
+ };
+ if (record._rowSpan !== undefined) {
+ obj.props.rowSpan = record._rowSpan;
+ }
+ return obj;
+ },
+ },
+ {
+ title: "隐患考评组类型",
+ dataIndex: "hiddenType",
+ render: (_, record) => (
+ <>
+ {record.hiddenType === "aqyh" && "安全类"}
+ {record.hiddenType === "wshb" && "环保类"}
+ >
+ ),
+ },
+ { title: "发现隐患数", dataIndex: "hiddenCount" },
+ { title: "已验收隐患数", dataIndex: "checkCount" },
+ { title: "已评审合格数", dataIndex: "passCount" },
+ { title: "待评审数量", dataIndex: "notEvaluateCount" },
+ { title: "已兑换积分", dataIndex: "exchangeScore" },
+ { title: "未兑换积分", dataIndex: "notExchangeScore" },
+ ];
+
+ return (
+
+ );
+}
+
+export default Connect([NS_HIDDEN_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.less b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.less
new file mode 100644
index 0000000..f55ebf5
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/List/index.less
@@ -0,0 +1,24 @@
+.corp-name-link {
+ color: #1F61FF !important;
+ text-decoration: none !important;
+ cursor: pointer;
+
+ &:hover {
+ color: #1F61FF !important;
+ text-decoration: underline !important;
+ }
+
+ // 深度覆盖 antd 的样式
+ :global {
+ .ant-table-tbody & {
+ color: #1F61FF !important;
+ }
+
+ .ant-table-cell & {
+ color: #1F61FF !important;
+ }
+ }
+ span{
+ color: #1F61FF !important;
+ }
+}
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeList/index.js b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeList/index.js
new file mode 100644
index 0000000..565d3a5
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeList/index.js
@@ -0,0 +1,173 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Button, Form, message, Modal, Space, Spin } from "antd";
+import { useState } from "react";
+import HeaderBack from "zy-react-library/components/HeaderBack";
+import EditIcon from "zy-react-library/components/Icon/EditIcon";
+import ExportIcon from "zy-react-library/components/Icon/ExportIcon";
+import Search from "zy-react-library/components/Search";
+import DepartmentSelectTree from "zy-react-library/components/SelectTree/Department/Gwj";
+import Table from "zy-react-library/components/Table";
+import useDownloadBlob from "zy-react-library/hooks/useDownloadBlob";
+import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
+import useTable from "zy-react-library/hooks/useTable";
+import useUrlQueryCriteria from "zy-react-library/hooks/useUrlQueryCriteria";
+import { NS_HIDDEN_EVALUATION, NS_PERSONNEL_EVALUATION } from "~/enumerate/namespace";
+
+function List(props) {
+ const query = useGetUrlQuery();
+ const { loading: downloadBlobLoading, downloadBlob } = useDownloadBlob();
+ const { getUrlCriteriaQuery } = useUrlQueryCriteria();
+ const [selectedRowKeys, setSelectedRowKeys] = useState([]);
+ const [form] = Form.useForm();
+ const { tableProps, getData } = useTable(props["personnelEvaluationUserExchangeList"], {
+ form,
+ params: {
+ eqCorpId: query.corpinfoId,
+ },
+ });
+
+ const onBatchExchange = async () => {
+ if (!selectedRowKeys.length) {
+ message.warning("请选择需要兑换的人员");
+ return;
+ }
+ Modal.confirm({
+ title: "兑换确认",
+ content: "确定要兑换吗?", // 确定要兑换所有人得分吗
+ onOk: async () => {
+ const success = await props["personnelEvaluationExchange"]({ userIds: selectedRowKeys });
+ if (success) {
+ message.success("兑换成功");
+ getData();
+ }
+ },
+ onCancel: () => {
+ message.warning("已取消兑换");
+ },
+ });
+ };
+ const OnRedeemAll = async () => {
+ Modal.confirm({
+ title: "兑换确认",
+ content: "确定要兑换所有人得分吗?", // 确定要兑换所有人得分吗
+ onOk: async () => {
+ const searchForm = getUrlCriteriaQuery("searchFormKeys", "searchFormValues");
+ const success = await props["viewUserEvaluateConditionList"]({ likeFindUserRealName: searchForm.likeFindUserRealName, eqFindUserDeptId: searchForm.eqFindUserDeptId, corpId: query.corpinfoId });
+ if (success) {
+ message.success("兑换成功");
+ getData();
+ }
+ },
+ onCancel: () => {
+ message.warning("已取消兑换");
+ },
+ });
+ };
+ const onExportExcel = async () => {
+ if (!selectedRowKeys.length) {
+ message.warning("请选择需要导出的人员");
+ return;
+ }
+ Modal.confirm({
+ title: "导出确认",
+ content: "确定要导出excel吗?",
+ onOk: async () => {
+ await downloadBlob("/hidden/viewUserEvaluateConditionList/exportEvaluate", { params: { findUserIds: selectedRowKeys.join(",") } });
+ message.success("导出成功");
+ },
+ onCancel: () => {
+ message.warning("已取消导出");
+ },
+ });
+ };
+
+ return (
+
+
+
+
+ ) },
+ { name: "likeFindUserRealName", label: "姓名" },
+ ]}
+ form={form}
+ onFinish={getData}
+ />
+ {
+ setSelectedRowKeys(selectedRowKeys);
+ },
+ }}
+ rowKey="findUserId"
+ toolBarRender={() => (
+
+ }
+ onClick={onBatchExchange}
+ >
+ 批量兑换
+
+ }
+ onClick={OnRedeemAll}
+ >
+ 全选兑换
+
+ }
+ onClick={onExportExcel}
+ >
+ 导出数据
+
+
+ )}
+ columns={[
+ { title: "用户名", dataIndex: "findUserName" },
+ { title: "姓名", dataIndex: "findUserRealName" },
+ { title: "部门", dataIndex: "findUserDeptName" },
+ { title: "岗位", dataIndex: "findUserPositionsName" },
+ { title: "奖励总得分", dataIndex: "totalScore" },
+ { title: "已兑换分数", dataIndex: "alreadyExchange" },
+ { title: "未兑换奖励数", dataIndex: "notExchanged", render: (_, record) => record.totalScore - record.alreadyExchange },
+ {
+ title: "操作",
+ width: 200,
+ fixed: "right",
+ render: (_, record) => (
+
+
+
+
+ ),
+ },
+ ]}
+ {...tableProps}
+ />
+
+
+
+ );
+}
+
+export default Connect([NS_PERSONNEL_EVALUATION, NS_HIDDEN_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeRecordList/index.js b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeRecordList/index.js
new file mode 100644
index 0000000..10c2ecf
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/UserExchangeRecordList/index.js
@@ -0,0 +1,68 @@
+import { Connect } from "@cqsjjb/jjb-dva-runtime";
+import { Button, Form, Space } from "antd";
+import HeaderBack from "zy-react-library/components/HeaderBack";
+import Search from "zy-react-library/components/Search";
+import Table from "zy-react-library/components/Table";
+import { FORM_ITEM_RENDER_ENUM } from "zy-react-library/enum/formItemRender";
+import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
+import useTable from "zy-react-library/hooks/useTable";
+import { NS_PERSONNEL_EVALUATION } from "~/enumerate/namespace";
+
+function List(props) {
+ const query = useGetUrlQuery();
+ const [form] = Form.useForm();
+ const { tableProps, getData } = useTable(props["personnelEvaluationUserExchangeRecordList"], {
+ form,
+ params: {
+ eqBelongerId: query.findUserId,
+ },
+ transform: formData => ({
+ geExchangeTime: formData.dates?.[0],
+ leExchangeTime: formData.dates?.[1],
+ }),
+ });
+
+ return (
+
+
+
+
+
(
+
+
+
+ ),
+ },
+ ]}
+ {...tableProps}
+ />
+
+
+ );
+}
+
+export default Connect([NS_PERSONNEL_EVALUATION], true)(List);
diff --git a/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/index.js b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/index.js
new file mode 100644
index 0000000..18fece4
--- /dev/null
+++ b/src/pages/Container/Supervision/Evaluation/PerformanceEvaluationList/index.js
@@ -0,0 +1,9 @@
+function PerformanceEvaluationList(props) {
+ return (
+
+ {props.children}
+
+ );
+}
+
+export default PerformanceEvaluationList;
diff --git a/src/pages/Container/Supervision/Evaluation/PersonnelEvaluation/UserExchangeList/index.js b/src/pages/Container/Supervision/Evaluation/PersonnelEvaluation/UserExchangeList/index.js
index 5280ea7..565d3a5 100644
--- a/src/pages/Container/Supervision/Evaluation/PersonnelEvaluation/UserExchangeList/index.js
+++ b/src/pages/Container/Supervision/Evaluation/PersonnelEvaluation/UserExchangeList/index.js
@@ -10,12 +10,13 @@ import Table from "zy-react-library/components/Table";
import useDownloadBlob from "zy-react-library/hooks/useDownloadBlob";
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
import useTable from "zy-react-library/hooks/useTable";
-import { NS_PERSONNEL_EVALUATION } from "~/enumerate/namespace";
+import useUrlQueryCriteria from "zy-react-library/hooks/useUrlQueryCriteria";
+import { NS_HIDDEN_EVALUATION, NS_PERSONNEL_EVALUATION } from "~/enumerate/namespace";
function List(props) {
const query = useGetUrlQuery();
const { loading: downloadBlobLoading, downloadBlob } = useDownloadBlob();
-
+ const { getUrlCriteriaQuery } = useUrlQueryCriteria();
const [selectedRowKeys, setSelectedRowKeys] = useState([]);
const [form] = Form.useForm();
const { tableProps, getData } = useTable(props["personnelEvaluationUserExchangeList"], {
@@ -45,7 +46,23 @@ function List(props) {
},
});
};
-
+ const OnRedeemAll = async () => {
+ Modal.confirm({
+ title: "兑换确认",
+ content: "确定要兑换所有人得分吗?", // 确定要兑换所有人得分吗
+ onOk: async () => {
+ const searchForm = getUrlCriteriaQuery("searchFormKeys", "searchFormValues");
+ const success = await props["viewUserEvaluateConditionList"]({ likeFindUserRealName: searchForm.likeFindUserRealName, eqFindUserDeptId: searchForm.eqFindUserDeptId, corpId: query.corpinfoId });
+ if (success) {
+ message.success("兑换成功");
+ getData();
+ }
+ },
+ onCancel: () => {
+ message.warning("已取消兑换");
+ },
+ });
+ };
const onExportExcel = async () => {
if (!selectedRowKeys.length) {
message.warning("请选择需要导出的人员");
@@ -98,9 +115,7 @@ function List(props) {
}
- onClick={() => {
- // TODO
- }}
+ onClick={OnRedeemAll}
>
全选兑换
@@ -138,6 +153,7 @@ function List(props) {