diff --git a/jjb.config.js b/jjb.config.js index 7f51fa3..7707f54 100644 --- a/jjb.config.js +++ b/jjb.config.js @@ -14,8 +14,8 @@ module.exports = { //API_HOST: "http://192.168.0.152", //API_HOST: "http://192.168.0.150", //太浅 - API_HOST: "http://192.168.0.152", - //API_HOST: "http://192.168.0.103", //huwei + // API_HOST: "http://192.168.0.152", + API_HOST: "http://192.168.0.103", //huwei }, production: { // 应用后端分支名称,部署上线需要 diff --git a/src/api/orgPosition/index.js b/src/api/orgPosition/index.js index 0fb09d1..ad914b9 100644 --- a/src/api/orgPosition/index.js +++ b/src/api/orgPosition/index.js @@ -20,3 +20,13 @@ export const orgPositionRemove = declareRequest( "orgPositionLoading", "Post > @/safetyEval/org-position/delete", ); + +export const orgPositionAssignGbsRole = declareRequest( + "orgPositionLoading", + "Post > @/safetyEval/org-position/assign-gbs-role", +); + +export const orgPositionGbsRoles = declareRequest( + "orgPositionLoading", + "Get > /safetyEval/org-position/gbs-roles", +); diff --git a/src/api/safetyEvalBusiness/index.js b/src/api/safetyEvalBusiness/index.js index 2b9ab08..08e7852 100644 --- a/src/api/safetyEvalBusiness/index.js +++ b/src/api/safetyEvalBusiness/index.js @@ -145,4 +145,46 @@ export const projectWaringStat = declareRequest( export const projectWaringRemindPage = declareRequest( "projectWaringRemindPageLoading", "Get > /safetyEval/project-waring/remind-page", +); + +// ===== 机构端-安评报告库 ===== + +export const evalReportSummary = declareRequest( + "evalReportSummaryLoading", + "Get > /safetyEval/institution/eval-report/summary", +); + +export const evalReportPage = declareRequest( + "evalReportPageLoading", + "Get > /safetyEval/institution/eval-report/page", +); + +export const evalReportDetail = declareRequest( + "evalReportDetailLoading", + "Get > /safetyEval/institution/eval-report/get", +); + +export const evalReportAdd = declareRequest( + "evalReportAddLoading", + "Post > @/safetyEval/institution/eval-report/add", +); + +export const evalReportSubmit = declareRequest( + "evalReportSubmitLoading", + "Post > @/safetyEval/institution/eval-report/submit", +); + +export const evalReportSpotcheckList = declareRequest( + "evalReportSpotcheckListLoading", + "Get > /safetyEval/institution/eval-report-spotcheck/list", +); + +export const evalReportSpotcheckDetail = declareRequest( + "evalReportSpotcheckDetailLoading", + "Get > /safetyEval/institution/eval-report-spotcheck/get", +); + +export const evalReportSpotcheckRectify = declareRequest( + "evalReportSpotcheckRectifyLoading", + "Post > @/safetyEval/institution/eval-report-spotcheck/rectify", ); \ No newline at end of file diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js index a1b9996..d76af64 100644 --- a/src/enumerate/namespace/index.js +++ b/src/enumerate/namespace/index.js @@ -23,3 +23,5 @@ export const NS_QUAL_EXPERT = defineNamespace("qualExpert"); export const NS_DRIVER = defineNamespace("driver"); export const NS_RISK_CENTER = defineNamespace("riskCenter"); export const NS_SAFETY_EVAL_BUSINESS = defineNamespace("safetyEvalBusiness"); +export const NS_REGULATOR_EVAL_REPORT = defineNamespace("regulatorEvalReport"); +export const NS_INSP_NOTICE = defineNamespace("inspNotice"); diff --git a/src/pages/Container/EnterpriseInfo/DepartmentPosition/index.js b/src/pages/Container/EnterpriseInfo/DepartmentPosition/index.js index 6aa21de..8efccbc 100644 --- a/src/pages/Container/EnterpriseInfo/DepartmentPosition/index.js +++ b/src/pages/Container/EnterpriseInfo/DepartmentPosition/index.js @@ -61,11 +61,16 @@ function DepartmentPositionPage(props) { const [treeData, setTreeData] = useState([]); const [deptModalOpen, setDeptModalOpen] = useState(false); const [positionModalOpen, setPositionModalOpen] = useState(false); + const [assignRoleModalOpen, setAssignRoleModalOpen] = useState(false); + const [assignRoleRecord, setAssignRoleRecord] = useState(null); + const [gbsRoleOptions, setGbsRoleOptions] = useState([]); + const [gbsRoleLoading, setGbsRoleLoading] = useState(false); const [currentId, setCurrentId] = useState(""); const [filterKeyword, setFilterKeyword] = useState(""); const [staffOptions, setStaffOptions] = useState([]); const [positionForm] = Form.useForm(); const [modalForm] = Form.useForm(); + const [assignRoleForm] = Form.useForm(); const [dataSource, setDataSource] = useState([]); const [total, setTotal] = useState(0); const [loading, setLoading] = useState(false); @@ -215,6 +220,66 @@ function DepartmentPositionPage(props) { setPositionModalOpen(false); }; + const closeAssignRoleModal = () => { + assignRoleForm.resetFields(); + setAssignRoleRecord(null); + setAssignRoleModalOpen(false); + }; + + const openAssignRoleModal = async (record) => { + setAssignRoleRecord(record); + assignRoleForm.resetFields(); + assignRoleForm.setFieldsValue({ + gbsRoleCode: record?.gbsRoleCode || undefined, + }); + setAssignRoleModalOpen(true); + setGbsRoleLoading(true); + try { + const res = await props.orgPositionGbsRoles?.(); + const list = res?.data || []; + setGbsRoleOptions( + list.map((item) => ({ + label: item.roleName + ? `${item.roleName}(${item.roleCode})` + : item.roleCode, + value: item.roleCode, + roleId: item.roleId, + roleName: item.roleName, + roleCode: item.roleCode, + })), + ); + } catch (err) { + console.warn("[DepartmentPosition] load gbs roles failed:", err); + setGbsRoleOptions([]); + } finally { + setGbsRoleLoading(false); + } + }; + + const submitAssignRole = async (values) => { + if (!assignRoleRecord?.id) { + return; + } + const matched = gbsRoleOptions.find( + (item) => item.value === values.gbsRoleCode, + ); + if (!matched?.roleId) { + message.warning("请选择有效的GBS角色(需包含角色ID)"); + return; + } + const res = await props.orgPositionAssignGbsRole({ + id: assignRoleRecord.id, + gbsRoleId: matched.roleId, + gbsRoleCode: values.gbsRoleCode, + gbsRoleName: matched?.roleName, + }); + if (res?.success !== false) { + message.success("分配角色成功"); + closeAssignRoleModal(); + fetchPositionData(pageIndex, pageSize); + } + }; + const openDeptModal = (record) => { setCurrentId(asId(record?.id) || ""); setDeptModalOpen(true); @@ -346,10 +411,16 @@ function DepartmentPositionPage(props) { columns={[ { title: "名称", dataIndex: "positionName" }, { title: "职责", dataIndex: "dutyDesc" }, + { + title: "GBS角色", + dataIndex: "gbsRoleName", + render: (text, record) => + text || record.gbsRoleCode || "-", + }, { title: "备注", dataIndex: "remark" }, { title: "操作", - width: 160, + width: 220, render: (_, record) => ( +