diff --git a/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.jsx b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.jsx new file mode 100644 index 0000000..d0d293b --- /dev/null +++ b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.jsx @@ -0,0 +1,6 @@ +import React from "react" +import loadable from "@loadable/component" +import { LoadingImg } from "@/components" + +const AppointmentRecord = loadable(() => import("./loadable")) +export default (pros) => } /> \ No newline at end of file diff --git a/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.scss b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.scss new file mode 100644 index 0000000..9a8202a --- /dev/null +++ b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/index.scss @@ -0,0 +1,238 @@ +@import "@/assets/css/mixin.scss"; +$color-container-bg: var(--color-container-bg); +$color-user-list-bg: var(--color-user-list-bg); +$color-text: var(--color-text); +$color-primary: var(--color-primary); + +.ant-tabs { + margin-bottom: 16px; + + .ant-tabs-nav { + margin-bottom: 0 !important; + + &::before { + border-bottom: 1px solid var(--color-card-line) !important; + } + } + + .ant-tabs-nav-wrap { + width: 100%; + box-sizing: content-box; + + .ant-tabs-nav-list { + width: 340px; + + .ant-tabs-ink-bar { + height: 3px; + background-color: #00ccff; + } + + .ant-tabs-tab { + flex: 1; + width: 100%; + display: flex; + justify-content: center; + padding-bottom: 10px; + text-align: center; + cursor: pointer; + font-size: 14px !important; + font-family: MicrosoftYaHei; + text-align: center; + letter-spacing: 0.7px; + } + + .ant-tabs-tab-active { + div { + color: #00ccff; + } + } + } + } +} + +.ant-input::-webkit-input-placeholder { + color: var(--color-placeholder); +} + +.ant-input::-moz-placeholder { + color: var(--color-placeholder); +} +.right-list .ant-btn-primary { + width: 68px; + height: 30px; + background: linear-gradient(180deg, #3aa9ff, #59b7ff); + border-radius: 4px; +} +.ant-input:-ms-input-placeholder { + color: var(--color-placeholder); +} +.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-thead th { + background-color: #616b83 !important; +} +.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody td { + background-color: #3e4557 !important; +} +.right-list .cc-result-flow .table-wrap .yisa-table .ant-table-tbody tr:nth-child(even) td { + background-color: #3e4557 !important; +} +.ant-input::placeholder { + color: var(--color-placeholder); +} + +.ant-select-selection-placeholder { + color: var(--color-placeholder); +} + +.ant-select-disabled.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { + background: var(--color-input-disabled-bg); + color: var(--color-placeholder); +} + +.ant-select-disabled .ant-select-arrow { + color: var(--color-placeholder); +} + +.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector { + background-color: var(--color-input-disabled-bg); + color: var(--color-input-disabled-color); + cursor: not-allowed; +} + +.ant-select-multiple { + .ant-select-selector { + .ant-select-selection-item { + background-color: var(--color-bg-body); + border-color: var(--color-border); + + .ant-select-selection-item-remove { + color: var(--color-text); + } + } + } +} + +.ant-select-arrow { + color: var(--color-text); +} + +.ant-select-clear { + border-radius: 50%; +} + +.ant-select-dropdown-menu { + background-color: var(--color-input-bg); + + .ant-select-dropdown-menu-item { + color: var(--color-text); + + &.ant-select-dropdown-menu-item-active { + color: #fff; + // background-color: var(--radio-button-bg-checked); + } + + &.ant-select-dropdown-menu-item-selected { + color: #fff; + // background-color: var(--radio-button-bg-checked); + } + + &:hover { + color: #fff; + // background-color: var(--radio-button-bg-checked); + } + } +} + +.ant-select-selector { + background-color: var(--color-search-list-item-bg) !important; + box-shadow: none !important; + border-radius: 4px; + color: var(--color-search-list-item-value); + border-color: var(--color-search-list-item-bd) !important; +} + +.ant-select-selection { + background-color: var(--color-input-bg); + box-shadow: none; + color: var(--color-text); + // border-color:var(--checkable-tag-border); +} + +.ant-form-horizontal .ant-form-item-label { + label { + display: inline-block; + word-wrap: break-word; + white-space: normal; + } +} + +.ant-picker { + width: 100%; + background-color: var(--color-search-list-item-bg); + border-color: var(--color-border); +} + +// .yisa-table { +// width: 100%; + +// .ant-table-thead { +// th { +// background: var(--color-table-header-bg) !important; +// } +// } + +// .ant-table-tbody { +// td { +// background: var(--color-table-body-bg) !important; +// border-bottom-color: var(--color-table-border-bottom-color); +// } + +// tr:nth-child(even) { +// td { +// background: var(--color-table-body-bg-nth-child-even) !important; +// } +// } + +// tr:nth-child(odd) { +// td { +// background: var(--color-table-body-bg-nth-child-even) !important; +// } +// } +// } +// } +.totalModal{ + .ant-modal-footer{ + display: none; + } + position: absolute; + top: 40px; + right: 174px; +} +.ltc-item-img { + width: 390px; + height: 300px; + border: 1px solid; + background: #6565656b; + margin-right: 20px !important; + img { + height: 295px; + width: 387px; + // object-fit: contain; + } +} +.hanleHistoyModal{ + max-height: 700px; + overflow: auto; +} +.hanleHistoyModal::-webkit-scrollbar { + width: 5px; +} +.hanleHistoyModal::-webkit-scrollbar-thumb { + background-color: #9da2ab; + border-radius: 10px; +} +.modal-img{ + img{ + width: 200px; + height: 200px; + } +} \ No newline at end of file diff --git a/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/loadable.jsx b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/loadable.jsx new file mode 100644 index 0000000..f26357d --- /dev/null +++ b/src/pages/NewEnergy/RecordsInquiry/AppointmentRecord/loadable.jsx @@ -0,0 +1,173 @@ +import React, { useState, useRef, useEffect } from "react"; +import { + message, + Pagination, + Table, + Space, + Modal, + Button, + Tabs, + Descriptions, + Input, + Steps, + Select, + Image, + Timeline, + Popover +} from "antd"; +import { dictionary } from "@/config/common"; +import ajax from "@/services"; +import { TableModule } from "@/components"; +import "./index.scss"; + +const { TextArea } = Input; + +function AppointmentRecord() { + // 详情弹窗 + const [detailVisible, setDetailVisible] = useState(false); + // 列表数据 + const [tableData, setTableData] = useState([]); + // 数据总数 + const [total, setTotal] = useState(0); + // 详情数据 + const [detailData, setDetailData] = useState({}); + // 初始搜索条件 + const initFormData = { + operator: "0", + rule_name: "", + }; + + const columns = [ + { + title: "运营商名称", + dataIndex: "operator", + key: "operator", + align: "center", + }, + { + title: "规则名称", + dataIndex: "plate", + key: "plate", + align: "center", + }, + { + title: "规则编码", + dataIndex: "plate_color", + key: "plate_color", + align: "center", + }, + { + title: "创建人", + dataIndex: "berth_id", + key: "berth_id", + width: 100, + align: "center", + }, + { + title: "创建时间", + dataIndex: "in_time", + key: "in_time", + align: "center", + }, + { + title: "操作", + dataIndex: "operation", + key: "operation", + align: "center", + fixed: "right", + width: 100, + render: (text, record, index) => { + return ( + <> + + + ) + + }, + }, + ]; + + const formSearch = [ + { + name: "operator", + type: "Select", + label: "商户名称", + defaultValue: "0", + placeholder: "请选择商户名称", + }, + { + name: "rule_name", + type: "Input", + label: "规则名称", + placeholder: "请输入出场收费员", + }, + { + name: "timePeriod", + type: "RangePicker", + label: "时间段", + }, + ]; + + // 打开弹窗 + const openModal = (index, record) => { + setDetailData(record) + setDetailVisible(true); + } + + // 检索 + const search = (params) => { + ajax.getParkingList(params).then((res) => { + if (res.status === 20000) { + setTableData(res.data.list); + setTotal(res.data.total); + } else { + message.error(res.message) + } + }); + } + + const handelAdd = () => { + setDetailVisible(true) + } + + return ( + <> + + 新增 + + } + columns={columns} + tableData={tableData} + formSearch={formSearch} + pagename="停车记录查询" + pageName={'AppointmentRecord'} + initFormData={initFormData} + total={total} + search={search} + exportUrl="/api/bpm/record/get_record_export" + /> + { + setDetailVisible(false); + }} + destroyOnClose + > + + + + ); +} + +export default AppointmentRecord; diff --git a/src/pages/NewEnergy/RecordsInquiry/index.jsx b/src/pages/NewEnergy/RecordsInquiry/index.jsx index e69de29..0f30296 100644 --- a/src/pages/NewEnergy/RecordsInquiry/index.jsx +++ b/src/pages/NewEnergy/RecordsInquiry/index.jsx @@ -0,0 +1,5 @@ +import AppointmentRecord from './AppointmentRecord' + +export default { + AppointmentRecord +} \ No newline at end of file diff --git a/src/pages/NewEnergy/index.jsx b/src/pages/NewEnergy/index.jsx index 3bdfb64..f5df6dc 100644 --- a/src/pages/NewEnergy/index.jsx +++ b/src/pages/NewEnergy/index.jsx @@ -1,7 +1,9 @@ import ChargingMgm from './ChargingMgm' import NewEnergyOverview from './NewEnergyOverview' +import RecordsInquiry from './RecordsInquiry' export default { NewEnergyOverview, - ...ChargingMgm + ...ChargingMgm, + ...RecordsInquiry } \ No newline at end of file diff --git a/src/router/router.config.js b/src/router/router.config.js index 11c15b6..04a1817 100644 --- a/src/router/router.config.js +++ b/src/router/router.config.js @@ -1336,6 +1336,12 @@ let routes = [ name: "orderRuleMgm", component: pages.OrderRuleMgm, }, + { + path: "/newEnergy/appointmentRecord", + text: "预约记录", + name: "appointmentRecord", + component: pages.AppointmentRecord, + }, ], }, ];