diff --git a/src/pages/MerchantMgm/MerchantInfo/loadable.jsx b/src/pages/MerchantMgm/MerchantInfo/loadable.jsx index 95fdd64..5897fb7 100644 --- a/src/pages/MerchantMgm/MerchantInfo/loadable.jsx +++ b/src/pages/MerchantMgm/MerchantInfo/loadable.jsx @@ -1345,6 +1345,7 @@ const MerchantInfo = (props) => { required={true} className="form-item" validateTrigger="onBlur" + rules={[ { required: true, message: "请选择商户类型!" } ]} @@ -1352,6 +1353,7 @@ const MerchantInfo = (props) => { @@ -1370,6 +1372,7 @@ const MerchantInfo = (props) => { mode="tags" placeholder="请选择" maxTagCount={2} + getPopupContainer={(node) => node.parentElement} style={{ width: '100%', }} @@ -1389,6 +1392,7 @@ const MerchantInfo = (props) => { className="search-group-item" limit={90} showTime={false} + getPopupContainer={(node) => node.parentElement} /> @@ -1428,6 +1432,7 @@ const MerchantInfo = (props) => { node.parentElement} fieldNames={{ label: "areaName", value: "areaId", @@ -1613,6 +1618,7 @@ const MerchantInfo = (props) => { options={PAY} placeholder="请选择" className="select" + getPopupContainer={(node) => node.parentElement} onChange={e => { // handleChangeSelect(e); // setFormCreate({ ...formCreate, pay_type: e }) @@ -1646,7 +1652,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入清分比例!" } + { required: true, message: "请输入正确的清分比例(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/) } ]} > @@ -1659,7 +1665,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入清分周期!" } + { required: true, message: "请输入正确的清分周期(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/) } ]} > @@ -1672,7 +1678,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入结算费率!" } + { required: true, message: "请输入正确的结算费率(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/) } ]} > @@ -1692,6 +1698,7 @@ const MerchantInfo = (props) => { // className="select" placeholder="请选择" className="form-item charge-type-sel" + getPopupContainer={(node) => node.parentElement} > @@ -1703,7 +1710,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入结算周期!" } + { required: true, message: "请输入正确的结算周期(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1779,7 +1786,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付应用ID(开放平台)!" } + { required: true, message: "请输入正确的微信支付应用ID(开放平台)(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1792,7 +1799,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付商户ID!" } + { required: true, message: "请输入正确的微信支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1805,7 +1812,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付APL_KEY!" } + { required: true, message: "请输入正确的微信支付APL_KEY(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1818,7 +1825,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "微信支付开发者密钥!" } + { required: true, message: "请输入正确的微信支付开发者密钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1856,7 +1863,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝应用ID!" } + { required: true, message: "请输入正确的支付宝应用ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1869,7 +1876,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户ID!" } + { required: true, message: "请输入正确的支付宝支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1882,7 +1889,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户私钥!" } + { required: true, message: "请输入正确的支付宝支付商户私钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1895,7 +1902,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝公钥!" } + { required: true, message: "请输入正确的支付宝公钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1933,7 +1940,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付应用ID(开放平台)!" } + { required: true, message: "请输入正确的微信支付应用ID(开放平台)(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1946,7 +1953,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付商户ID!" } + { required: true, message: "请输入正确的微信支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1959,7 +1966,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信支付APL_KEY!" } + { required: true, message: "请输入正确的微信支付APL_KEY(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -1972,10 +1979,10 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "微信支付开发者密钥!" } + { required: true, message: "请输入正确的微信支付开发者密钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > - + @@ -2010,7 +2017,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝应用ID!" } + { required: true, message: "请输入正确的支付宝应用ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2023,7 +2030,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户ID!" } + { required: true, message: "请输入正确的支付宝支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2036,7 +2043,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户私钥!" } + { required: true, message: "请输入正确的支付宝支付商户私钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2049,7 +2056,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝公钥!" } + { required: true, message: "请输入正确的支付宝公钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2092,7 +2099,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信子商户号!" } + { required: true, message: "请输入正确的微信子商户号(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2131,7 +2138,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝应用ID!" } + { required: true, message: "请输入正确的支付宝应用ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2144,7 +2151,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户ID!" } + { required: true, message: "请输入正确的支付宝支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2157,7 +2164,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户私钥!" } + { required: true, message: "请输入正确的支付宝支付商户私钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2170,7 +2177,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝公钥!" } + { required: true, message: "请输入正确的支付宝公钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2208,7 +2215,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入微信子商户号!" } + { required: true, message: "请输入正确的微信子商户号(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2247,7 +2254,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝应用ID!" } + { required: true, message: "请输入正确的支付宝应用ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2260,7 +2267,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户ID!" } + { required: true, message: "请输入正确的支付宝支付商户ID(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2273,7 +2280,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝支付商户私钥!" } + { required: true, message: "请输入正确的支付宝支付商户私钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > @@ -2286,7 +2293,7 @@ const MerchantInfo = (props) => { className="form-item" validateTrigger="onBlur" rules={[ - { required: true, message: "请输入支付宝公钥!" } + { required: true, message: "请输入正确的支付宝公钥(不允许输入汉字)", pattern: new RegExp(/^[^\u4E00-\u9FA5]+$/)} ]} > diff --git a/src/pages/OutRoadMgm/OutPersonMgm/TollCollector/index.jsx b/src/pages/OutRoadMgm/OutPersonMgm/TollCollector/index.jsx index 0429cd1..99a6791 100644 --- a/src/pages/OutRoadMgm/OutPersonMgm/TollCollector/index.jsx +++ b/src/pages/OutRoadMgm/OutPersonMgm/TollCollector/index.jsx @@ -474,7 +474,10 @@ function TollCollector() {
diff --git a/src/pages/OutRoadMgm/OutPersonMgm/TransitionReport/index.jsx b/src/pages/OutRoadMgm/OutPersonMgm/TransitionReport/index.jsx index 7e1546d..b6f33a8 100644 --- a/src/pages/OutRoadMgm/OutPersonMgm/TransitionReport/index.jsx +++ b/src/pages/OutRoadMgm/OutPersonMgm/TransitionReport/index.jsx @@ -1,6 +1,6 @@ import React, { useState, useRef, useEffect } from "react"; -import { message, Pagination, Table, Select, Input, DatePicker, Button, Popover } from "antd"; +import { message, Pagination, Table, Select, Input, DatePicker, Button, Popover, Modal } from "antd"; import { dictionary, utils } from "@/config/common"; import moment from "moment"; import { useSessionStorageState } from "ahooks"; @@ -10,11 +10,345 @@ import RecordReviewModal from "@/components/ParkingRecordModal/RecordReviewModal import "./index.scss"; function TransitionReport() { - + // 默认数据 + const defaultData = { + operator: "0", // 商户名称 + login_name: "", // 登录名 + user_name: "", // 姓名 + time_sel: "1", // 时间下拉数据 + start_time: moment().subtract(31, "days").startOf("day").format("YYYY-MM-DD HH:mm:ss"), // 开始时间 + end_time: moment().format("YYYY-MM-DD HH:mm:ss"), // 结束时间 + pn: 1, + page_size: dictionary?.pageSizeOptions1[0] + }; + const timeSel = [ + {value: "1", label: "按上班时间"}, + {value: "2", label: "按下班时间"}, + ]; + + const [formData, setFormData] = useState(defaultData); // 表单数据 + const [sessionData, setSessionData] = useSessionStorageState("transitionReport", { value: {} }); // session缓存 + const [operatorList, setOperatorList] = useState([{ value: "0", label: "全部" }]); // 商户名称查询数据 + const [loading, setLoading] = useState(false); // 检索按钮加载状态 + + // 表格返回数据 + const [resultData, setResultData] = useState({ + total: 0, + list: [], + }); + + //列表 + const tableColumns = [ + { + title: "序号", + width: 60, + align: "center", + fixed: 'left', + render: (text, record, index) => index + 1, + }, + { + title: "商户名称", + dataIndex: "operator_name", + key: "operator_name", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "收费员姓名", + dataIndex: "user_name", + key: "user_name", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "登录名", + dataIndex: "login_name", + key: "login_name", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "上班时间", + dataIndex: "work_time", + key: "work_time", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "下班时间", + dataIndex: "clos_time", + key: "clos_time", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "上班时长", + dataIndex: "work_duration", + key: "work_duration", + align: "center", + render: (text, record, index) => text || "--", + }, + { + title: "现金收入", + dataIndex: "cash_earnings", + key: "cash_earnings", + align: "center", + render: (text, record, index) => text || "--", + }, + + { + title: '操作', + key: 'operation', + dataIndex: 'operation', + align: "center", + fixed: 'right', + width: 100, + render: (text, record, index) => { + return <> + +
console.log("详情")}>详情
+
+ } + > + + + + }, + }, + ]; + + // 获取商户名称 + const $getAllOperator = () => { + ajax.ElectInvoice.getSelectOperator().then((res) => { + if (res.status === 20000) { + setOperatorList(res.data || []); + } else { + message.error(res.message); + } + }).catch((error) => { + message.error(error.message); + }); + }; + + // 分页 + const $changePn = (pn, page_size) => { + let temFormData = {}; + if (formData.page_size == page_size) { + temFormData = { + ...formData, + pn + }; + } else { + temFormData = { + ...formData, + pn: 1, + page_size, + }; + }; + setFormData(temFormData); + $getTableList(temFormData); + }; + + + // 获取表格数据 + const $getTableList = (value = {}) => { + let _data = { + ...formData, + ...value + }; + setLoading(true); + setResultData({ list: [], total: 0 }); + ajax.getAllTransitionReportData(_data).then((res) => { + setLoading(false); + if (res.status === 20000) { + setResultData(res?.data || {}); + } else { + message.error(res.message); + } + }).catch((error) => { + setLoading(false); + message.error(error.message); + }); + }; + + useEffect(() => { + let _data = {}; + if (sessionData && Object.values(sessionData).length > 0) { + _data = { + operator: sessionData?.operator || "0", // 商户名称 + login_name: sessionData?.login_name || "", // 登录名 + user_name: sessionData?.user_name || "", // 姓名 + time_sel: sessionData?.time_sel || defaultData?.time_sel, // 时间下拉数据 + start_time: sessionData?.start_time || defaultData?.start_time, + end_time: sessionData?.end_time || defaultData?.end_time, + pn: 1, + page_size: dictionary?.pageSizeOptions1[0], + }; + setFormData({ ..._data }); + }; + $getAllOperator() + $getTableList(_data); + }, []); + + useEffect(() => { + setSessionData(formData); + }, [formData]); return (
- 交接班报表 +
+
查询条件
+
+
+ + + setFormData({ ...formData, account_number: e.target.value || "" }) + } + /> +
+
+ + + setFormData({ ...formData, user_name: e.target.value || "" }) + } + /> +
+
+ +