法律法规 只有一条状态是【现行】

安全意识调查、培训需求调查 【是否包含下级】 控制修改
This commit is contained in:
wyw 2026-03-16 16:12:33 +08:00
parent 72925dcc89
commit af8daf8590
6 changed files with 51 additions and 32 deletions

View File

@ -115,7 +115,7 @@ class SE007AllView extends React.Component {
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
let name = '公司培训需求调查统计表'; let name = '培训需求调查统计表';
name += '.xlsx'; name += '.xlsx';
XLSX.writeFile(wb, name) XLSX.writeFile(wb, name)
} }
@ -135,7 +135,7 @@ class SE007AllView extends React.Component {
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>公司培训需求调查统计表</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>培训需求调查统计表</h1>
<table style={{ width: '100%', textAlign: 'center', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}> <table style={{ width: '100%', textAlign: 'center', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody> <tbody>
<tr> <tr>

View File

@ -1,7 +1,7 @@
import { message } from "antd/lib/index"; import { message } from "antd/lib/index";
import { Button, Popconfirm, Row, Col, Checkbox, Radio, Form, Input, Select, Table, Upload, Icon, PageHeader, Modal } from 'antd'; import { Button, Popconfirm, Row, Col, Checkbox, Radio, Form, Input, Select, Table, Upload, Icon, PageHeader, Modal } from 'antd';
import React from 'react'; import React from 'react';
import { initFilter, extendRule, extendInclude, extendSelectField, setDataFieldValue, guid, initQueryFilter } from "../../../utils/common"; import { initFilter, extendRule, extendInclude, extendSelectField, setDataFieldValue, guid, getArryPropShow } from "../../../utils/common";
import ReactToPrint from "react-to-print"; import ReactToPrint from "react-to-print";
import styles from '../../CustomPages/HI/StepForm.css'; import styles from '../../CustomPages/HI/StepForm.css';
import SEstyles from './SE.css'; import SEstyles from './SE.css';
@ -59,6 +59,7 @@ class SE007ShowPrint extends React.Component {
extendSelectField(json, 'LAUNCH_TIME'); extendSelectField(json, 'LAUNCH_TIME');
extendSelectField(json, 'END_TIME'); extendSelectField(json, 'END_TIME');
extendSelectField(json, 'STATUS'); extendSelectField(json, 'STATUS');
extendSelectField(json, 'Nav_JoinDepartment.Nav_Department');
extendSelectField(json, 'Nav_LaunchDepartment.NAME'); extendSelectField(json, 'Nav_LaunchDepartment.NAME');
extendSelectField(json, 'Nav_LaunchUser.NAME'); extendSelectField(json, 'Nav_LaunchUser.NAME');
extendSelectField(json, 'Nav_Points.Nav_Point.NAME'); extendSelectField(json, 'Nav_Points.Nav_Point.NAME');
@ -155,7 +156,7 @@ class SE007ShowPrint extends React.Component {
let TableWrap = document.getElementById('tableId' + this.props.data.id); let TableWrap = document.getElementById('tableId' + this.props.data.id);
let Table = TableWrap.getElementsByTagName('table')[0]; let Table = TableWrap.getElementsByTagName('table')[0];
const wb = XLSX.utils.table_to_book(Table); const wb = XLSX.utils.table_to_book(Table);
let name = '部门培训需求调查统计表'; let name = '培训需求调查统计表';
name += '.xlsx'; name += '.xlsx';
XLSX.writeFile(wb, name) XLSX.writeFile(wb, name)
} }
@ -183,25 +184,28 @@ class SE007ShowPrint extends React.Component {
} }
</div> </div>
<div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}> <div ref={el => (this.componentRef = el)} style={{ padding: '20px' }} id={'tableId' + this.props.data.id}>
<h1 style={{ textAlign: 'center', margin: '15px' }}>部门培训需求调查统计表</h1> <h1 style={{ textAlign: 'center', margin: '15px' }}>培训需求调查统计表</h1>
<table style={{ width: '100%', textAlign: 'center', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}> <table style={{ width: '100%', textAlign: 'center', borderTop: '1px solid #333', borderLeft: '1px solid #333' }} className={styles.PrintForm}>
<tbody> <tbody>
{/* 3 2 6 */}
<tr> <tr>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>调查名称</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>调查名称</td>
<td colSpan={4} rowSpan={1}>{data && data.NAME ? data.NAME : ''}</td> <td colSpan={6} rowSpan={1}>{data && data.NAME ? data.NAME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>发起时间</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>发起时间</td>
<td colSpan={4} rowSpan={1}>{data && data.LAUNCH_TIME ? data.LAUNCH_TIME : ''}</td> <td colSpan={6} rowSpan={1}>{data && data.LAUNCH_TIME ? data.LAUNCH_TIME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>截止时间</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>截止时间</td>
<td colSpan={4} rowSpan={1}>{data && data.END_TIME ? data.END_TIME : ''}</td> <td colSpan={6} rowSpan={1}>{data && data.END_TIME ? data.END_TIME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>发起部门</td>
<td colSpan={4} rowSpan={1}>{data && data.Nav_LaunchDepartment ? data.Nav_LaunchDepartment.NAME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>发起人员</td>
<td colSpan={2} rowSpan={1}>{data && data.Nav_LaunchUser ? data.Nav_LaunchUser.NAME : ''}</td>
</tr> </tr>
<tr> <tr>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>发起部门</td>
<td colSpan={6} rowSpan={1}>{data && data.Nav_LaunchDepartment ? data.Nav_LaunchDepartment.NAME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>发起人员</td>
<td colSpan={6} rowSpan={1}>{data && data.Nav_LaunchUser ? data.Nav_LaunchUser.NAME : ''}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>参与组织</td>
<td colSpan={6} rowSpan={1}>{getArryPropShow(data?.Nav_JoinDepartment, 'Nav_Department.NAME')}</td>
</tr>
<tr>
</tr> </tr>
<tr> <tr>
{/* <td colSpan={2} rowSpan={1} className={styles.fontBold}></td> {/* <td colSpan={2} rowSpan={1} className={styles.fontBold}></td>
@ -209,26 +213,30 @@ class SE007ShowPrint extends React.Component {
<td colSpan={2} rowSpan={1} className={styles.fontBold}>调查部门</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>调查部门</td>
<td colSpan={4} rowSpan={1}>{data && data.Nav_LaunchDepartment ? data.Nav_LaunchDepartment.NAME : ''}</td> */} <td colSpan={4} rowSpan={1}>{data && data.Nav_LaunchDepartment ? data.Nav_LaunchDepartment.NAME : ''}</td> */}
<td colSpan={2} rowSpan={1} className={styles.fontBold}>调查目的</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>调查目的</td>
<td colSpan={14} rowSpan={1}>{ <td colSpan={22} rowSpan={1}>{
data?.Nav_Points && data?.Nav_Points.map((item, i) => { getArryPropShow(data?.Nav_Points, 'Nav_Point.NAME')
}</td>
{/* data?.Nav_Points && data?.Nav_Points.map((item, i) => {
if (i == (data?.Nav_Points.length - 1)) { if (i == (data?.Nav_Points.length - 1)) {
return item.Nav_Point?.NAME return item.Nav_Point?.NAME
} else { } else {
return item.Nav_Point?.NAME + ' ' return item.Nav_Point?.NAME + ' '
} }
}) }) */}
}</td> </tr>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>调查份数</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>调查份数</td>
<td colSpan={2} rowSpan={1}>{total}</td> <td colSpan={6} rowSpan={1}>{total}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>反馈份数</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>反馈份数</td>
<td colSpan={2} rowSpan={1}>{reportCount}</td> <td colSpan={6} rowSpan={1}>{reportCount}</td>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>反馈比例</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>反馈比例</td>
<td colSpan={2} rowSpan={1}>{rate + '%'}</td> <td colSpan={6} rowSpan={1}>{rate + '%'}</td>
<tr>
</tr> </tr>
<tr> <tr>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>序号</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>序号</td>
<td colSpan={4} rowSpan={1} className={styles.fontBold}>培训需求</td> <td colSpan={4} rowSpan={1} className={styles.fontBold}>培训需求</td>
<td colSpan={18} rowSpan={1} className={styles.fontBold}>需求部门</td> <td colSpan={14} rowSpan={1} className={styles.fontBold}>需求部门</td>
<td colSpan={4} rowSpan={1} className={styles.fontBold}>需求人数</td> <td colSpan={4} rowSpan={1} className={styles.fontBold}>需求人数</td>
</tr> </tr>
{ {
@ -236,7 +244,7 @@ class SE007ShowPrint extends React.Component {
return <tr key={r.ID}> return <tr key={r.ID}>
<td colSpan={2} rowSpan={1} >{idx + 1}</td> <td colSpan={2} rowSpan={1} >{idx + 1}</td>
<td colSpan={4} rowSpan={1} >{r.NAME}</td> <td colSpan={4} rowSpan={1} >{r.NAME}</td>
<td colSpan={18} rowSpan={1} >{r.department.join('、')}</td> <td colSpan={14} rowSpan={1} >{r.department.join('、')}</td>
<td colSpan={4} rowSpan={1} >{r.report}</td> <td colSpan={4} rowSpan={1} >{r.report}</td>
</tr> </tr>
}) })
@ -245,7 +253,7 @@ class SE007ShowPrint extends React.Component {
<tr> <tr>
<td colSpan={2} rowSpan={1} className={styles.fontBold}>序号</td> <td colSpan={2} rowSpan={1} className={styles.fontBold}>序号</td>
<td colSpan={4} rowSpan={1} className={styles.fontBold}>培训其他需求</td> <td colSpan={4} rowSpan={1} className={styles.fontBold}>培训其他需求</td>
<td colSpan={18} rowSpan={1} className={styles.fontBold}>需求人员</td> <td colSpan={14} rowSpan={1} className={styles.fontBold}>需求人员</td>
<td colSpan={4} rowSpan={1} className={styles.fontBold}>需求人数</td> <td colSpan={4} rowSpan={1} className={styles.fontBold}>需求人数</td>
</tr> </tr>
{ {
@ -253,7 +261,7 @@ class SE007ShowPrint extends React.Component {
return <tr key={r.ID}> return <tr key={r.ID}>
<td colSpan={2} rowSpan={1} >{idx + 1}</td> <td colSpan={2} rowSpan={1} >{idx + 1}</td>
<td colSpan={4} rowSpan={1} >{r.NAME}</td> <td colSpan={4} rowSpan={1} >{r.NAME}</td>
<td colSpan={18} rowSpan={1} >{r.department.join('、')}</td> <td colSpan={14} rowSpan={1} >{r.department.join('、')}</td>
<td colSpan={4} rowSpan={1} >{r.report}</td> <td colSpan={4} rowSpan={1} >{r.report}</td>
</tr> </tr>
}) })

View File

@ -367,7 +367,7 @@ class SESafeSurveyTest extends React.Component {
<td colSpan={3} rowSpan={1}>{safe ? safe.END_TIME : ''}</td> <td colSpan={3} rowSpan={1}>{safe ? safe.END_TIME : ''}</td>
</tr> </tr>
<tr> <tr>
<td colSpan={4} rowSpan={1} className={styles.fontBold}>参与人员</td> <td colSpan={4} rowSpan={1} className={styles.fontBold}>参与组织</td>
<td colSpan={20} rowSpan={1}>{this.getJoinDepartment().join('、')}</td> <td colSpan={20} rowSpan={1}>{this.getJoinDepartment().join('、')}</td>
</tr> </tr>
<tr> <tr>

View File

@ -1,8 +1,19 @@
// import { forEach } from "core-js/core/array";
import config from "../../config.js"; import config from "../../config.js";
import { downLoad } from "../../utils/common"; import { downLoad } from "../../utils/common";
export default { export default {
downloadFile: (params) => { downloadFile: (params) => {
downLoad(config.picServerHost, "法律法规\/"+params.record.NAME+".pdf") downLoad(config.picServerHost, "法律法规\/" + params.record.NAME + ".pdf")
}, },
onSubChange: ({ record, stateData, colInfo }) => {
if (record.VERSION_STATUS == 1 && (colInfo.FIELD_NAME == "ENTER_TIME" || colInfo.FIELD_NAME == "UPDATE_TIME" || colInfo.FIELD_NAME == "EXECUTE_TIME")) {
// 废止 = 0, 现行 = 1,
stateData.Nav_LawVersion.forEach(item => {
if (item.VERSION_STATUS == 1 && item.ID != record.ID) {
item.VERSION_STATUS = 0
}
})
}
}
} }

View File

@ -11,7 +11,7 @@ export default {
params.record.PUBLISH = params.customParams; params.record.PUBLISH = params.customParams;
}, },
onBeforeEdit({ stateData, setFieldVisible }) { onBeforeEdit({ stateData, setFieldVisible }) {
if (stateData.STATUS != "0") { if (stateData.STATUS != undefined && stateData.STATUS != "0") {
setFieldVisible("IS_DOWN", false) setFieldVisible("IS_DOWN", false)
} }
}, },

View File

@ -11,7 +11,7 @@ export default {
params.record.PUBLISH = params.customParams; params.record.PUBLISH = params.customParams;
}, },
onBeforeEdit({ stateData, setFieldVisible }) { onBeforeEdit({ stateData, setFieldVisible }) {
if (stateData.STATUS != "0") { if (stateData.STATUS != undefined && stateData.STATUS != "0") {
setFieldVisible("IS_DOWN", false) setFieldVisible("IS_DOWN", false)
} }
}, },