Compare commits
7 Commits
89f4e921c6
...
c4ba002e9c
| Author | SHA1 | Date |
|---|---|---|
|
|
c4ba002e9c | |
|
|
12125356f0 | |
|
|
03d107be65 | |
|
|
be3e002cda | |
|
|
6d0a3017f6 | |
|
|
2c86feeebb | |
|
|
b15ec4556a |
|
|
@ -74,6 +74,8 @@ const DashboardLayout: React.FC = () => {
|
||||||
|
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
// debugger;
|
||||||
|
console.log(location.pathname);
|
||||||
|
|
||||||
const pathname = location.pathname;
|
const pathname = location.pathname;
|
||||||
const dispatch = useDispatch<Dispatch>();
|
const dispatch = useDispatch<Dispatch>();
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,9 @@ code {
|
||||||
.flex-end{
|
.flex-end{
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
.align-center{
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
.ellipsis1 {
|
.ellipsis1 {
|
||||||
overflow:hidden;/*内容超出后隐藏*/
|
overflow:hidden;/*内容超出后隐藏*/
|
||||||
text-overflow:ellipsis;/*超出内容显示为省略号*/
|
text-overflow:ellipsis;/*超出内容显示为省略号*/
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
import { MenuItem } from "../_";
|
import { MenuItem } from "../_";
|
||||||
|
|
||||||
export function findMenu(menus: MenuItem[], pathname: string) {
|
export function findMenu(menus: MenuItem[], pathname: string) {
|
||||||
//document.title = TITLE;
|
|
||||||
|
|
||||||
if (!menus) {
|
if (!menus) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => {
|
||||||
}
|
}
|
||||||
if (mode === 'save') {
|
if (mode === 'save') {
|
||||||
values.fileIds = fileIds
|
values.fileIds = fileIds
|
||||||
debugger
|
// debugger
|
||||||
onSave(apiurl.fxzb.qswl.zq.save,values)
|
onSave(apiurl.fxzb.qswl.zq.save,values)
|
||||||
}
|
}
|
||||||
if (mode === "similarSave") {
|
if (mode === "similarSave") {
|
||||||
|
|
|
||||||
|
|
@ -112,7 +112,7 @@ export default function Xmzlmb() {
|
||||||
stationCodes: code,
|
stationCodes: code,
|
||||||
...searchVal
|
...searchVal
|
||||||
}
|
}
|
||||||
debugger
|
// debugger
|
||||||
getTableData(params)
|
getTableData(params)
|
||||||
getTable2Data(params)
|
getTable2Data(params)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ console.log("record",record);
|
||||||
let oldFiles = fileList.map(item => ({fileId:item.response?.data?.fileId}) )
|
let oldFiles = fileList.map(item => ({fileId:item.response?.data?.fileId}) )
|
||||||
if (mode === 'zg') {
|
if (mode === 'zg') {
|
||||||
values.rectifyFiles = oldFiles;
|
values.rectifyFiles = oldFiles;
|
||||||
debugger
|
// debugger
|
||||||
onUpdate(apiurl.rcgl.jdkh.khwtzg.finish,{...record,...values})
|
onUpdate(apiurl.rcgl.jdkh.khwtzg.finish,{...record,...values})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ export default function Zrtx({dataInfo}) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const command = (type) => (params) => {
|
const command = (type) => (params) => {
|
||||||
debugger;
|
// debugger;
|
||||||
if (type === 'save') {
|
if (type === 'save') {
|
||||||
refModal.current.showSave(dataInfo);
|
refModal.current.showSave(dataInfo);
|
||||||
} else if (type === 'edit') {
|
} else if (type === 'edit') {
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ const Page = () => {
|
||||||
<div className={styles.title}>
|
<div className={styles.title}>
|
||||||
<Image src={title} />转移路线示意图
|
<Image src={title} />转移路线示意图
|
||||||
</div>
|
</div>
|
||||||
<div style={{display:'flex',justifyContent:'center'}}>
|
<div style={{display:'flex',justifyContent:'center',height: 'calc(100% - 40px)',alignItems:'center'}}>
|
||||||
<Image src={zd} width='80%' preview={false} />
|
<Image src={zd} width='80%' preview={false} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
.title{
|
.title{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
width: 112px;
|
// width: 112px;
|
||||||
height: 32px
|
height: 32px
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
*/
|
*/
|
||||||
const download = (params) => {
|
const download = (params) => {
|
||||||
let downloadLink = document.createElement("a");
|
let downloadLink = document.createElement("a");
|
||||||
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/xyt/projectEvents/file/download/${params}`;
|
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/projectEvents/file/download/${params}`;
|
||||||
downloadLink.download = `${params.fileName}`;
|
downloadLink.download = `${params.fileName}`;
|
||||||
downloadLink.style.display = "none";
|
downloadLink.style.display = "none";
|
||||||
// 将链接添加到页面中
|
// 将链接添加到页面中
|
||||||
|
|
@ -187,7 +187,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
<Dragger
|
<Dragger
|
||||||
name='file'
|
name='file'
|
||||||
// multiple
|
// multiple
|
||||||
action="/gunshiApp/xyt/projectEvents/file/upload/singleSimple"
|
action="/gunshiApp/tsg/projectEvents/file/upload/singleSimple"
|
||||||
onChange={fileChange}
|
onChange={fileChange}
|
||||||
onDrop={(info) => { console.log(info.dataTransfer.files); }}
|
onDrop={(info) => { console.log(info.dataTransfer.files); }}
|
||||||
fileList={fileList}
|
fileList={fileList}
|
||||||
|
|
@ -286,7 +286,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
border: 0,
|
border: 0,
|
||||||
marginTop: 20,
|
marginTop: 20,
|
||||||
}}
|
}}
|
||||||
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/xyt/projectEvents/file/download/${iframeSrc}`)}`}
|
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/tsg/projectEvents/file/download/${iframeSrc}`)}`}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ const Page = () => {
|
||||||
|
|
||||||
const download = (params) => {
|
const download = (params) => {
|
||||||
let downloadLink = document.createElement("a");
|
let downloadLink = document.createElement("a");
|
||||||
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/xyt/projectEvents/file/download/${params}`;
|
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/projectEvents/file/download/${params}`;
|
||||||
downloadLink.download = `${params.fileName}`;
|
downloadLink.download = `${params.fileName}`;
|
||||||
downloadLink.style.display = "none";
|
downloadLink.style.display = "none";
|
||||||
// 将链接添加到页面中
|
// 将链接添加到页面中
|
||||||
|
|
@ -87,6 +87,7 @@ const viewPdf = (params) => {
|
||||||
setPdfViewOPen(true)
|
setPdfViewOPen(true)
|
||||||
}
|
}
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
search: {
|
search: {
|
||||||
...searchVal,
|
...searchVal,
|
||||||
|
|
@ -213,7 +214,7 @@ const viewPdf = (params) => {
|
||||||
border: 0,
|
border: 0,
|
||||||
marginTop: 20,
|
marginTop: 20,
|
||||||
}}
|
}}
|
||||||
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/xyt/projectEvents/file/download/${iframeSrc}`)}`}
|
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/tsg/projectEvents/file/download/${iframeSrc}`)}`}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,9 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
||||||
format="YYYY-MM-DD HH:mm:ss"
|
format="YYYY-MM-DD HH:mm:ss"
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{searchBtn ? <Form.Item>
|
<Form.Item>
|
||||||
<Button type="primary" htmlType="submit">查询</Button>
|
<Button type="primary" htmlType="submit">查询</Button>
|
||||||
</Form.Item> : null }
|
</Form.Item>
|
||||||
|
|
||||||
<Form.Item>
|
<Form.Item>
|
||||||
<Button onClick={() => form.resetFields()}>重置</Button>
|
<Button onClick={() => form.resetFields()}>重置</Button>
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ const Page = () => {
|
||||||
|
|
||||||
const download = (params) => {
|
const download = (params) => {
|
||||||
let downloadLink = document.createElement("a");
|
let downloadLink = document.createElement("a");
|
||||||
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/xyt/projectEvents/file/download/${params}`;
|
downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/projectEvents/file/download/${params}`;
|
||||||
downloadLink.download = `${params.fileName}`;
|
downloadLink.download = `${params.fileName}`;
|
||||||
downloadLink.style.display = "none";
|
downloadLink.style.display = "none";
|
||||||
// 将链接添加到页面中
|
// 将链接添加到页面中
|
||||||
|
|
@ -177,7 +177,7 @@ const onExport = () => {
|
||||||
border: 0,
|
border: 0,
|
||||||
marginTop: 20,
|
marginTop: 20,
|
||||||
}}
|
}}
|
||||||
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/xyt/projectEvents/file/download/${iframeSrc}`)}`}
|
src={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/tsg/projectEvents/file/download/${iframeSrc}`)}`}
|
||||||
/>
|
/>
|
||||||
</Modal>
|
</Modal>
|
||||||
</>
|
</>
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
|
|
||||||
|
|
||||||
const onfinish = (values) => {
|
const onfinish = (values) => {
|
||||||
values.files = fileList.map(item => item.response?.data);
|
values.files = fileList.map(item => item.response?.data??item);
|
||||||
|
|
||||||
// values.eventsDate = values.eventsDate ? moment(values.eventsDate).format("YYYY-MM-DD 00:00:00") : ''
|
// values.eventsDate = values.eventsDate ? moment(values.eventsDate).format("YYYY-MM-DD 00:00:00") : ''
|
||||||
if (mode === 'edit') {
|
if (mode === 'edit') {
|
||||||
|
|
@ -144,7 +144,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Form.Item label="法律性质" name="type" rules={[{ required: true }]}>
|
<Form.Item label="法律性质" name="type" rules={[{ required: true }]}>
|
||||||
<Select allowClear style={{ width: '150px' }} options={[
|
<Select allowClear style={{ width: '100%' }} options={[
|
||||||
{ label: '宪法', value: 0 },
|
{ label: '宪法', value: 0 },
|
||||||
{ label: '法律', value: 1 },
|
{ label: '法律', value: 1 },
|
||||||
{ label: '行政法规', value: 2 },
|
{ label: '行政法规', value: 2 },
|
||||||
|
|
@ -171,7 +171,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
]}
|
]}
|
||||||
|
|
||||||
>
|
>
|
||||||
<Select allowClear style={{ width: '150px' }} options={[
|
<Select allowClear style={{ width: '100%' }} options={[
|
||||||
{ label: '尚未生效', value: 0 },
|
{ label: '尚未生效', value: 0 },
|
||||||
{ label: '有效', value: 1 },
|
{ label: '有效', value: 1 },
|
||||||
{ label: '已修改', value: 2 },
|
{ label: '已修改', value: 2 },
|
||||||
|
|
@ -236,7 +236,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
fileList.length > 0 && fileList.map(file => {
|
fileList.length > 0 && fileList.map(file => {
|
||||||
return (
|
return (
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<div className="file-item" style={{ width: "75%" }}>
|
<div className="file-item" style={{ width: "75%",marginTop:5 }}>
|
||||||
<div className='file-description'>
|
<div className='file-description'>
|
||||||
{file?.fileName?.indexOf('.docx') > -1 ?
|
{file?.fileName?.indexOf('.docx') > -1 ?
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
||||||
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
||||||
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
||||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, FileExcelOutlined } from '@ant-design/icons';
|
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, PaperClipOutlined } from '@ant-design/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import ToolBar from './toolbar';
|
import ToolBar from './toolbar';
|
||||||
import ModalForm from './form';
|
import ModalForm from './form';
|
||||||
|
|
@ -10,6 +10,8 @@ import usePageTable from '../../../components/crud/usePageTable2';
|
||||||
import { createCrudService } from '../../../components/crud/_';
|
import { createCrudService } from '../../../components/crud/_';
|
||||||
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
||||||
import { render } from 'react-dom';
|
import { render } from 'react-dom';
|
||||||
|
import { httpgetExport } from '../../../utils/request';
|
||||||
|
import { exportFile } from '../../../utils/tools';
|
||||||
|
|
||||||
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
||||||
const typeOb={0:'宪法',1:'法律',2:'行政法规',3:'督察法规',4:'司法解释',5:'地方性法规'}
|
const typeOb={0:'宪法',1:'法律',2:'行政法规',3:'督察法规',4:'司法解释',5:'地方性法规'}
|
||||||
|
|
@ -26,33 +28,33 @@ const Page = () => {
|
||||||
const [isFetch, setIsFetch] = useState(false)
|
const [isFetch, setIsFetch] = useState(false)
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||||
{ title: '标题', key: 'name', dataIndex: 'name', width: 250, ellipsis: true },
|
{ title: '标题', key: 'name', dataIndex: 'name', ellipsis: true },
|
||||||
{
|
{
|
||||||
title: '制定机关', key: 'fillUnit', dataIndex: 'fillUnit', width: 140,
|
title: '制定机关', key: 'fillUnit', dataIndex: 'fillUnit',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '法律性质', key: 'type', dataIndex: 'type', width: 140,
|
title: '法律性质', key: 'type', dataIndex: 'type',
|
||||||
render: (value) => <span>{typeOb[value]}</span>,
|
render: (value) => <span>{typeOb[value]}</span>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '时效性', key: 'timeliness', dataIndex: 'timeliness', width: 300,render:(v)=><>
|
title: '时效性', key: 'timeliness', dataIndex: 'timeliness', render:(v)=><>
|
||||||
{timelinessOb[v]}
|
{timelinessOb[v]}
|
||||||
</>
|
</>
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate', width: 300
|
title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate', width: 300
|
title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '上传时间', key: 'eventsDesc', dataIndex: 'eventsDesc', width: 300
|
title: '上传时间', key: 'eventsDesc', dataIndex: 'eventsDesc'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '附件', key: 'files', dataIndex: 'files', width: 300,render:(v,r)=><a onClick={()=>viewPdf(v[0].fileId)}>{v[0]?.fileName}</a>
|
title: '附件', key: 'files', dataIndex: 'files',render:(v,r)=><a onClick={()=>download(v[0].fileId,v[0]?.fileName)}><PaperClipOutlined />{v[0]?.fileName}</a>
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
title: '操作', key: 'operation',
|
||||||
render: (value, row, index) => (
|
render: (value, row, index) => (
|
||||||
<CrudOpRender_text
|
<CrudOpRender_text
|
||||||
edit={true}
|
edit={true}
|
||||||
|
|
@ -87,7 +89,16 @@ const Page = () => {
|
||||||
refresh()
|
refresh()
|
||||||
setIsFetch(!isFetch)
|
setIsFetch(!isFetch)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description 文件下载
|
||||||
|
* @param {String} params 文件fileId
|
||||||
|
*/
|
||||||
|
const download = async(id, name) => {
|
||||||
|
var extension = name?.split('.').pop().toLowerCase();
|
||||||
|
httpgetExport(apiurl.zdgl.download+id).then(res => {
|
||||||
|
exportFile(name,res.data)
|
||||||
|
})
|
||||||
|
}
|
||||||
const viewPdf = (params) => {
|
const viewPdf = (params) => {
|
||||||
setIframeSrc(params)
|
setIframeSrc(params)
|
||||||
setPdfViewOPen(true)
|
setPdfViewOPen(true)
|
||||||
|
|
@ -114,7 +125,7 @@ const Page = () => {
|
||||||
/>
|
/>
|
||||||
</Card>
|
</Card>
|
||||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,26 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const [showGj, setShowGj] = useState(false)
|
const [showGj, setShowGj] = useState(false)
|
||||||
const onFinish = (values) => {
|
const onFinish = (values) => {
|
||||||
let dateSo;
|
if (values.announcementDate) {
|
||||||
if (values.tm) {
|
// 公布时间
|
||||||
dateSo = {
|
values.stmAd= values.announcementDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
values.etmAd= values.announcementDate[1].format('YYYY-MM-DD HH:mm:ss')
|
||||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
}
|
}
|
||||||
|
if (values.implementationDate) {
|
||||||
|
// 施行日期
|
||||||
|
values.stmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
values.etmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
delete values.tm
|
if (values.uploadTime) {
|
||||||
|
// 上传日期
|
||||||
|
values.stmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
values.etmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
}
|
||||||
|
|
||||||
|
delete values.announcementDate
|
||||||
|
delete values.implementationDate
|
||||||
|
delete values.uploadTime
|
||||||
|
|
||||||
setSearchVal({ ...values });
|
setSearchVal({ ...values });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -84,7 +96,7 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
||||||
<Form.Item label="施行日期" name="implementationDate">
|
<Form.Item label="施行日期" name="implementationDate">
|
||||||
<RangePicker allowClear />
|
<RangePicker allowClear />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item label="上传时间" name="name">
|
<Form.Item label="上传时间" name="uploadTime">
|
||||||
<RangePicker allowClear />
|
<RangePicker allowClear />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</div>}
|
</div>}
|
||||||
|
|
|
||||||
|
|
@ -176,9 +176,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
|
||||||
</p>
|
</p>
|
||||||
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名:jpeg、png</p>
|
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名:jpeg、png</p>
|
||||||
</Dragger>
|
</Dragger>
|
||||||
<div>
|
<div className='flex'>
|
||||||
{fileListHj?.[item1.key]?.map((item) => {
|
{fileListHj?.[item1.key]?.map((item) => {
|
||||||
return <div className='flex align-center' style={{ minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
return <div className='flex align-center file-item' style={{marginTop:5,marginRight:'3%',width:'30%', minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
||||||
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
||||||
{checkMediaType(item.fileName) == 'image' && <Image
|
{checkMediaType(item.fileName) == 'image' && <Image
|
||||||
height={40}
|
height={40}
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,8 @@ const basicData = [
|
||||||
key: 'caseAddress',
|
key: 'caseAddress',
|
||||||
type: 'input',
|
type: 'input',
|
||||||
span: 12,
|
span: 12,
|
||||||
required: true
|
required: true,
|
||||||
|
addonAfter:'选择地点'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '案件来源',
|
label: '案件来源',
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ const items = [
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
const Page = ({ mode, onCrudSuccess,record }) => {
|
const Page = ({ mode, onCrudSuccess,record,submit }) => {
|
||||||
const [formData,setFormData] =useState({})
|
const [formData,setFormData] =useState({})
|
||||||
// debugger;
|
// debugger;
|
||||||
const [key, setKeys] = useState('1')
|
const [key, setKeys] = useState('1')
|
||||||
|
|
@ -40,6 +40,10 @@ const Page = ({ mode, onCrudSuccess,record }) => {
|
||||||
setKeys(key)
|
setKeys(key)
|
||||||
};
|
};
|
||||||
const getFormInfo = (e) => {
|
const getFormInfo = (e) => {
|
||||||
|
if(!e){
|
||||||
|
submit()
|
||||||
|
return;
|
||||||
|
}
|
||||||
let params = {
|
let params = {
|
||||||
...formData,
|
...formData,
|
||||||
...e,
|
...e,
|
||||||
|
|
@ -57,7 +61,7 @@ const Page = ({ mode, onCrudSuccess,record }) => {
|
||||||
httppost(apiurl.szzf.ajdj.add, params).then(res => {
|
httppost(apiurl.szzf.ajdj.add, params).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
message.success('新增成功')
|
message.success('新增成功')
|
||||||
onCrudSuccess()
|
submit()
|
||||||
} else {
|
} else {
|
||||||
message.error(res.description)
|
message.error(res.description)
|
||||||
}
|
}
|
||||||
|
|
@ -68,24 +72,41 @@ const Page = ({ mode, onCrudSuccess,record }) => {
|
||||||
httppost(apiurl.szzf.ajdj.edit, params).then(res => {
|
httppost(apiurl.szzf.ajdj.edit, params).then(res => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
message.success('编辑成功')
|
message.success('编辑成功')
|
||||||
onCrudSuccess()
|
submit()
|
||||||
} else {
|
} else {
|
||||||
message.error(res.description)
|
message.error(res.description)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
|
if(mode == 'edit' || mode =='view'){
|
||||||
httpget(apiurl.szzf.ajdj.detail + record.id).then(res=>{
|
httpget(apiurl.szzf.ajdj.detail + record.id).then(res=>{
|
||||||
let obj = {
|
let obj = {
|
||||||
createName: localStorage.getItem('userName'),
|
createName: localStorage.getItem('userName'),
|
||||||
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
createBy:localStorage.getItem('userId')
|
createBy:localStorage.getItem('userId')
|
||||||
}
|
}
|
||||||
if(res.data.caseDate){
|
if(res.data?.caseDate){
|
||||||
obj.caseDate=dayjs(res.data.caseDate)
|
obj.caseDate=dayjs(res.data.caseDate)
|
||||||
}
|
}
|
||||||
|
// if(res.data?.illegalDate){
|
||||||
|
// obj.illegalDate=dayjs(res.data.illegalDate)
|
||||||
|
// }
|
||||||
|
if(res.data.IllegalDate){
|
||||||
|
obj.IllegalDate = dayjs(res.data.IllegalDate)
|
||||||
|
}
|
||||||
|
|
||||||
setFormData({...res.data,...obj})
|
setFormData({...res.data,...obj})
|
||||||
})
|
})
|
||||||
|
}else if(mode == 'save'){
|
||||||
|
let obj = {
|
||||||
|
createName: localStorage.getItem('userName'),
|
||||||
|
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
createBy:localStorage.getItem('userId'),
|
||||||
|
}
|
||||||
|
setFormData({...obj})
|
||||||
|
}
|
||||||
|
|
||||||
},[])
|
},[])
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
||||||
|
|
@ -30,28 +30,28 @@ const Page = () => {
|
||||||
const [isFetch, setIsFetch] = useState(false)
|
const [isFetch, setIsFetch] = useState(false)
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||||
{ title: '填报时间', key: 'createTime', dataIndex: 'createTime', width: 250, ellipsis: true },
|
{ title: '填报时间', key: 'createTime', dataIndex: 'createTime', ellipsis: true },
|
||||||
{
|
{
|
||||||
title: '案件名称', key: 'caseName', dataIndex: 'caseName', width: 140,
|
title: '案件名称', key: 'caseName', dataIndex: 'caseName',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '案件编号', key: 'caseId', dataIndex: 'caseId', width: 140,
|
title: '案件编号', key: 'caseId', dataIndex: 'caseId',
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '发现时间', key: 'caseDate', dataIndex: 'caseDate', width: 300,
|
title: '发现时间', key: 'caseDate', dataIndex: 'caseDate',
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '案件类型', key: 'caseType', dataIndex: 'caseType', width: 300,
|
title: '案件类型', key: 'caseType', dataIndex: 'caseType',
|
||||||
render: (value) => <span>{caseTypeOb[value]}</span>,
|
render: (value) => <span>{caseTypeOb[value]}</span>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '案件来源', key: 'caseSource', dataIndex: 'caseSource', width: 300,
|
title: '案件来源', key: 'caseSource', dataIndex: 'caseSource',
|
||||||
render: (value) => <span>{caseSourceOb[value]}</span>,
|
render: (value) => <span>{caseSourceOb[value]}</span>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
title: '操作', key: 'operation', width: 240,
|
||||||
render: (value, row, index) => (
|
render: (value, row, index) => (
|
||||||
<CrudOpRender_text
|
<CrudOpRender_text
|
||||||
edit={true}
|
edit={true}
|
||||||
|
|
@ -121,7 +121,7 @@ const Page = () => {
|
||||||
/>
|
/>
|
||||||
</Card>
|
</Card>
|
||||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -142,9 +142,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
|
||||||
</p>
|
</p>
|
||||||
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名:jpeg、png</p>
|
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名:jpeg、png</p>
|
||||||
</Dragger>
|
</Dragger>
|
||||||
<div>
|
<div className='flex'>
|
||||||
{fileListHj?.[item1.key]?.map((item) => {
|
{fileListHj?.[item1.key]?.map((item) => {
|
||||||
return <div className='flex align-center' style={{ minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
return <div className='flex align-center file-item' style={{marginTop:5,marginRight:'3%',width:'30%', minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
||||||
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
||||||
{checkMediaType(item.fileName) == 'image' && <Image
|
{checkMediaType(item.fileName) == 'image' && <Image
|
||||||
height={40}
|
height={40}
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ const Page = ({ setTreeSelect }) => {
|
||||||
|
|
||||||
};
|
};
|
||||||
const onSearch = (value) => {
|
const onSearch = (value) => {
|
||||||
debugger;
|
// debugger;
|
||||||
setSearchValue(value);
|
setSearchValue(value);
|
||||||
setAutoExpandParent(true);
|
setAutoExpandParent(true);
|
||||||
|
|
||||||
|
|
@ -112,18 +112,49 @@ const Page = ({ setTreeSelect }) => {
|
||||||
|
|
||||||
return loop(data);
|
return loop(data);
|
||||||
}, [searchValue, data]);
|
}, [searchValue, data]);
|
||||||
|
|
||||||
|
const getFirstChild=(val)=> {
|
||||||
|
let res = {};
|
||||||
|
if (JSON.stringify(res) != "{}") {
|
||||||
|
return;//如果res不再是空对象,退出递归
|
||||||
|
} else {
|
||||||
|
//遍历数组
|
||||||
|
for (let i = 0; i < val.length; i++) {
|
||||||
|
//如果当前的isleaf是true,说明是叶子节点,把当前对象赋值给res,并return,终止循环
|
||||||
|
if (!val[i].children) {
|
||||||
|
res = val[i];
|
||||||
|
break;
|
||||||
|
}else {//否则的话,递归当前节点的children
|
||||||
|
getFirstChild(val[i].children);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
}
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
httpget(apiurl.szzf.clyj.tree).then(res => {
|
httpget(apiurl.szzf.clyj.tree).then(res => {
|
||||||
setData(res.data)
|
setData(res.data)
|
||||||
|
// setTreeSelect(
|
||||||
|
// [{
|
||||||
|
// key: res.data[0].id,
|
||||||
|
// name: res.data[0].legalName,
|
||||||
|
|
||||||
|
// }]
|
||||||
|
|
||||||
|
// )
|
||||||
|
// setSelect([res.data[0].id])
|
||||||
|
// getFirstChild(res.data)
|
||||||
|
|
||||||
|
setSelect([getFirstChild(res.data).id]);
|
||||||
setTreeSelect(
|
setTreeSelect(
|
||||||
[{
|
[{
|
||||||
key: res.data[0].id,
|
key: getFirstChild(res.data).id,
|
||||||
name: res.data[0].legalName,
|
name: getFirstChild(res.data).legalName,
|
||||||
|
|
||||||
}]
|
}]
|
||||||
|
|
||||||
)
|
)
|
||||||
setSelect([res.data[0].id])
|
|
||||||
})
|
})
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,9 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
}
|
}
|
||||||
const getInfo = () => {
|
const getInfo = () => {
|
||||||
form.validateFields().then((values) => {
|
form.validateFields().then((values) => {
|
||||||
|
// debugger;
|
||||||
getFormInfo({ ...values, [fileKey]: fileList, fileIds: fileList.map(item => item.fileId) })
|
getFormInfo({ ...values, [fileKey]: fileList, fileIds: fileList.map(item => item.fileId) })
|
||||||
form.resetFields()
|
|
||||||
setFileList([])
|
setFileList([])
|
||||||
}).catch((errorInfo) => {
|
}).catch((errorInfo) => {
|
||||||
console.log(errorInfo, 'error');
|
console.log(errorInfo, 'error');
|
||||||
|
|
@ -51,7 +52,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
// window.open('http://local.gunshiiot.com:18083/xintankou/api/file/preview/104')
|
// window.open('http://local.gunshiiot.com:18083/xintankou/api/file/preview/104')
|
||||||
// }
|
// }
|
||||||
const deleteFile = (e) => {
|
const deleteFile = (e) => {
|
||||||
debugger;
|
// debugger;
|
||||||
let arr = fileList.filter(item => item.fileId !== e)
|
let arr = fileList.filter(item => item.fileId !== e)
|
||||||
setFileList(arr)
|
setFileList(arr)
|
||||||
}
|
}
|
||||||
|
|
@ -71,7 +72,6 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
},
|
},
|
||||||
customRequest(e) {
|
customRequest(e) {
|
||||||
setFileLisUp([...fileListUp, e.file])
|
setFileLisUp([...fileListUp, e.file])
|
||||||
debugger
|
|
||||||
httppostAddfile(uploadUrl, e).then(res => {
|
httppostAddfile(uploadUrl, e).then(res => {
|
||||||
setFileList([...fileList, res.data])
|
setFileList([...fileList, res.data])
|
||||||
})
|
})
|
||||||
|
|
@ -121,7 +121,10 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
// form.resetFields()
|
form.resetFields()
|
||||||
|
},[])
|
||||||
|
useEffect(() => {
|
||||||
|
|
||||||
let formType = type
|
let formType = type
|
||||||
if (type = 'edit') {
|
if (type = 'edit') {
|
||||||
formType = 2
|
formType = 2
|
||||||
|
|
@ -130,6 +133,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
formType = 1
|
formType = 1
|
||||||
}
|
}
|
||||||
if (type == 'save') {
|
if (type == 'save') {
|
||||||
|
form.setFieldsValue(formJsonData)
|
||||||
formType = 0
|
formType = 0
|
||||||
}
|
}
|
||||||
if (formType == 1 || formType == 2 || formType == 3) {
|
if (formType == 1 || formType == 2 || formType == 3) {
|
||||||
|
|
@ -164,7 +168,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
name={item.key}
|
name={item.key}
|
||||||
rules={[{ required: item.required, message: '请输入' + item.label }]}
|
rules={[{ required: item.required, message: '请输入' + item.label }]}
|
||||||
>
|
>
|
||||||
<Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} />
|
<Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} addonAfter={item.addonAfter}/>
|
||||||
</Form.Item>}
|
</Form.Item>}
|
||||||
{item.type == "title" &&
|
{item.type == "title" &&
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
|
@ -271,7 +275,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
||||||
</Dragger>}
|
</Dragger>}
|
||||||
<div className='flex' >
|
<div className='flex' >
|
||||||
{fileList?.map((item) => {
|
{fileList?.map((item) => {
|
||||||
return <div className='flex align-center file-item' style={{ marginRight:'3%',width:'30%',minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
return <div className='flex align-center file-item' style={{marginTop:5, marginRight:'3%',width:'30%',minHeight: "50px", fontSize: 14, columnGap: 10, cursor: checkMediaType(item.fileName) == 'image' || checkMediaType(item.fileName) == 'pdf' ? 'pointer' : "not-allowed" }}>
|
||||||
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
<div style={{ width: 40, height: 40, display: "flex", alignItems: 'center' }}>
|
||||||
{checkMediaType(item.fileName) == 'image' && <Image
|
{checkMediaType(item.fileName) == 'image' && <Image
|
||||||
height={40}
|
height={40}
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,8 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
|
|
||||||
|
|
||||||
const onfinish = (values) => {
|
const onfinish = (values) => {
|
||||||
let oldFiles = fileList.map(item => (item.response?.data))
|
let oldFiles = fileList.map(item => (item.response?.data??item))
|
||||||
debugger
|
// debugger
|
||||||
if (mode === 'edit') {
|
if (mode === 'edit') {
|
||||||
values.files = oldFiles;
|
values.files = oldFiles;
|
||||||
values.id = record.id;
|
values.id = record.id;
|
||||||
|
|
@ -138,7 +138,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Form.Item label="制度类型" name="type" rules={[{ required: true }]}>
|
<Form.Item label="制度类型" name="type" rules={[{ required: true }]}>
|
||||||
<Select allowClear style={{ width: '150px' }} options={opntios} />
|
<Select allowClear style={{ width: '100%' }} options={opntios} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Col>
|
</Col>
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
|
|
@ -191,7 +191,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
||||||
fileList.length > 0 && fileList.map(file => {
|
fileList.length > 0 && fileList.map(file => {
|
||||||
return (
|
return (
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<div className="file-item" style={{ width: "75%" }}>
|
<div className="file-item" style={{ width: "75%",marginTop:5 }}>
|
||||||
<div className='file-description'>
|
<div className='file-description'>
|
||||||
{file.name.indexOf('.docx') > -1 ?
|
{file.name.indexOf('.docx') > -1 ?
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
||||||
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
||||||
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
||||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, FileExcelOutlined } from '@ant-design/icons';
|
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, PaperClipOutlined } from '@ant-design/icons';
|
||||||
import { useSelector } from 'react-redux';
|
import { useSelector } from 'react-redux';
|
||||||
import ToolBar from './toolbar';
|
import ToolBar from './toolbar';
|
||||||
import ModalForm from './form';
|
import ModalForm from './form';
|
||||||
|
|
@ -9,6 +9,8 @@ import apiurl from '../../../service/apiurl';
|
||||||
import usePageTable from '../../../components/crud/usePageTable2';
|
import usePageTable from '../../../components/crud/usePageTable2';
|
||||||
import { createCrudService } from '../../../components/crud/_';
|
import { createCrudService } from '../../../components/crud/_';
|
||||||
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
||||||
|
import { httpgetExport } from '../../../utils/request';
|
||||||
|
import { exportFile } from '../../../utils/tools';
|
||||||
|
|
||||||
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
||||||
const obj={0:"党支部工作制度",1:"行政工作制度",2:"部门工作制度",3:"安全管理制度",4:"工程管理制度",5:"技术规程",6:"岗位责任制"}
|
const obj={0:"党支部工作制度",1:"行政工作制度",2:"部门工作制度",3:"安全管理制度",4:"工程管理制度",5:"技术规程",6:"岗位责任制"}
|
||||||
|
|
@ -24,24 +26,24 @@ const Page = () => {
|
||||||
const [isFetch, setIsFetch] = useState(false)
|
const [isFetch, setIsFetch] = useState(false)
|
||||||
const columns = [
|
const columns = [
|
||||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||||
{ title: '标题', key: 'name', dataIndex: 'name', width: 250, ellipsis: true },
|
{ title: '标题', key: 'name', dataIndex: 'name', ellipsis: true },
|
||||||
{
|
{
|
||||||
title: '制度类型', key: 'type', dataIndex: 'type', width: 140,render:(v)=><>{obj[v]}</>
|
title: '制度类型', key: 'type', dataIndex: 'type',render:(v)=><>{obj[v]}</>
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate', width: 300
|
title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit', width: 300
|
title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '上传时间', key: 'uploadDate', dataIndex: 'uploadDate', width: 300
|
title: '上传时间', key: 'uploadDate', dataIndex: 'uploadDate'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '附件', key: 'files', dataIndex: 'files', width: 300,render:(v,r)=><a onClick={()=>viewPdf(v[0].fileId)}>{v[0]?.fileName}</a>
|
title: '附件', key: 'files', dataIndex: 'files', render:(v,r)=><a onClick={()=>download(v[0].fileId,v[0]?.fileName)}><PaperClipOutlined />{v[0]?.fileName}</a>
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
title: '操作', key: 'operation', fixed: 'right', align: 'center',
|
||||||
render: (value, row, index) => (
|
render: (value, row, index) => (
|
||||||
<CrudOpRender_text
|
<CrudOpRender_text
|
||||||
edit={true}
|
edit={true}
|
||||||
|
|
@ -76,7 +78,16 @@ const Page = () => {
|
||||||
refresh()
|
refresh()
|
||||||
setIsFetch(!isFetch)
|
setIsFetch(!isFetch)
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @description 文件下载
|
||||||
|
* @param {String} params 文件fileId
|
||||||
|
*/
|
||||||
|
const download = async(id, name) => {
|
||||||
|
var extension = name?.split('.').pop().toLowerCase();
|
||||||
|
httpgetExport(apiurl.zdgl.download+id).then(res => {
|
||||||
|
exportFile(name,res.data)
|
||||||
|
})
|
||||||
|
}
|
||||||
const viewPdf = (params) => {
|
const viewPdf = (params) => {
|
||||||
setIframeSrc(params)
|
setIframeSrc(params)
|
||||||
setPdfViewOPen(true)
|
setPdfViewOPen(true)
|
||||||
|
|
@ -103,7 +114,7 @@ const Page = () => {
|
||||||
/>
|
/>
|
||||||
</Card>
|
</Card>
|
||||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
const [showGj, setShowGj] = useState(false)
|
const [showGj, setShowGj] = useState(false)
|
||||||
const onFinish = (values) => {
|
const onFinish = (values) => {
|
||||||
let dateSo;
|
let dataSo;
|
||||||
if (values.tm) {
|
if (values.releaseDate) {
|
||||||
dateSo = {
|
dataSo = {
|
||||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
stm: moment(values.releaseDate[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
etm: moment(values.releaseDate[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete values.tm
|
delete values.releaseDate
|
||||||
setSearchVal({ ...values, dateSo });
|
setSearchVal({ ...values, ...dataSo });
|
||||||
}
|
}
|
||||||
|
|
||||||
const opntios = [
|
const opntios = [
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue