ledger.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874
  1. <template>
  2. <div class="content-box">
  3. <div class="left">
  4. <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
  5. <span class="cameratxt">台账管理</span>
  6. </div>
  7. <div>
  8. <div class="top">
  9. <ul>
  10. <li>
  11. <p>{{ pendingOrderSum }}</p>
  12. <span>订单总额(元)</span>
  13. </li>
  14. <li>
  15. <p>{{ orderSum }}</p>
  16. <span>支付总额(元)</span>
  17. </li>
  18. <li>
  19. <p>{{ consumerOrderSum }}</p>
  20. <span>退款总额(元)</span>
  21. </li>
  22. <li>
  23. <p>{{ sumAccount }}</p>
  24. <span>入账总额(元)</span>
  25. </li>
  26. </ul>
  27. </div>
  28. <div class="middle">
  29. <div class="filter">
  30. <div class="condition">
  31. <span>关键字 : </span>
  32. <el-input
  33. :clearable="true"
  34. @clear="searchBtn"
  35. v-model="searchInput.keyWord"
  36. class="w-50 m-2"
  37. placeholder="请输入订单、预定人、手机号"
  38. style="width: 220px"
  39. />
  40. </div>
  41. <div class="condition">
  42. <span>支付时间 : </span>
  43. <el-date-picker
  44. v-model="searchInput.createTime"
  45. type="daterange"
  46. range-separator="-"
  47. start-placeholder="起始时间"
  48. end-placeholder="结束时间"
  49. format="YYYY-MM-DD"
  50. value-format="YYYY-MM-DD"
  51. :prefix-icon="Calendar"
  52. placeholder="请选择日期"
  53. style="width: 230px"
  54. />
  55. </div>
  56. <div class="condition">
  57. <span>退房时间 : </span>
  58. <el-date-picker
  59. v-model="searchInput.checkOutTime"
  60. type="daterange"
  61. range-separator="-"
  62. start-placeholder="起始时间"
  63. end-placeholder="结束时间"
  64. format="YYYY-MM-DD"
  65. value-format="YYYY-MM-DD"
  66. :prefix-icon="Calendar"
  67. placeholder="请选择日期"
  68. style="width: 230px"
  69. />
  70. </div>
  71. <div class="condition">
  72. <span>清账状态 : </span>
  73. <el-select
  74. :clearable="false"
  75. v-model="searchInput.status"
  76. class="m-2"
  77. placeholder="请选择清账状态"
  78. style="width: 200px"
  79. >
  80. <el-option label="全部" :value="2" />
  81. <el-option label="未清账" :value="0" />
  82. <el-option label="已清账" :value="1" />
  83. </el-select>
  84. </div>
  85. <el-button
  86. style="margin-left: 20px"
  87. color="rgba(9, 101, 98, 1)"
  88. type="primary"
  89. class="search"
  90. @click="searchBtn"
  91. ><el-icon>
  92. <Search />
  93. </el-icon>
  94. <span>查询</span></el-button
  95. >
  96. <el-button
  97. style="margin-left: 20px"
  98. color="rgba(9, 101, 98, 1)"
  99. type="primary"
  100. class="search"
  101. @click="importExcel"
  102. ><span>导出订单</span></el-button
  103. >
  104. </div>
  105. </div>
  106. <div class="footer" v-loading="loading">
  107. <!-- <el-table
  108. :row-class-name="tableRowClassName"
  109. :data="tableData.list"
  110. style="width: 100%"
  111. :header-cell-style="{
  112. background: 'rgba(240, 243, 247, 1)',
  113. height: '50px',
  114. border: 0,
  115. }"
  116. >
  117. <el-table-column
  118. align="center"
  119. prop="orderNum"
  120. label="已消费订单号"
  121. />
  122. <el-table-column align="center" prop="userName" label="预订人" />
  123. <el-table-column align="center" prop="userPhone" label="手机号码" />
  124. <el-table-column
  125. align="center"
  126. prop="houseOrderNumber"
  127. label="房间数(间)"
  128. />
  129. <el-table-column
  130. align="center"
  131. prop="payAccount"
  132. label="订单金额(元)"
  133. />
  134. <el-table-column align="center" prop="payTime" label="支付时间" />
  135. </el-table> -->
  136. <el-table
  137. :row-class-name="tableRowClassName"
  138. :data="tableData.list"
  139. style="width: 100%"
  140. :header-cell-style="{
  141. background: 'rgba(240, 243, 247, 1)',
  142. height: '50px',
  143. border: 0,
  144. }"
  145. >
  146. <el-table-column align="center" prop="createTime" label="交易时间" />
  147. <el-table-column
  148. align="center"
  149. width="180"
  150. prop="orderNum"
  151. label="订单号"
  152. />
  153. <el-table-column
  154. align="center"
  155. width="60"
  156. prop="userName"
  157. label="预订人"
  158. />
  159. <el-table-column
  160. align="center"
  161. width="120"
  162. prop="userPhone"
  163. label="手机号码"
  164. />
  165. <el-table-column
  166. align="center"
  167. width="100"
  168. prop="orderAccount"
  169. label="订单金额(元)"
  170. />
  171. <el-table-column
  172. align="center"
  173. width="100"
  174. prop="payAccount"
  175. label="支付金额(元)"
  176. />
  177. <el-table-column
  178. align="center"
  179. width="100"
  180. prop="refundAmount"
  181. label="退款金额(元)"
  182. />
  183. <el-table-column
  184. align="center"
  185. width="100"
  186. prop="inAccount"
  187. label="入账金额(元)"
  188. />
  189. <el-table-column align="center" prop="payTime" label="支付时间" />
  190. <el-table-column
  191. align="center"
  192. prop="checkOutTime"
  193. label="退房时间"
  194. />
  195. <el-table-column
  196. align="center"
  197. width="100"
  198. prop="saccountState"
  199. label="清账状态"
  200. >
  201. <template #default="{ row }">
  202. <div
  203. class="saccountState"
  204. v-if="row.saccountState == 1"
  205. style="color: #000"
  206. >
  207. 已清账
  208. </div>
  209. <div
  210. class="saccountState"
  211. v-if="row.saccountState == 0"
  212. style="color: rgba(212, 48, 48, 1)"
  213. >
  214. 未清账
  215. </div>
  216. </template>
  217. </el-table-column>
  218. <el-table-column
  219. align="center"
  220. prop="saccountTime"
  221. label="清账时间"
  222. />
  223. </el-table>
  224. </div>
  225. <!-- 分页组件 -->
  226. <div class="pageSize">
  227. <span></span>
  228. <el-pagination
  229. background
  230. :current-page="currentPage"
  231. :page-size="pageSize"
  232. layout="total, prev, pager, next, jumper, slot"
  233. :total="total"
  234. @update:current-page="handleCurrentChange"
  235. />
  236. </div>
  237. </div>
  238. </div>
  239. </template>
  240. <script setup>
  241. import {
  242. ref,
  243. reactive,
  244. nextTick,
  245. watch,
  246. onBeforeMount,
  247. onUnmounted,
  248. } from "vue";
  249. import { useRouter } from "vue-router";
  250. import { ElMessage, ElMessageBox } from "element-plus";
  251. import { Calendar } from "@element-plus/icons-vue";
  252. import vidiconsApi from "@/api/vidicons.js";
  253. import { dayjs } from "element-plus";
  254. import lodash from "lodash";
  255. import axios from "axios";
  256. import { useStore } from "vuex";
  257. const store = useStore();
  258. const api = ref("");
  259. const router = useRouter();
  260. // 表格数据
  261. const loading = ref(false);
  262. const tableData = reactive({
  263. list: [
  264. // {
  265. // userName: "111233342",
  266. // userName2: "张三",
  267. // userPhone: "1121311",
  268. // teamName: 12,
  269. // schoolName: 1200,
  270. // workTypeName: "2023-08-01 12:09:08",
  271. // },
  272. // {
  273. // userName: "111233342",
  274. // userName2: "张三",
  275. // userPhone: "1121311",
  276. // teamName: 12,
  277. // schoolName: 1200,
  278. // workTypeName: "2023-08-01 12:09:08",
  279. // },
  280. // {
  281. // userName: "111233342",
  282. // userName2: "张三",
  283. // userPhone: "1121311",
  284. // teamName: 12,
  285. // schoolName: 1200,
  286. // workTypeName: "2023-08-01 12:09:08",
  287. // },
  288. // {
  289. // userName: "111233342",
  290. // userName2: "张三",
  291. // userPhone: "1121311",
  292. // teamName: 12,
  293. // schoolName: 1200,
  294. // workTypeName: "2023-08-01 12:09:08",
  295. // },
  296. // {
  297. // userName: "111233342",
  298. // userName2: "张三",
  299. // userPhone: "1121311",
  300. // teamName: 12,
  301. // schoolName: 1200,
  302. // workTypeName: "2023-08-01 12:09:08",
  303. // },
  304. ],
  305. });
  306. const searchInput = reactive({
  307. keyWord: "",
  308. teamId: "",
  309. schoolId: "",
  310. createTime: "",
  311. status: 2,
  312. checkOutTime: "",
  313. }); // 搜索按钮数据
  314. const currentPage = ref(1); // 当前页
  315. const pageSize = ref(7);
  316. const total = ref(); // 当前总数
  317. const selectData = reactive({ list: [] }); // 多选框选择的数据
  318. const pendingOrderSum = ref(); // 订单总额(元)
  319. const orderSum = ref(); // 支付总额(元)
  320. const consumerOrderSum = ref(); // 退款总额(元)
  321. const sumAccount = ref(); // 入账总额(元)
  322. // 表单验证
  323. const rules = reactive({
  324. // serial: [{ required: true, message: "序列号不能为空", trigger: "blur" }],
  325. userName: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
  326. cardNumber: [
  327. { required: true, message: "微校卡号不能为空", trigger: "blur" },
  328. ],
  329. userzzId: [{ required: true, message: "身份不能为空", trigger: "blur" }],
  330. userPhone: [{ required: true, message: "手机号码不能为空", trigger: "blur" }],
  331. schoolId: [{ required: true, message: "校区不能为空", trigger: "blur" }],
  332. workType: [{ required: true, message: "工种不能为空", trigger: "blur" }],
  333. teamId: [{ required: true, message: "维修班不能为空", trigger: "blur" }],
  334. articleIds: [
  335. { required: true, message: "关联报修类型不能为空", trigger: "blur" },
  336. ],
  337. buildIds: [{ required: true, message: "关联楼栋不能为空", trigger: "blur" }],
  338. acceptanceTime: [
  339. { required: true, message: "接单考核时间不能为空", trigger: "blur" },
  340. ],
  341. maintenanceTime: [
  342. { required: true, message: "维修考核时间不能为空", trigger: "blur" },
  343. ],
  344. });
  345. watch(
  346. () => searchInput.createTime,
  347. (newVal, oldVal) => {
  348. console.log("支付时间:", newVal);
  349. if (newVal == null) {
  350. getList();
  351. }
  352. }
  353. );
  354. watch(
  355. () => searchInput.checkOutTime,
  356. (newVal, oldVal) => {
  357. console.log("退房时间:", newVal);
  358. if (newVal == null) {
  359. getList();
  360. }
  361. }
  362. );
  363. // 头部数据
  364. const headerData = async () => {
  365. let data = new FormData();
  366. data.set("ledgerParam", searchInput.keyWord);
  367. data.set("managerId", sessionStorage.getItem("token"));
  368. data.set("saccountState", searchInput.status);
  369. if (searchInput.status == 2) {
  370. data.set("saccountState", "");
  371. }
  372. if (searchInput.createTime) {
  373. data.set("payStartTime", searchInput.createTime[0]);
  374. data.set("payEndTime", searchInput.createTime[1]);
  375. }
  376. if (searchInput.checkOutTime) {
  377. data.set("leaveStartTime", searchInput.checkOutTime[0]);
  378. data.set("leaveEndTime", searchInput.checkOutTime[1]);
  379. }
  380. let res = await axios({
  381. method: "post",
  382. url: api.value + "/mhotel/bookqueryLedgerTj.action",
  383. headers: {},
  384. data: data,
  385. });
  386. console.log(res, "头部数据");
  387. if (res.data.code == 200) {
  388. pendingOrderSum.value = res.data.orderT.tj;
  389. orderSum.value = res.data.payT.tj;
  390. consumerOrderSum.value = res.data.refundT.tj;
  391. sumAccount.value = res.data.inT.tj;
  392. } else {
  393. ElMessage({
  394. type: "error",
  395. showClose: true,
  396. message: res.data.message,
  397. center: true,
  398. });
  399. }
  400. };
  401. // 查看员工列表
  402. const getList = async () => {
  403. loading.value = true;
  404. let data = {
  405. page: currentPage.value,
  406. rows: pageSize.value,
  407. ledgerParam: searchInput.keyWord, // 关键字查询
  408. managerId: sessionStorage.getItem("token"),
  409. saccountState: searchInput.status,
  410. };
  411. if (searchInput.status == 2) {
  412. data.saccountState = "";
  413. }
  414. if (searchInput.createTime) {
  415. data.payStartTime = searchInput.createTime[0];
  416. data.payEndTime = searchInput.createTime[1];
  417. }
  418. if (searchInput.checkOutTime) {
  419. data.leaveStartTime = searchInput.checkOutTime[0];
  420. data.leaveEndTime = searchInput.checkOutTime[1];
  421. }
  422. headerData(); // 调用头部数据
  423. let res = await axios({
  424. method: "post",
  425. url: api.value + "/mhotel/bookquearyLedgerPage.action",
  426. headers: {
  427. // token: sessionStorage.getItem("token"),
  428. // user_head: sessionStorage.getItem("userhead"),
  429. },
  430. params: data,
  431. });
  432. console.log(res, "台账数据");
  433. if (res.data.code == 200) {
  434. tableData.list = res.data.data.bookIPage.pageList;
  435. total.value = res.data.data.bookIPage.total;
  436. // pendingOrderSum.value = res.data.data.pendingOrderSum;
  437. // orderSum.value = res.data.data.orderSum;
  438. // consumerOrderSum.value = res.data.data.consumerOrderSum;
  439. // sumAccount.value = res.data.data.sumAccount;
  440. loading.value = false;
  441. // ElMessage({
  442. // type: "success",
  443. // showClose: true,
  444. // message: res.data.message,
  445. // center: true,
  446. // });
  447. } else {
  448. loading.value = false;
  449. ElMessage({
  450. type: "error",
  451. showClose: true,
  452. message: res.data.message,
  453. center: true,
  454. });
  455. }
  456. };
  457. // 搜索功能
  458. const searchBtn = lodash.debounce(async () => {
  459. getList();
  460. }, 300);
  461. // 多选框功能
  462. const handleSelectionChange = (val) => {
  463. console.log(val);
  464. selectData.list = val;
  465. };
  466. //导出功能
  467. const importExcel = lodash.debounce(async () => {
  468. let data = {
  469. ledgerParam: searchInput.keyWord, // 关键字查询
  470. managerId: sessionStorage.getItem("token"),
  471. saccountState: searchInput.status,
  472. };
  473. if (searchInput.status == 2) {
  474. data.saccountState = "";
  475. }
  476. if (searchInput.createTime) {
  477. data.payStartTime = searchInput.createTime[0];
  478. data.payEndTime = searchInput.createTime[1];
  479. }
  480. if (searchInput.checkOutTime) {
  481. data.leaveStartTime = searchInput.checkOutTime[0];
  482. data.leaveEndTime = searchInput.checkOutTime[1];
  483. }
  484. let res = await axios({
  485. method: "post",
  486. url: api.value + "/mhotel/booktoLedgerExcel.action",
  487. headers: {
  488. // token: sessionStorage.getItem("token"),
  489. },
  490. params: data,
  491. });
  492. console.log(res, "导出台账管理");
  493. if (res.data.code == 200) {
  494. var downloadPath = res.data.downurl;
  495. // window.open(downloadPath);
  496. window.location.href = downloadPath;
  497. var downloadLink = document.createElement("a");
  498. downloadLink.style.display = "none"; // 使其隐藏
  499. downloadLink.href = downloadPath;
  500. downloadLink.download = "";
  501. downloadLink.click();
  502. document.body.appendChild(downloadLink);
  503. document.body.removeChild(downloadLink);
  504. ElMessage({
  505. type: "success",
  506. showClose: true,
  507. message: res.data.message,
  508. center: true,
  509. });
  510. } else {
  511. ElMessage({
  512. type: "error",
  513. showClose: true,
  514. message: res.data.message,
  515. center: true,
  516. });
  517. }
  518. }, 1000);
  519. // 表格斑马纹颜色修改
  520. const tableRowClassName = ({ row, rowIndex }) => {
  521. if (rowIndex % 2 === 0) {
  522. return "even";
  523. } else if (rowIndex % 2 !== 0) {
  524. return "odd";
  525. }
  526. return "";
  527. };
  528. // 分页
  529. const handleCurrentChange = (value) => {
  530. // console.log(value);
  531. currentPage.value = value;
  532. getList();
  533. };
  534. onBeforeMount(async () => {
  535. api.value = store.state.user.api;
  536. getList();
  537. });
  538. onUnmounted(() => {
  539. // document.removeEventListener("keyup", Enters);
  540. });
  541. </script>
  542. <style scoped lang="scss">
  543. .content-box {
  544. width: 97.5%;
  545. height: 89%;
  546. margin: 20px auto;
  547. background-color: #fff;
  548. color: #fff;
  549. display: flex;
  550. flex-direction: column;
  551. box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
  552. .left {
  553. // width: calc(100wh - 40px);
  554. display: flex;
  555. align-items: center;
  556. height: 60px;
  557. margin: 0 30px;
  558. border-bottom: 1px solid #ccc;
  559. color: rgb(0, 0, 0);
  560. font-size: 18px;
  561. font-weight: 600;
  562. span {
  563. margin-right: 20px;
  564. cursor: pointer;
  565. }
  566. .is_active {
  567. color: rgba(111, 182, 184, 1);
  568. }
  569. }
  570. .top {
  571. width: 96%;
  572. height: 150px;
  573. margin: 20px auto;
  574. ul {
  575. padding: 0;
  576. margin: 0;
  577. height: 100%;
  578. list-style: none;
  579. display: flex;
  580. li {
  581. background-color: rgba(242, 242, 242, 1);
  582. border-radius: 10px;
  583. flex: 1;
  584. height: 100%;
  585. display: flex;
  586. flex-direction: column;
  587. justify-content: center;
  588. align-items: center;
  589. p {
  590. font-size: 40px;
  591. font-weight: 700;
  592. color: #000;
  593. margin: 0;
  594. }
  595. span {
  596. color: #000;
  597. font-size: 18px;
  598. font-weight: 400;
  599. }
  600. }
  601. li:not(:last-child) {
  602. margin-right: 36px;
  603. }
  604. }
  605. }
  606. .middle {
  607. width: 96%;
  608. margin: 0 auto;
  609. color: #000;
  610. // border-bottom: 1px solid rgb(231, 231, 231);
  611. .filter {
  612. display: flex;
  613. flex-wrap: wrap;
  614. align-items: center;
  615. margin: 15px 0 15px 0;
  616. .search {
  617. color: #fff;
  618. }
  619. .condition {
  620. display: flex;
  621. align-items: center;
  622. margin: 10px 30px 10px 0;
  623. :deep(.el-input .el-input__inner) {
  624. font-size: 14px;
  625. }
  626. span {
  627. margin: 0 10px 0 0;
  628. }
  629. }
  630. }
  631. .gongneng {
  632. margin: 10px 0 20px 0;
  633. span {
  634. color: #fff;
  635. }
  636. }
  637. :deep(.cont) {
  638. width: 60%;
  639. margin: 20px auto;
  640. }
  641. :deep(.download) {
  642. display: flex;
  643. align-items: center;
  644. margin: 10px;
  645. }
  646. :deep(.download span) {
  647. font-size: 16px;
  648. margin-left: 20px;
  649. }
  650. :deep(.cont .el-button) {
  651. margin-left: 60px;
  652. margin-bottom: 30px;
  653. }
  654. :deep(.cont .accomplish) {
  655. width: 100%;
  656. display: flex;
  657. justify-content: center;
  658. }
  659. :deep(.cont .accomplish .el-button) {
  660. width: 50%;
  661. margin: 0;
  662. }
  663. }
  664. .footer {
  665. width: 96%;
  666. height: 400px;
  667. margin: 10px auto 30px;
  668. .el-table--fit {
  669. height: 100%;
  670. :deep(.el-table__header-wrapper) {
  671. background-color: #000;
  672. font-size: 15px;
  673. tr {
  674. color: #000;
  675. }
  676. }
  677. :deep(.el-table__row) {
  678. height: 50px;
  679. font-size: 15px;
  680. color: #000;
  681. }
  682. :deep(.el-table__row):nth-child(2n) {
  683. .el-table-fixed-column--right {
  684. background-color: rgba(240, 243, 247, 1);
  685. }
  686. }
  687. :deep(.el-table__row td) {
  688. padding: 0;
  689. border: 0;
  690. }
  691. .el-button--primary {
  692. margin-left: 5px;
  693. }
  694. :deep(.el-table__body .even) {
  695. background-color: #fff;
  696. }
  697. :deep(.el-table__body .odd) {
  698. background-color: rgba(240, 243, 247, 1);
  699. }
  700. :deep(.edit) {
  701. display: flex;
  702. align-items: center;
  703. justify-content: center;
  704. color: rgba(111, 182, 184, 1);
  705. }
  706. :deep(.look) {
  707. padding: 0 10px;
  708. cursor: pointer;
  709. }
  710. :deep(.look):hover {
  711. color: red;
  712. }
  713. }
  714. // 添加员工弹窗样式
  715. :deep(.addStaff) {
  716. // height: 420px;
  717. border-radius: 11px;
  718. .el-dialog__header {
  719. border-radius: 11px 11px 0 0;
  720. background: rgba(237, 241, 245, 1);
  721. font-weight: 600;
  722. margin: 0;
  723. .el-dialog__headerbtn {
  724. outline: none;
  725. }
  726. }
  727. .el-dialog__body {
  728. padding: 30px 20px 10px 20px;
  729. .el-input {
  730. width: 200px;
  731. }
  732. // 关联报修类型样式(-----------------)
  733. // .checkbox {
  734. // .el-form-item__content {
  735. // display: flex;
  736. // flex-direction: column;
  737. // align-items: flex-start;
  738. // .el-checkbox-group {
  739. // display: flex;
  740. // flex-direction: column;
  741. // }
  742. // }
  743. // }
  744. .options {
  745. .el-form-item__content {
  746. .queding {
  747. margin-left: 20px;
  748. color: #fff;
  749. }
  750. display: flex;
  751. flex-direction: row-reverse;
  752. }
  753. }
  754. }
  755. }
  756. }
  757. .pageSize {
  758. display: flex;
  759. align-items: center;
  760. justify-content: space-between;
  761. margin: 0 30px;
  762. span {
  763. color: #000;
  764. }
  765. .el-pagination {
  766. // width: 1600px;
  767. :deep(.el-pagination__total) {
  768. color: #000;
  769. }
  770. :deep(.el-pagination__goto) {
  771. color: #000;
  772. }
  773. :deep(.el-pagination__classifier) {
  774. color: #000;
  775. }
  776. :deep(.el-input__wrapper) {
  777. border: 1px solid rgba(0, 0, 0, 1);
  778. border-radius: 5px;
  779. box-shadow: none;
  780. }
  781. :deep(.el-pager li) {
  782. margin: 0 5px;
  783. border: 1px solid rgba(0, 0, 0, 1);
  784. border-radius: 5px;
  785. background-color: transparent;
  786. }
  787. :deep(.el-pager li.is-active) {
  788. background-color: rgba(111, 182, 184, 1);
  789. }
  790. :deep(.btn-prev) {
  791. margin-right: 5px;
  792. border: 1px solid rgba(0, 0, 0, 1);
  793. border-radius: 5px;
  794. background-color: transparent;
  795. }
  796. :deep(.btn-next) {
  797. margin-left: 5px;
  798. border: 1px solid rgba(0, 0, 0, 1);
  799. border-radius: 5px;
  800. background-color: transparent;
  801. }
  802. }
  803. }
  804. }
  805. .el-input {
  806. width: 192px;
  807. }
  808. </style>