From 75d5bad529c848c5c8f624b5d4a2bc0ecaa6985f Mon Sep 17 00:00:00 2001 From: zhugy Date: Fri, 19 Jan 2024 11:04:21 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=85=85=E7=94=B5=E7=AB=99=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=96=B0=E5=A2=9E=E7=BB=8F=E7=BA=AC=E5=BA=A6=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TableModule/index.jsx | 83 ++++++++++++---------- src/components/TableModule/index.scss | 8 +++ src/pages/NewEnergy/ChargeStationMgm/index.scss | 6 ++ src/pages/NewEnergy/ChargeStationMgm/loadable.jsx | 64 +++++++++++------ .../RecordsInquiry/Appointment/loadable.jsx | 2 +- .../NewEnergy/RecordsInquiry/Charge/loadable.jsx | 46 +++++++++++- .../RecordsInquiry/Violation/loadable.jsx | 2 +- src/services/NewEnergy/recordsInquiry.js | 8 +-- 8 files changed, 149 insertions(+), 70 deletions(-) diff --git a/src/components/TableModule/index.jsx b/src/components/TableModule/index.jsx index 8f59462..3efcc3d 100644 --- a/src/components/TableModule/index.jsx +++ b/src/components/TableModule/index.jsx @@ -37,7 +37,7 @@ const { RangePicker } = DatePicker; //如想在外部调用搜索方法,请通过 , Ref.current.fetche 的方式调用 const TableModule = forwardRef((props, ref) => { const { - className="", + className = "", pagename = "", columns = [], //表头 tableData = [], //table的数据 @@ -50,9 +50,10 @@ const TableModule = forwardRef((props, ref) => { rowSelection = false, //自定义选择项 isExport = true, //是否显示导出按钮 diyButton,//右上角自定义按钮 + diyTotal, // 自定义统计 rightButtonGroup = [], //右侧按钮额外的展示,需要传入数组 otherData = {}, //额外需要携带的参数,传入对象 - rowKey="id", //table的key值 + rowKey = "id", //table的key值 userInfo = {},//用户信息页面数据 valueChange, mandatory, @@ -61,12 +62,12 @@ const TableModule = forwardRef((props, ref) => { limitCon,//自定义限制条件 isQuickMenu = [], mandatory_name, - renderAdd=() => {}, + renderAdd = () => { }, pageName = '',//路由名字 showSerial = false,// 表格是否显示序号 limitType = 0, // 时间限制类型 0无限制, < 0 今天之前不可选, > 0 今天之后不可选 limit = 0, // 限制距离今天之前或之后天数 - rightHeaderCompSlot= null, // 右侧头部插入自定义组件,注意计算并表格样式高度 + rightHeaderCompSlot = null, // 右侧头部插入自定义组件,注意计算并表格样式高度 } = props; const [sessionTabList, setSessionTabList] = useSessionStorageState(pageName, { value: {} @@ -131,25 +132,25 @@ const TableModule = forwardRef((props, ref) => { function onShowSizeChange(pn, page_size) { setPageData({ - pn:1, + pn: 1, page_size: page_size }); - fetch({pn:1,page_size:page_size}) + fetch({ pn: 1, page_size: page_size }) } - function onChange(pn, page_size){ - if(pageData.page_size == page_size){ + function onChange(pn, page_size) { + if (pageData.page_size == page_size) { setPageData({ pn, page_size, }); - fetch({pn,page_size}) - }else{ + fetch({ pn, page_size }) + } else { setPageData({ - pn:1, + pn: 1, page_size: page_size }); - fetch({pn:1,page_size:page_size}) + fetch({ pn: 1, page_size: page_size }) } } @@ -185,12 +186,12 @@ const TableModule = forwardRef((props, ref) => { } // 处理异常 daterange不做处理, 会出现date1.isAfter 方法异常 todo --> datepicker 也会出现这个问题 let fv = searchForm.getFieldsValue(); - Object.keys(fv).map(key=>{ - if(temp_obj.hasOwnProperty(key) && fv[key]?.length == 2 && fv[key][0]._isAMomentObject){ - if(temp_obj[key] == null || temp_obj[key].length != 2){ - temp_obj[key] = initFormData[key] ? initFormData[key] : [] - }else{ - temp_obj[key] = [moment(temp_obj[key][0]), moment( temp_obj[key][1])] + Object.keys(fv).map(key => { + if (temp_obj.hasOwnProperty(key) && fv[key]?.length == 2 && fv[key][0]._isAMomentObject) { + if (temp_obj[key] == null || temp_obj[key].length != 2) { + temp_obj[key] = initFormData[key] ? initFormData[key] : [] + } else { + temp_obj[key] = [moment(temp_obj[key][0]), moment(temp_obj[key][1])] } } }) @@ -198,7 +199,7 @@ const TableModule = forwardRef((props, ref) => { if (sessionTabList?.plateValue) { // temp_obj.carId = sessionTabList.plate2 fetchPlateSearch(sessionTabList.plateValue.match(/:(\S*)/)[1], setPlateData, []); - } + } // if (sessionTabList.start_time) { // let temp_obj = { ...sessionTabList, start_time: moment(start_time), end_time: moment(end_time) } // if (sessionTabList.plateValue){ @@ -217,7 +218,7 @@ const TableModule = forwardRef((props, ref) => { // searchForm.setFieldsValue({ ...sessionTabList, carId: sessionTabList.plate2 }) // } // let start_time = sessionTabList.start_time // let end_time = sessionTabList.end_time - } + } fetch('first') }, []) useEffect(() => { @@ -242,16 +243,16 @@ const TableModule = forwardRef((props, ref) => { } } let form = {}; - if(typeof args1 == 'object'){ - form = {...searchForm.getFieldsValue(), ...args1, ...otherData, ...updateData} - }else{ - form = {...searchForm.getFieldsValue(), ...pageData, ...otherData, ...pnno, ...updateData} + if (typeof args1 == 'object') { + form = { ...searchForm.getFieldsValue(), ...args1, ...otherData, ...updateData } + } else { + form = { ...searchForm.getFieldsValue(), ...pageData, ...otherData, ...pnno, ...updateData } } - if(args1 == 'first' ){ // 去掉plateData的监听, 避免进入页面多发送一次请求 - if(sessionTabList?.plate2){ - form.carId = sessionTabList.plate2 + if (args1 == 'first') { // 去掉plateData的监听, 避免进入页面多发送一次请求 + if (sessionTabList?.plate2) { + form.carId = sessionTabList.plate2 } - if(sessionTabList?.region?.length){ + if (sessionTabList?.region?.length) { form.region = sessionTabList.region } } @@ -283,7 +284,7 @@ const TableModule = forwardRef((props, ref) => { ) } } - if(args1 != 'first'){ + if (args1 != 'first') { if (areaName !== null) form[areaName] = areaSelectedList; } if (form.deal_time_start !== void 0 && form.deal_time_end !== void 0) {//暂时写法 @@ -597,9 +598,9 @@ const TableModule = forwardRef((props, ref) => { key={item.name} > {item.hiddenCount ? ( - //autoComplete输入框是否显示自动填充 + //autoComplete输入框是否显示自动填充 ) : ( - + )} ); @@ -817,7 +818,7 @@ const TableModule = forwardRef((props, ref) => { key={item.name} initialValue={item.defaultValue} > - + ) break; @@ -927,6 +928,9 @@ const TableModule = forwardRef((props, ref) => { export_file_name: filename, } } + if (pageName === "charge") { //特殊情况,充电记录导出 + form.start_time = moment(form.start_time[0]).format("YYYY-MM-DD") + "," + moment(form.start_time[1]).format("YYYY-MM-DD") + } if (tableData.length != 0) { exportAjax({ url: exportUrl, @@ -1024,11 +1028,11 @@ const TableModule = forwardRef((props, ref) => { 重置