From 68119f3f9ee81a736cf38559722a6168bcffd396 Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Wed, 15 Oct 2025 15:35:27 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E4=BA=BA=E5=B7=A5=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BD=95=E5=85=A5=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/service/apiurl.js | 11 +++- src/views/gcaqjc/bzt2/index.js | 2 +- src/views/gcaqjc/sjtjcx/sjlr/sy/form.js | 20 +++--- src/views/gcaqjc/sjtjcx/sjlr/sy/index.js | 77 +++++++++++++--------- src/views/gcaqjc/sjtjcx/sjlr/sy/toolbar.js | 15 ++++- src/views/gcaqjc/sjtjcx/sjlr/wy/form.js | 30 ++++----- src/views/gcaqjc/sjtjcx/sjlr/wy/index.js | 51 ++++++++++---- src/views/gcaqjc/sjtjcx/sjlr/wy/toolbar.js | 12 ++-- src/views/gcaqjc/sjtjcx/wyjc/index.js | 17 +++-- src/views/gcaqjc/sjtjcx/wyjc/toolbar.js | 22 ++++--- 10 files changed, 165 insertions(+), 92 deletions(-) diff --git a/src/service/apiurl.js b/src/service/apiurl.js index 64505f0d6..a5ec8fc53 100644 --- a/src/service/apiurl.js +++ b/src/service/apiurl.js @@ -295,7 +295,16 @@ const apiurl = { save: service_fxdd + "/osmoticPressR/artificial/insert", edit: service_fxdd + "/osmoticPressR/artificial/update", page: service_fxdd + "/osmoticPressR/artificial/page", - del: service_fxdd + "/osmoticPressR/artificial/del/", + del: service_fxdd + "/osmoticPressR/artificial/delete", + export: service_fxdd + "/osmoticPressR/artificial/export", + }, + rgwyjc:{ + save: service_fxdd + "/osmoticShiftR/artificial/insert", + edit: service_fxdd + "/osmoticShiftR/artificial/update", + page: service_fxdd + "/osmoticShiftR/artificial/page", + del: service_fxdd + "/osmoticShiftR/artificial/delete", + export: service_fxdd + "/osmoticShiftR/artificial/export", + list:service_fxdd + "/osmoticShiftR/artificial/tree" }, wyjc:{ save: service_fxdd + "/osmoticShiftR/insert", diff --git a/src/views/gcaqjc/bzt2/index.js b/src/views/gcaqjc/bzt2/index.js index 0b035750a..7df33f1e4 100644 --- a/src/views/gcaqjc/bzt2/index.js +++ b/src/views/gcaqjc/bzt2/index.js @@ -82,7 +82,7 @@ export default function Page({isHome}) { if(code!==200){ return } - const list = data?.map((item)=>({...item,stationCode:item.cd})) + const list = data?.map((item) => ({ ...item, stationCode: item.cd })) setWyList(list||[]) } diff --git a/src/views/gcaqjc/sjtjcx/sjlr/sy/form.js b/src/views/gcaqjc/sjtjcx/sjlr/sy/form.js index f3133533e..2ac0b830d 100644 --- a/src/views/gcaqjc/sjtjcx/sjlr/sy/form.js +++ b/src/views/gcaqjc/sjtjcx/sjlr/sy/form.js @@ -15,6 +15,8 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const [dmCode, setDmCode] = useState('') const onFinish = (values) => { if (mode === 'edit') { + values.updateMstm = values.mstm; + delete values.mstm; onEdit(apiurl.gcaqjc.sjtjcx.sjlr.rgjc.edit, { ...record, ...values }) } if (mode === 'save') { @@ -28,7 +30,6 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const getDmList = async () => { try { const res = await httppost2(apiurl.gcaqjc.sjtjcx.sycx.list) - setDmCd(res.data) const sortedData = res.data.sort((a, b) => { // 判断a、b是否为ZB0开头 const isAZB0 = a.profileCode.startsWith('ZB0'); @@ -48,6 +49,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const getStationCode = async () => { try { const res = await httpget2(apiurl.gcaqjc.sjtjcx.sycx.list1) + setDmCd(res.data) const list = [] res?.data?.map((item) => { const { dvcd, dm } = item @@ -69,14 +71,14 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { const onValuesChange = (v) => { if ("dvcd" in v) { - // const updToDmMap = {}; // 键:UPD编码,值:对应的dm - // dmCd.forEach(item => { - // const currentDm = item.dm; // 当前dm - // item.dvcd.forEach(upd => { - // updToDmMap[upd] = currentDm; // 为每个UPD绑定dm - // }); - // }); - // form.setFieldValue("dm",updToDmMap[v?.dvcd]) + const updToDmMap = {}; // 键:UPD编码,值:对应的dm + dmCd.forEach(item => { + const currentDm = item.dm; // 当前dm + item.dvcd.forEach(upd => { + updToDmMap[upd] = currentDm; // 为每个UPD绑定dm + }); + }); + form.setFieldValue("dm",updToDmMap[v?.dvcd]) } } diff --git a/src/views/gcaqjc/sjtjcx/sjlr/sy/index.js b/src/views/gcaqjc/sjtjcx/sjlr/sy/index.js index c6e924ade..874c01aea 100644 --- a/src/views/gcaqjc/sjtjcx/sjlr/sy/index.js +++ b/src/views/gcaqjc/sjtjcx/sjlr/sy/index.js @@ -1,6 +1,6 @@ -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 { Table, Card,Modal,Form,Input,Button,Row,Col,message } from 'antd'; +import { Table, Card, Modal, Form, Input, Button, Row, Col, message } from 'antd'; import ModalForm from './form'; import ToolBar from './toolbar'; import { useSelector } from 'react-redux'; @@ -9,40 +9,51 @@ import usePageTable from '../../../../../components/crud/usePageTable2'; import { createCrudService } from '../../../../../components/crud/_'; import { CrudOpRender_text } from '../../../../../components/crud/CrudOpRender'; import { exportFile } from '../../../../../utils/tools.js'; -import { httppost5 } from '../../../../../utils/request'; +import { httppost2, httppost5 } from '../../../../../utils/request'; import "./index.less" const Page = () => { const role = useSelector(state => state.auth.role); - const editBtn = role?.rule?.find(item => item.menuName == "编辑")||true; - const viewBtn = role?.rule?.find(item => item.menuName == "查看")||true; - const delBtn = role?.rule?.find(item => item.menuName == "删除")||true; + const editBtn = role?.rule?.find(item => item.menuName == "编辑") || true; + const viewBtn = role?.rule?.find(item => item.menuName == "查看") || true; + const delBtn = role?.rule?.find(item => item.menuName == "删除") || true; const refModal = useRef(); const [searchVal, setSearchVal] = useState(false) const columns = [ - { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align:"center" }, - { title: '测点名称', key: 'dvcd', dataIndex: 'dvcd', width: 200, ellipsis: true, align:"center" }, - { title: '断面名称', key: 'dmName', dataIndex: 'dmName', width: 200, align:"center"}, - { title: '测量时间', key: 'mstm', dataIndex: 'mstm', width: 200, align:"center"}, + { title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" }, + { title: '测点名称', key: 'dvcd', dataIndex: 'dvcd', width: 200, ellipsis: true, align: "center" }, + { title: '断面名称', key: 'dmName', dataIndex: 'dmName', width: 200, align: "center" }, + { title: '测量时间', key: 'mstm', dataIndex: 'mstm', width: 200, align: "center" }, { - title: '渗流压力水位(m)', key: 'spprwl', dataIndex: 'spprwl', width: 200, align:"center", + title: '渗流压力水位(m)', key: 'spprwl', dataIndex: 'spprwl', width: 200, align: "center", }, - { title: '温度(°C)', key: 'tm', dataIndex: 'tm', width: 250, ellipsis: true,align:"center", }, - { title: '更新时间', key: 'updateTm', dataIndex: 'updateTm', width: 200, ellipsis: true,align:"center", }, + { title: '温度(°C)', key: 'tm', dataIndex: 'tm', width: 250, ellipsis: true, align: "center", }, + { title: '更新时间', key: 'updateTm', dataIndex: 'updateTm', width: 200, ellipsis: true, align: "center", }, { - title: '操作', key: 'operation', width: 240, fixed: 'right',align: 'center', + title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center', render: (value, row, index) => ( () => command(cmd)(row)} />) + edit={editBtn ? true : false} + del={delBtn ? true : false} + command={(cmd) => () => command(cmd)(row)} />) }, ]; - - const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); + const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); + const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcaqjc.sjtjcx.sjlr.rgjc.page).find_noCode); + const del = async (url, parmas) => { + try { + const res = await httppost2(url, parmas); + if (res.code == 200) { + message.success("删除成功"); + refresh(); + } + } catch (error) { + console.log(error); + } + } const command = (type) => (params) => { if (type === 'save') { refModal.current.showSave(); @@ -51,20 +62,26 @@ const Page = () => { } else if (type === 'view') { refModal.current.showView(params); } else if (type === 'del') { - const url = apiurl.gcaqjc.sjtjcx.sjlr.rgjc.del + params.mpcd+'/'+params.mstm - refModal.current.onDeleteGet(url); + const par = { mpcd: params.mpcd, mstm: params.mstm, stcd: params.stcd }; + const url = apiurl.gcaqjc.sjtjcx.sjlr.rgjc.del + del(url, par); } } - - const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcaqjc.sjtjcx.sjlr.rgjc.page).find_noCode); + + const exportExcel = () => { + let pageSo = { + pageNumber: tableProps.pagination.current, + pageSize:tableProps.pagination.pageSize + } let params = { ...searchVal, + pageSo } - httppost5(apiurl.gcaqjc.sjtjcx.ndsytjb.export, params).then(res => { - exportFile(`渗压监测表.xlsx`,res.data) - }) + httppost5(apiurl.gcaqjc.sjtjcx.sjlr.rgjc.export, params).then(res => { + exportFile(`人工录入渗压监测表.xlsx`, res.data) + }) } useEffect(() => { if (searchVal) { @@ -76,8 +93,8 @@ const Page = () => { search(params) } }, [searchVal]) - - + + return ( <>
@@ -89,8 +106,8 @@ const Page = () => { exportFile={exportExcel} /> -
- +
+
{ const [dmList, setDmList] = useState([]) const [codeList, setCodeList] = useState([]) const [dmCode, setDmCode] = useState('') + const [dmCd, setDmCd] = useState([]) const getDmList = async () => { try { @@ -61,6 +62,7 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role,exportFile }) => { const getStationCode = async () => { try { const res = await httpget2(apiurl.gcaqjc.sjtjcx.sycx.list1) + setDmCd(res.data) const list = [] res?.data?.map((item) => { const { dvcd, dm } = item @@ -100,6 +102,17 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role,exportFile }) => { break; } + if ("dvcd" in e) { + const updToDmMap = {}; // 键:UPD编码,值:对应的dm + dmCd.forEach(item => { + const currentDm = item.dm; // 当前dm + item.dvcd.forEach(upd => { + updToDmMap[upd] = currentDm; // 为每个UPD绑定dm + }); + }); + form.setFieldValue("dm",updToDmMap[e?.dvcd]) + } + } const onFinish = (values) => { let dateSo; @@ -153,7 +166,7 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role,exportFile }) => { options={optionsType} /> - + { console.log("record",record); const [form] = Form.useForm(); - const [dmList, setDmList] = useState([]) const [codeList, setCodeList] = useState([]) - const [dmCode,setDmCode] = useState('') const onFinish = (values) => { if (mode === 'edit') { - onEdit(apiurl.gcaqjc.sjtjcx.sjlr.wyjc.edit,{...record,...values}) + values.newUpdateCd = values.cd; + values.newUpdateTm = values.tm; + delete values.cd; + delete values.tm; + onEdit(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.edit,{...record,...values}) } if (mode === 'save') { - onSave(apiurl.gcaqjc.sjtjcx.sjlr.wyjc.save,values) + onSave(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.save,values) } } - const getDmList = async () => { - try { - const res = await httppost2(apiurl.gcaqjc.sjtjcx.sycx.list) - setDmList(res.data.map(s=>({label:s.profileName,value:s.profileCode}))); - } catch (error) { - console.log(error); - } - } - const getStationCode = async () => { try { - const res = await httppost2(apiurl.gcaqjc.sjtjcx.wycx.list) - setCodeList(res.data); + const res = await httpget2(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.list) + if (res.code == 200) { + setCodeList(res.data.map(s=>({label:s.cd,value:s.cd}))); + } } catch (error) { console.log(error); } @@ -45,7 +40,6 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => { useEffect(()=>{ - getDmList() getStationCode() }, []) @@ -75,7 +69,7 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => { disabled={mode==='view'} allowClear style={{ width: "100%" }} - options={codeList.map(s=>({label:s.cd,value:s.cd}))} + options={codeList} /> { const role = useSelector(state => state.auth.role); @@ -40,7 +42,18 @@ const Page = () => { const width = useMemo(() => columns.reduce((total, cur) => total + (cur.width), 0), [columns]); - + const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.page).find_noCode); + const del = async (url, parmas) => { + try { + const res = await httppost2(url, parmas); + if (res.code == 200) { + message.success("删除成功"); + refresh(); + } + } catch (error) { + console.log(error); + } + } const command = (type) => (params) => { if (type === 'save') { refModal.current.showSave(); @@ -49,21 +62,36 @@ const Page = () => { } else if (type === 'view') { refModal.current.showView(params); } else if (type === 'del') { - const url = apiurl.gcaqjc.sjtjcx.sjlr.wyjc.del + params.cd+'/'+params.tm - refModal.current.onDeleteGet(url); + const par = { cd: params.cd, tm: params.tm}; + const url = apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.del + del(url, par); } } - const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcaqjc.sjtjcx.sjlr.wyjc.page).find_noCode); + const exportExcel = () => { + let pageSo = { + pageNumber: tableProps.pagination.current, + pageSize:tableProps.pagination.pageSize + } + let params = { + ...searchVal, + pageSo + } + httppost5(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.export, params).then(res => { + exportFile(`人工录入位移监测表.xlsx`, res.data) + }) + } useEffect(()=>{ - const params = { - search: { - ...searchVal, - } - }; - search(params) + if (searchVal) { + const params = { + search: { + ...searchVal, + } + }; + search(params) + } }, [searchVal]) @@ -75,6 +103,7 @@ const Page = () => { setSearchVal={setSearchVal} onSave={command('save')} role={role} + exportFile={exportExcel} />
diff --git a/src/views/gcaqjc/sjtjcx/sjlr/wy/toolbar.js b/src/views/gcaqjc/sjtjcx/sjlr/wy/toolbar.js index 104327ea6..7ec144fef 100644 --- a/src/views/gcaqjc/sjtjcx/sjlr/wy/toolbar.js +++ b/src/views/gcaqjc/sjtjcx/sjlr/wy/toolbar.js @@ -5,7 +5,7 @@ import AdcdFuzzyTreeSelect from '../../../../../components/Form/AdcdFuzzyTreeSel import NormalSelect from '../../../../../components/Form/NormalSelect'; import { config } from '../../../../../config'; import moment from 'moment'; -import { httppost2 } from '../../../../../utils/request'; +import { httppost2,httpget2 } from '../../../../../utils/request'; import apiurl from '../../../../../service/apiurl'; const { RangePicker } = DatePicker; const ToolBar = ({ setSearchVal, onSave, storeData,role,exportFile }) => { @@ -50,8 +50,10 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role,exportFile }) => { const getStationCode = async () => { try { - const res = await httppost2(apiurl.gcaqjc.sjtjcx.wycx.list) - setCodeList(res.data.map(s=>({label:s.cd,value:s.cd}))); + const res = await httpget2(apiurl.gcaqjc.sjtjcx.sjlr.rgwyjc.list) + if (res.code == 200) { + setCodeList(res.data.map(s=>({label:s.cd,value:s.cd}))); + } } catch (error) { console.log(error); } @@ -130,10 +132,10 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role,exportFile }) => { options={optionsType} /> - + diff --git a/src/views/gcaqjc/sjtjcx/wyjc/index.js b/src/views/gcaqjc/sjtjcx/wyjc/index.js index 853b00add..a9128a960 100644 --- a/src/views/gcaqjc/sjtjcx/wyjc/index.js +++ b/src/views/gcaqjc/sjtjcx/wyjc/index.js @@ -44,13 +44,16 @@ const Page = () => { const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcaqjc.sjtjcx.wycx.page).find_noCode); - useEffect(()=>{ - const params = { - search: { - ...searchVal, - } - }; - search(params) + useEffect(() => { + if (searchVal) { + const params = { + search: { + ...searchVal, + } + }; + search(params) + + } }, [searchVal]) return ( <> diff --git a/src/views/gcaqjc/sjtjcx/wyjc/toolbar.js b/src/views/gcaqjc/sjtjcx/wyjc/toolbar.js index 0ea393095..9bd0e5a13 100644 --- a/src/views/gcaqjc/sjtjcx/wyjc/toolbar.js +++ b/src/views/gcaqjc/sjtjcx/wyjc/toolbar.js @@ -10,7 +10,6 @@ import apiurl from '../../../../service/apiurl'; const { RangePicker } = DatePicker; const ToolBar = ({ setSearchVal, onSave, storeData,role }) => { const searchBtn = role?.rule?.find(item => item.menuName == "查询")||true; - const optionsType = [ { label: "今日", @@ -37,7 +36,7 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => { const [codeList, setCodeList] = useState([]) const [dmList, setDmList] = useState([]) - + const [showDm, setShowDm] = useState(true) const getStationCode = async () => { try { const res = await httppost2(apiurl.gcaqjc.sjtjcx.wycx.list) @@ -76,6 +75,11 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => { default: break; } + + if ("isArtificial" in e) { + const isShowDmSearch = e.isArtificial == 0; + setShowDm(isShowDmSearch) + } } const onFinish = (values) => { @@ -98,8 +102,8 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => { useEffect(() => { let time = [moment().subtract(1,"weeks"),moment()] let dateSo = { - start:moment(time[0]).format('YYYY-MM-DD 00:00:00'), - end:moment(time[1]).format('YYYY-MM-DD 23:59:59'), + start:moment(time[0]).format('YYYY-MM-DD HH:mm:ss'), + end:moment(time[1]).format('YYYY-MM-DD HH:mm:ss'), } form.setFieldValue("tm",time) setSearchVal({dateTimeRangeSo:dateSo}) @@ -125,20 +129,20 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => { options={optionsType} /> - {/* + - */} - + + {showDm && - + } {searchBtn ? : null }