diff --git a/src/assets/img/qys1.png b/src/assets/img/qys1.png new file mode 100644 index 000000000..3156d9425 Binary files /dev/null and b/src/assets/img/qys1.png differ diff --git a/src/assets/img/qys2.jpg b/src/assets/img/qys2.jpg new file mode 100644 index 000000000..9b1d74f92 Binary files /dev/null and b/src/assets/img/qys2.jpg differ diff --git a/src/assets/img/qys3.jpg b/src/assets/img/qys3.jpg new file mode 100644 index 000000000..86936fbcb Binary files /dev/null and b/src/assets/img/qys3.jpg differ diff --git a/src/assets/img/qys4.png b/src/assets/img/qys4.png new file mode 100644 index 000000000..7cc4e0d47 Binary files /dev/null and b/src/assets/img/qys4.png differ diff --git a/src/assets/img/titleRight.png b/src/assets/img/titleRight.png new file mode 100644 index 000000000..32a6ef0af Binary files /dev/null and b/src/assets/img/titleRight.png differ diff --git a/src/assets/img/u7.png b/src/assets/img/u7.png new file mode 100644 index 000000000..82730bf34 Binary files /dev/null and b/src/assets/img/u7.png differ diff --git a/src/components/crud/BasicCrudModal2.js b/src/components/crud/BasicCrudModal2.js new file mode 100644 index 000000000..53ca425fb --- /dev/null +++ b/src/components/crud/BasicCrudModal2.js @@ -0,0 +1,217 @@ +import React from 'react'; +import { Modal, message } from 'antd'; +import { createCrudService } from './_'; +import apiurl from '../../service/apiurl'; + +class BasicCrudModal extends React.Component { + constructor(props) { + super(props); + + this.state = { + record: null, + open: false, + mode: null, + }; + } + + showEdit(record) { + this.setState({ record, open: true, mode: 'edit' }); + } + + showSave(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'save' }); + } + showSimilarSave(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'similarSave' }); + } + show(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'show' }); + } + + showView(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'view' }); + + } + + showReView(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'review' }); + + } + + showAdd(record) { + record = record || {}; + this.setState({ record, open: true, mode: 'add' }); + } + + showImp() { + this.setState({ open: true, mode: 'imp' }); + } + + onEdit = (path,values) => { + createCrudService(path).edit1(values).then((result) => { + if (result?.code === 200) { + message.success('修改成功'); + this.setState({ open: false }); + + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + if (this.props.extraFun) { + this.props.extraFun(); + } + } else { + message.error(result?.msg||'修改失败'); + } + }) + } + + onSave = (path,values) => { + createCrudService(path).save(values).then((result) => { + if (result?.code === 200) { + message.success('保存成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + if (this.props.extraFun) { + this.props.extraFun(); + } + } else { + message.error(result?.msg||'保存失败'); + } + }) + } + + + onDelete = (path, values) => { + createCrudService(path).del(values).then((result) => { + if (result?.code === 200) { + message.success('删除成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + } else { + message.error(result?.msg||'删除失败'); + } + }) + } + + onDeleteGet = (path,values) => { + createCrudService(path).delGet(values).then((result) => { + if (result?.code === 200) { + message.success('删除成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + if (this.props.extraFun) { + this.props.extraFun(); + } + } else { + message.error(result?.msg||'删除失败'); + } + }) + } + + onDeletePost= (path,values) => { + createCrudService(path).edit1(values).then((result) => { + if (result?.code === 200) { + message.success('删除成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + if (this.props.extraFun) { + this.props.extraFun(); + } + } else { + message.error(result?.msg||'删除失败'); + } + }) + } + onSimilarSave = (path, values) => { + createCrudService(path).delGet(values).then((result) => { + if (result?.code === 200) { + message.success('类似新增成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + } else { + message.error(result?.msg||'类似新增失败'); + } + }) + } + onFileGet = (path,values) => { + createCrudService(path).delGet(values).then((result) => { + if (result?.code === 200) { + message.success('删除成功'); + this.setState({ open: false }); + if (this.props.onCrudSuccess) { + this.props.onCrudSuccess(); + } + + + } else { + message.error(result?.msg||'删除失败'); + } + }) + } + + + whichMod = (value) => { + if(value === 'save'){ + return '新增' + }else if (value === 'add' || value === ''){ + return '新增' + }else if (value === 'edit'){ + return '修改' + }else if (value === 'view'){ + return '查看' + }else if (value === 'show' || value === 'review'){ + return '' + } else { + return '新增' + } + } + + render() { + const { record, open, mode } = this.state; + const { width, title, style, wrapClassName, formProps, component: Component,extraFun } = this.props; + if (!record || !open) { + return null; + } + + return ( + { this.setState({ open: false }) }} + > + {this.setState({ open: false })}} + onCrudSuccess={this.props.onCrudSuccess} + record={record} + onEdit={this.onEdit} + onSave={this.onSave} + onSimilarSave={this.onSimilarSave} + formProps={formProps} + /> + + ); + } +} + +export default BasicCrudModal; diff --git a/src/models/auth/_.ts b/src/models/auth/_.ts index 57f0cbfc0..8e8a19ca5 100644 --- a/src/models/auth/_.ts +++ b/src/models/auth/_.ts @@ -220,6 +220,29 @@ export async function loadMenu(): Promise { // }, ], }, + { id:id(),title:'四全',redirect:'/mgr/sq/qfg/zcdjxx', + children: [ + { id: id(), title: '全覆盖', redirect: '/mgr/sq/qfg/zcdjxx', + children: [ + { id: id(), title: '注册登记信息', path: '/mgr/sq/qfg/zcdjxx'}, + ] + }, + { id: id(), title: '全要素', redirect: '/mgr/sq/qys/kqys', + children: [ + { id: id(), title: '库区要素', path: '/mgr/sq/qys/kqys'}, + { id: id(), title: '工程要素', path: '/mgr/sq/qys/gcys'}, + { id: id(), title: '下游要素', path: '/mgr/sq/qys/xyys'}, + + ] + }, + { id: id(), title: '全周期', redirect: '/mgr/sq/qzq/gcdsj', + children: [ + { id: id(), title: '工程大事记', path: '/mgr/sq/qzq/gcdsj'}, + { id: id(), title: '全周期档案', path: '/mgr/sq/qys/qzqda'}, + ] + }, + ] + }, // { id: id(), title: '基本2情况', path: '/mgr/home', icon: 'jbqk' }, diff --git a/src/views/AppRouters.tsx b/src/views/AppRouters.tsx index 560707546..188bf5c8d 100644 --- a/src/views/AppRouters.tsx +++ b/src/views/AppRouters.tsx @@ -66,7 +66,7 @@ import Khrwgl from "./rcgl/jdkh/khrwgl" // 值班管理 import Zbb from "./zbgl/zbb" import Zbrz from "./zbgl/zbrz" -import Gcdsj from "./rcgl/gcdsj" +// import Gcdsj from "./rcgl/gcdsj" import VideoList from './video' @@ -79,6 +79,20 @@ import Gstjfx from "./gxsl/gstjfx" import Spjk from "./video" import AiWarn from "./spjk/aiWarn" + +// 四全 +import Zcdjxx from './sq/qfg/zcdjxx' +import Kqys from './sq/qys/kqys/index.js' +import Xyys from './sq/qys/xyys/index.js' +import Gcys from './sq/qys/gcys/index.js' +import Gcdsj from './sq/qzq/gcdsj' + +// import Zcdjxx from './sq/qys/' +// import Zcdjxx from './sq/qfg/zcdjxx' +// import Zcdjxx from './sq/qfg/zcdjxx' +// import Zcdjxx from './sq/qfg/zcdjxx' + + const HomePage = lazy(() => import('./Home')) const IframePage = lazy(() => import('./Iframe')) @@ -206,6 +220,15 @@ const AppRouters: React.FC = () => { { path: 'fxdd/ddjc/yjxy', element: }, { path: 'fxdd/ddjc/ddzl', element: }, { path: 'videoSurveillance', element: }, + + // 四全 + // 注册登记信息 + { path: 'sq/qfg/zcdjxx', element: }, + //库区要素 + { path: 'sq/qys/kqys', element: }, + { path: 'sq/qys/xyys', element: }, + { path: 'sq/qys/gcys', element: }, + { path: 'sq/qzq/Gcdsj', element: }, ], }, { path: '/login', element: }, diff --git a/src/views/sq/qfg/zcdjxx.js b/src/views/sq/qfg/zcdjxx.js index 636ba8681..31f8fa2f2 100644 --- a/src/views/sq/qfg/zcdjxx.js +++ b/src/views/sq/qfg/zcdjxx.js @@ -1,9 +1,10 @@ import { Image } from "antd" +import zd from '../../../assets/img/u0.png' const Page = () => { return ( - <> - - +
+ +
) } export default Page \ No newline at end of file diff --git a/src/views/sq/qys/gcys/KrLine/drpOption.js b/src/views/sq/qys/gcys/KrLine/drpOption.js new file mode 100644 index 000000000..f466540d1 --- /dev/null +++ b/src/views/sq/qys/gcys/KrLine/drpOption.js @@ -0,0 +1,97 @@ +import echarts from 'echarts/lib/echarts'; +import { GetInterval } from '../../../../../utils/tools' + +export default function drpOption({data}) { + const maxVal = Math.ceil(Math.max(...data.map(obj => obj.rz))) + const minVal = Math.floor(Math.min(...data.map(obj => obj.rz))) + const maxValX = Math.max(...data.map(obj => obj.w)) + const minValX = Math.min(...data.map(obj => obj.w)) + + + + let arr =[] + data.forEach(item=>{ + console.log(data); + arr.push([item.w,item.rz]) + }) + // console.log(GetInterval(minValX,maxValX),'jhsdjkashdjkahjk'); + return { + toolbox: { + show: true, + feature: { + saveAsImage: { + show: true, + excludeComponents: ['toolbox'], + pixelRatio: 2, + name:"库容曲线图" + } + }, + right: "14%", + top:"5%" + }, + title: { + text: "库容曲线图", + left: "40%", + }, + tooltip: { + trigger: 'axis', + }, + grid: [ + { + top: "10%", + left: "15%", + right: "15%", + bottom: "8%" + }, + ], + xAxis: [ + { + name: "库容(万m³)", + nameGap: 5, + type: 'value', + min:Math.floor(minValX / 5) *5, + max:Math.ceil(maxValX / 5) *5, + interval:GetInterval(minValX,maxValX), + data: data.map(o => o.w), + splitLine: { + show: false + }, + } + ], + yAxis: [ + { + type: 'value', + name: "库水位(m)", + minInterval:1, + splitLine: { + show: true, + lineStyle: { + color: '#07a6ff', + width: 0.25, + type: 'dotted' + } + }, + axisLabel: { + color: '#333', + fontSize: 12, + }, + axisLine: { + show: false + }, + axisTick: { + show: false, + }, + min: minVal, + max: maxVal + } + ], + series: [ + { + type: 'line', + color: "#007AFD", + data: arr, + smooth: true + }, + ] + }; +} diff --git a/src/views/sq/qys/gcys/KrLine/form.js b/src/views/sq/qys/gcys/KrLine/form.js new file mode 100644 index 000000000..f053d1b01 --- /dev/null +++ b/src/views/sq/qys/gcys/KrLine/form.js @@ -0,0 +1,79 @@ +import React,{useEffect,useState,useRef} from 'react'; +import { Form, Button, Input, Row, Col} from 'antd'; +import { formItemLayout, btnItemLayout } from '../../../../../components/crud/FormLayoutProps'; +import apiurl from '../../../../../service/apiurl'; +const ModalForm = ({ mode, record,onEdit,onSave,onCrudSuccess }) => { + const [form] = Form.useForm(); + const onFinish = async (values) => { + values.resCode = "42120250085" + values.id = record?.id + if (mode === 'edit') { + const params = { + ...record, + rz: Number(values?.rz), + w: Number(values?.w), + } + onEdit(apiurl.dataResourcesCenter.projectAndWater.kr.update,params) + } + if (mode === 'save') { + onSave(apiurl.dataResourcesCenter.projectAndWater.kr.save,values) + } + } + + return ( + <> +
+ + + + + + + + + + + + + + + + { + mode==='view'?null:( + <> + + + + + ) + } +
+ + ); +} + +export default ModalForm; diff --git a/src/views/sq/qys/gcys/KrLine/index.js b/src/views/sq/qys/gcys/KrLine/index.js new file mode 100644 index 000000000..f3728d781 --- /dev/null +++ b/src/views/sq/qys/gcys/KrLine/index.js @@ -0,0 +1,88 @@ +import React,{useEffect,useState,useRef,useMemo} from 'react' +import { Table, Button } from 'antd' +import ModalForm from './form'; +import ReactEcharts from 'echarts-for-react'; +import drpOption from './drpOption' +import apiurl from '../../../../../service/apiurl'; +import { httppost2 } from '../../../../../utils/request'; +import { CrudOpRender_text } from '../../../../../components/crud/CrudOpRender'; +import BasicCrudModal from '../../../../../components/crud/BasicCrudModal2'; +export default function Zrtx() { + const refModal = useRef(); + const columns = [ + { + title: '序号', dataIndex: 'index', key: 'index', align: "center", + render: (r, c,i) => {i + 1} + }, + { title: '水位(m)', dataIndex: 'rz', key: 'rz',align:"center" }, + { title: '库容(万m³)', dataIndex: 'w', key: 'w',align:"center" }, + { + title: '操作', dataIndex: 'op', key: 'op', align: "center",width:200, + render: (value, row, index) => ( () => command(cmd)(row)} />) + }, + ]; + const [data, setData] = useState([]) + const option = useMemo(() => { + return drpOption({data}); + }, [data]) + const getData = async () => { + try { + const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.kr.list) + setData(res.data.map((item,i) => ({...item,inx:i + 1}))) + } catch (error) { + console.log(error); + + } + } + + const command = (type) => (params) => { + if (type === 'save') { + refModal.current.showSave({}); + } else if (type === 'edit') { + refModal.current.showEdit(params) + } else if (type === 'view') { + refModal.current.showView(params); + } else if (type === 'del') { + refModal.current.onDeletePost(apiurl.dataResourcesCenter.projectAndWater.kr.delete,params); + } + } + useEffect(() => { + getData(); + }, []) + + return ( +
+

+
+
+ + +
+ { + data.length > 0 ? + :
+ +
+ } +
+ + + + + ) +} diff --git a/src/views/sq/qys/gcys/index.js b/src/views/sq/qys/gcys/index.js new file mode 100644 index 000000000..3671714f5 --- /dev/null +++ b/src/views/sq/qys/gcys/index.js @@ -0,0 +1,41 @@ +import React, { useState } from 'react' +import ProjectBasciInfo from './projectBasicInfo' +import TzParams from './tzParams' +import KrLine from './KrLine' +import MonthLl from './monthLl' +import "./index.less" +export default function ShuikuBasicInfo() { + const [tabVal, setTabVal] = useState('1') + return ( +
+
+
setTabVal('1')}>工程基础信息 +
+
setTabVal('2')}>主要特征参数 +
+
setTabVal('3')}>水库库容曲线 +
+
setTabVal('5')}>月生态流量 +
+
+
+ {tabVal === "1" ? : null} + {tabVal === "2" ? : null} + {tabVal === "3" ? : null} + {tabVal === "5" ? : null} + +
+
+ ) +} diff --git a/src/views/sq/qys/gcys/index.less b/src/views/sq/qys/gcys/index.less new file mode 100644 index 000000000..4d3cbab3c --- /dev/null +++ b/src/views/sq/qys/gcys/index.less @@ -0,0 +1,56 @@ +.shuiku-content-root{ + height: calc(100vh - 93px); + padding: 12px; + overflow-y: auto; + overflow-x: hidden; + background-color: #fff; + margin: 4px 0 0 5px; + .fxdd_hsybjs_toolbar{ + width: 100%; + height: 40px; + display: flex; + + .fxdd_hsybjs_toolbar_item{ + width: 120px; + height: 40px; + line-height: 40px; + margin-right: 5px; + border-radius: 10px 10px 0 0; + background: #D7DFEB; + border: 1px solid rgba(228, 231, 237, 1); + text-align: center; + font-size: 14px; + font-weight: 500; + color: #333; + cursor: pointer; + } + .hsybjs_checked{ + color: #409EFF; + background: #ffffff; + } + .fxdd_hsybjs_toolbar_item:hover{ + color: #409EFF; + } + + } + .shuiku-content{ + margin: 0 20px 0 60px; + padding: 20px 0; + } +} + +.ant-input[disabled]{ + color: rgba(0, 0, 0, 0.5) !important; +} + +.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{ + color: rgba(0, 0, 0, 0.5) !important; +} + +.ant-picker-input > input[disabled]{ + color: rgba(0, 0, 0, 0.5) !important; +} +.ant-select-disabled.ant-select-multiple .ant-select-selection-item{ + color: rgba(0, 0, 0, 0.5) !important; + +} \ No newline at end of file diff --git a/src/views/sq/qys/gcys/monthLl/index.js b/src/views/sq/qys/gcys/monthLl/index.js new file mode 100644 index 000000000..c5f793f76 --- /dev/null +++ b/src/views/sq/qys/gcys/monthLl/index.js @@ -0,0 +1,180 @@ +import React, { useState,useEffect } from 'react' +import { Table, Input, Form, Row, Col, Button, message } from "antd" +import { httppost2 } from '../../../../../utils/request'; +import apiurl from '../../../../../service/apiurl'; +import moment from "moment" +const EditableCell = ({ + editing, + dataIndex, + title, + inputType, + record, + index, + children, + ...restProps + }) => { + const inputNode = ; + return ( +
+ ); + }; +export default function MonthLl() { + const [form] = Form.useForm() + const columns = Array(12).fill(0).map((item, i) => ({ + title: (i + 1) + '月', + key: String(i + 1), + dataIndex: String(i + 1), + align:"center", + ellipsis: true, + editable: true, + })) + const [details, setDetails] = useState([]) + const [editingKey, setEditingKey] = useState(''); + const [skdisabled, setSkDisabled] = useState(true) + const [data, setData] = useState([]) + const isEditing = (record) => { + console.log("editingKey",editingKey,record.id); + return record.id === editingKey; + } + const mergedColumns = columns.map((col) => { + if (!col.editable) { + return col; + } + return { + ...col, + onCell: (record) => ({ + record, + inputType: "text", + dataIndex: col.dataIndex, + title: col.title, + editing: isEditing(record), + }), + }; + }); + + + const edit = () => { + form.setFieldsValue(details[0]) + setSkDisabled(false); + setEditingKey(details[0]?.id) + } + + const cancel = () => { + setSkDisabled(true); + setEditingKey("") + } + const editItem = async(arr) => { + try { + const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.monthLl.update,arr) + if (res.code == 200) { + message.success('修改成功'); + getData() + } + } catch (error) { + console.log(error); + + } + } + const save = async () => { + try { + const row = await form.validateFields(); + const newData = []; + const index = newData.findIndex((item) => details[0]?.id === item.id); + if (index > -1) { + const item = newData[index]; + newData.splice(index, 1, { + ...item, + ...row, + }); + setDetails(newData); + setEditingKey(''); + + } else { + newData.push(row); + setDetails(newData); + setEditingKey(''); + } + setSkDisabled(true) + const arr = data.map(item => ({ + ...item, + value:newData[0][item.month] ? Number(newData[0][item.month]) : '' + })) + + editItem(arr) + } catch (errInfo) { + console.log('Validate Failed:', errInfo); + } + }; + + const getData = async () => { + try { + const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.monthLl.page, { year: moment().year() }) + setData(res.data) + let obj = {} + for (let i = 0; i < res.data.length; i++) { + obj[res.data[i].month] = res.data[i].value + } + setDetails([{...obj,id:"42120250085"}]) + } catch (error) { + console.log(error); + } + } + useEffect(() => { + console.log(details); + }, [details]) + + useEffect(() => { + getData() + }, []) + + return ( +
+

月核定生态流量

+
单位:m³/s
+
+
+ {editing ? ( + + {inputNode} + + ) : ( + children + )} +
+ + + + + + { + skdisabled ? : +
+ + +
+ } + +
+ + + + ) +} diff --git a/src/views/sq/qys/gcys/projectBasicInfo/index.js b/src/views/sq/qys/gcys/projectBasicInfo/index.js new file mode 100644 index 000000000..e72367acd --- /dev/null +++ b/src/views/sq/qys/gcys/projectBasicInfo/index.js @@ -0,0 +1,458 @@ +import React,{useState,useEffect} from 'react' +import { Row, Col, Form, Input, DatePicker, Button,Upload,message,Modal } from "antd" +import {PaperClipOutlined,DeleteOutlined} from '@ant-design/icons'; +import NormalSelect from '../../../../../components/Form/NormalSelect'; +import { formItemLayout } from '../../../../../components/crud/FormLayoutProps' +import apiurl from '../../../../../service/apiurl'; +import { httpget2, httppost2 } from '../../../../../utils/request'; +import moment from 'moment' +import "./index.less" +export default function ProjectBasciInfo() { + const [form] = Form.useForm(); + const [data, setData] = useState() + const [fileList, setFileList] = useState([]) //上传文件列表 + const [fileIds, setFileIds] = useState([]) + const [loading, setLoading] = useState(false) + const [iframeId, setIframeId] = useState('') + const [perviewOpen, setPerviewOpen] = useState(false) + const [skdisabled, setSkDisabled] = useState(true) + const optionsLevel = [ + { + label: "大 (1)型", + value:"1" + }, + { + label: "大 (2)型", + value:"2" + }, + { + label: "中型", + value:"3" + }, + { + label: "小 (1)型", + value:"4" + }, + { + label: "小 (2)型", + value:"5" + }, + { + label: "其他", + value:"9" + } + ] + + const getData = async () => { + try { + const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.detail) + if (res.code == 200) { + form.setFieldsValue(res.data[0]) + setData(res.data[0]) + if (res.data[0].files.length > 0) { + getFileInfo(res.data[0]?.files[0]?.fileId) + } + } + } catch (error) { + console.log(error); + } + } + + const beforeUpload = (file) => { + const isPdf = file.type === 'application/pdf' + if (!isPdf) { + message.error("请上传pdf文件") + } + return isPdf + } + + const fileChange = (info) => { + + if (info.file.status === "done") { + setLoading(false); + + } + if (info.file.status === "uploading") { + setLoading(true); + + } + if (info.file.status === "error") { + message.error("文件上传失败") + setLoading(false); + + } + if (info?.file.type === "application/pdf") { + let fileIds = info.fileList.map(file => { + return file.response?.data?.fileId + }) + setFileIds(fileIds) + setFileList(info.fileList) + + } + } + + const deleteFile = (fileId) => { + let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); + setFileList(filterFile) + } + + const onFinish = async () => { + try { + let oldFiles = fileList.map(item => ({ fileId: item.response?.data?.fileId })) + const values = form.getFieldsValue(); + const params = { + ...data, + ...values, + files:oldFiles + } + const res = await httppost2(apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.update,params) + if (res.code == 200) { + message.success("修改成功") + setSkDisabled(true) + getData() + } + } catch (error) { + console.log(error); + + } + + } + + const getFileInfo = async(id) => { + try { + const res = await httpget2(`${apiurl.dataResourcesCenter.projectAndWater.shuikuBasicinfo.getFile}/${id}`) + let obj ={ + name: res.data.fileName, + response: { + data: { + filePath: res.data.filePath, + fileId:res.data.fileId + } + }, + } + setFileList([obj]) + } catch (error) { + console.log(error); + + } + } + useEffect(() => { + getData() + }, []) + + return ( +
+
+ +
+ + + + + + + + + + + + + + + + + + dateString} + getValueProps={value => ({ + value: value ? moment(value) : undefined + })} + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dateString} + getValueProps={value => ({ + value: value ? moment(value) : undefined + })} + > + + + + + dateString} + getValueProps={value => ({ + value: value ? moment(value) : undefined + })} + > + + + + + + + + + + + + + + + + + + { + return ( +
+ + { setPerviewOpen(true); setIframeId(file.response?.data?.fileId)}} + > + {file?.name} + {skdisabled ? null : + deleteFile(file.response?.data?.fileId)} + /> + } +
+ ) + }} + > + {skdisabled ? null : + + } +
+
+ + + + + + + + + + + + + + + + + + + + { + skdisabled ? : +
+ + +
+ } + +
+ + + + + { + setPerviewOpen(false) + }} + > +