页面搭建

lsf-dev
xielei 2024-09-27 10:15:58 +08:00
parent e47436eda8
commit b15ec4556a
11 changed files with 63 additions and 27 deletions

View File

@ -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;/*超出内容显示为省略号*/

View File

@ -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>
</> </>

View File

@ -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";
// 将链接添加到页面中 // 将链接添加到页面中
@ -213,7 +213,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>
</> </>

View File

@ -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>
</> </>

View File

@ -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

View File

@ -176,9 +176,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
</p> </p>
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</p> <p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</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}

View File

@ -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,7 +72,7 @@ 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)
} }

View File

@ -142,9 +142,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
</p> </p>
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</p> <p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</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}

View File

@ -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])
}) })
}, []) }, [])

View File

@ -71,7 +71,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])
}) })
@ -271,7 +270,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}

View File

@ -79,7 +79,7 @@ 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;
@ -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