From 373ccbc65477c5a58fdb396d7e989b15a2a9f84d Mon Sep 17 00:00:00 2001 From: wangyunfei <1224056307@qq,com> Date: Sun, 28 Sep 2025 18:27:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E9=98=B2=E5=9F=BA=E7=A1=80=E8=B7=AF?= =?UTF-8?q?=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/routes.js | 6 + src/assets/business_basic/Frame.png | Bin 0 -> 416 bytes src/pages/business_basic/basic.js | 66 +++ src/pages/business_basic/basic.less | 66 +++ .../form/StaffSheetCreateForm.js | 271 +++++++++++ .../form/StaffSheetRenderAdvancedForm.js | 113 +++++ .../form/StaffSheetRenderSimpleForm.js | 81 ++++ .../form/StaffSheetUpdateForm.js | 362 +++++++++++++++ .../business_basic/form/StaffSheetViewForm.js | 299 ++++++++++++ src/pages/business_basic/models/StaffSheet.js | 319 +++++++++++++ .../business_basic/module/EvaluationReport.js | 300 +++++++++++++ .../module/EvaluationReport.less | 115 +++++ .../business_basic/module/OnlineMonitoring.js | 344 ++++++++++++++ .../module/OnlineMonitoring.less | 157 +++++++ .../module/ResponsibilityImplementation.js | 233 ++++++++++ .../module/ResponsibilityImplementation.less | 413 +++++++++++++++++ .../business_basic/module/RiskAssessment.js | 425 ++++++++++++++++++ .../business_basic/module/RiskAssessment.less | 241 ++++++++++ .../nav_system_content/SystemContentList.js | 6 + src/pages/topnavbar/TopNavBar.js | 4 + 20 files changed, 3821 insertions(+) create mode 100644 src/assets/business_basic/Frame.png create mode 100644 src/pages/business_basic/basic.js create mode 100644 src/pages/business_basic/basic.less create mode 100644 src/pages/business_basic/form/StaffSheetCreateForm.js create mode 100644 src/pages/business_basic/form/StaffSheetRenderAdvancedForm.js create mode 100644 src/pages/business_basic/form/StaffSheetRenderSimpleForm.js create mode 100644 src/pages/business_basic/form/StaffSheetUpdateForm.js create mode 100644 src/pages/business_basic/form/StaffSheetViewForm.js create mode 100644 src/pages/business_basic/models/StaffSheet.js create mode 100644 src/pages/business_basic/module/EvaluationReport.js create mode 100644 src/pages/business_basic/module/EvaluationReport.less create mode 100644 src/pages/business_basic/module/OnlineMonitoring.js create mode 100644 src/pages/business_basic/module/OnlineMonitoring.less create mode 100644 src/pages/business_basic/module/ResponsibilityImplementation.js create mode 100644 src/pages/business_basic/module/ResponsibilityImplementation.less create mode 100644 src/pages/business_basic/module/RiskAssessment.js create mode 100644 src/pages/business_basic/module/RiskAssessment.less diff --git a/config/routes.js b/config/routes.js index 0614436..b2e1d63 100644 --- a/config/routes.js +++ b/config/routes.js @@ -24,6 +24,12 @@ export default [ name: 'business', component: './nav_system_content/SystemContentList', routes: [ + // 基础信息管理 + { + path: '/topnavbar00/business/basic', + name: 'basic', + component: './business_basic/basic', + }, // 安全管理基础信息 { path: '/topnavbar00/business/basicinformation', diff --git a/src/assets/business_basic/Frame.png b/src/assets/business_basic/Frame.png new file mode 100644 index 0000000000000000000000000000000000000000..04c36289463260380033d2f8c6f7cd12bdb17a33 GIT binary patch literal 416 zcmV;R0bl-!P)E)1|LMn(#po2IaBo)LZaLdcdIpudr(t)V}I)D%3ACj@JPhd*cgfSvJa|v%$Z3#WPKP$laNKNAF-#CRBDMQd-3xuEWb9gDO!@y)JOi zU&=^JDKF_v>M`ez+i#t`tP|5XO=U&dV5rv22o6ro~A?SjCVw|DUn>eMs13T-6PTLEuGy z(GCzaNJsM?=$%VeGD94So { + const [activeModule, setActiveModule] = useState('organization'); + + const handleModuleClick = (module) => { + setActiveModule(module) + } + + + const renderModule = () => { + switch (activeModule) { + case 'organization': + return ; + case 'equipment': + return ; + case 'firefighting': + return ; + case 'other': + return ; + default: + return ; + } + }; + + + return ( +
+
+ + + + +
+
+ {renderModule()} +
+
+ ); +}; + +export default SafeMajorHazardList; diff --git a/src/pages/business_basic/basic.less b/src/pages/business_basic/basic.less new file mode 100644 index 0000000..b479169 --- /dev/null +++ b/src/pages/business_basic/basic.less @@ -0,0 +1,66 @@ +.container { + background-color: transparent; + width: 100%; + height: 89vh; + overflow: hidden; + display: flex; + flex-direction: column; + + .TopButton { + background-color: white; + width: 100%; + padding: 10px 30px; + display: flex; + gap: 24px; + margin-left: 6px; + + .TopButtonItem { + background-color: transparent !important; + color: #333333 !important; + font-family: 'PingFang SC', sans-serif !important; + font-weight: 500 !important; + font-size: 14px !important; + line-height: 100% !important; + border-radius: 8px !important; + padding: 6px 10px !important; + height: auto !important; + border: none !important; + box-shadow: none !important; + position: relative !important; + + &:hover { + color: #333333 !important; + border: none !important; + } + + &:focus { + color: #2E4CD4 !important; + border: none !important; + } + + &.active { + color: #2E4CD4 !important; + + &::after { + content: ''; + position: absolute; + bottom: -10px; + left: 0; + right: 0; + width: 100%; + height: 4px; + background-color: #2E4CD4; + border-radius: 0; + opacity: 1; + } + } + } + } + + .content { + // ======== 内容区域样式 ======== + flex: 1; // ======== 占据剩余空间 ======== + overflow-y: auto; // ======== 允许垂直滚动 ======== + padding: 0; // ======== 无内边距 ======== + } +} \ No newline at end of file diff --git a/src/pages/business_basic/form/StaffSheetCreateForm.js b/src/pages/business_basic/form/StaffSheetCreateForm.js new file mode 100644 index 0000000..6bdce8d --- /dev/null +++ b/src/pages/business_basic/form/StaffSheetCreateForm.js @@ -0,0 +1,271 @@ +import { useState, useEffect } from 'react' +import { Col, DatePicker, Form, Input, Modal, Row, Select } from 'antd' +import SelectDeptTree from '@/components/SelectDeptTree' +import SelectOrganTree from '@/components/SelectOrganTree' +import datadictionary from '@/utils/dataDictionary' +import { formatDictOptions, verifyPhone } from '@/utils/globalCommon' +import { NumberInput } from '@/components/NumberInput' +import styles from '../StaffSheetList.less' +import style from '@/global.less' +import dayjs from 'dayjs' +import { formatDate } from '@/utils/formatUtils' + +const { Item: FormItem } = Form +const { TextArea } = Input +const dictData = datadictionary + +//新增表单 +let getDeptTreeBySelectTree +let getOrganTreeBySelectTree + +const StaffSheetCreateForm = (props => { + const [form] = Form.useForm() + const [jobStatus, setJobStatus] = useState('1') + + const { + modalVisible, + handleAdd, + handleModalVisible, + loading, + dispatch, + selectDeptTree, + selectOrganTree + } = props + + useEffect(() => { + form.setFieldsValue({ + user_type: 'employee', + job_status: '1', + mgr_type: '0' + }) + }, []) + + const selectedDeptTreeValue = (deptRecord) => { + getDeptTreeBySelectTree = deptRecord + } + + const selectedOrganTreeValue = (orgRecord) => { + getOrganTreeBySelectTree = orgRecord + } + + const parentDeptTreeMethod = { + dispatch: dispatch, + selectDeptTree: selectDeptTree, + selectedDeptTreeValue: selectedDeptTreeValue, + } + + const parentOrganTreeMethod = { + dispatch: dispatch, + selectOrganTree: selectOrganTree, + selectedOrganTreeValue: selectedOrganTreeValue + } + + const okHandle = () => { + form.validateFields() + .then(fieldsValue => { + form.resetFields() + fieldsValue.birthday = formatDate(fieldsValue.birthday, 'YYYY-MM-DD') + fieldsValue.hiredate = formatDate(fieldsValue.hiredate, 'YYYY-MM-DD') + fieldsValue.departure_time = formatDate(fieldsValue.departure_time, 'YYYY-MM-DD') + fieldsValue.posts = fieldsValue.posts ? JSON.stringify(fieldsValue.posts) : null + + // if (getDeptTreeBySelectTree) { + // fieldsValue.dept_code = getDeptTreeBySelectTree.dept_code + // fieldsValue.dept_name = getDeptTreeBySelectTree.title + // } + + if (getOrganTreeBySelectTree) { + fieldsValue.org_code = getOrganTreeBySelectTree.org_code + fieldsValue.org_name = getOrganTreeBySelectTree.title + } + + handleAdd(fieldsValue) + }) + .catch(errInfo => {}) + } + + const afterClose = () =>{ + form.resetFields(); + } + + const handleJobStatusChange = (value) => { + setJobStatus(value) + } + + return ( + handleModalVisible()} + afterClose={() => afterClose()} + confirmLoading={loading} + > +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/**/} + {/* */} + {/* */} + {/* */} + {/**/} + + + + + + */} + + + + + + + + + + + + + + + + + + + + + + + +