statement.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987
  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 class="changeItems">
  8. <div
  9. class="changeItem"
  10. :class="changeIndex == 1 ? 'changeItem_active' : ''"
  11. @click="changeItem(1)"
  12. >
  13. 支付成功订单
  14. </div>
  15. <div
  16. class="changeItem"
  17. :class="changeIndex == 2 ? 'changeItem_active' : ''"
  18. @click="changeItem(2)"
  19. >
  20. 待结账
  21. </div>
  22. </div>
  23. <div class="regulation">
  24. <div class="middle">
  25. <div class="filter">
  26. <div class="condition">
  27. <span>关键字&nbsp;&nbsp;</span>
  28. <el-input
  29. :clearable="true"
  30. @clear="searchBtn"
  31. v-model="searchInput.keyWord"
  32. class="w-50 m-2"
  33. placeholder="请输入关键字查询"
  34. style="width: 180px"
  35. />
  36. </div>
  37. <div class="condition">
  38. <span>创建时间&nbsp;&nbsp;</span>
  39. <el-date-picker
  40. v-model="searchInput.createTime"
  41. type="daterange"
  42. unlink-panels
  43. range-separator="-"
  44. start-placeholder="起始时间"
  45. end-placeholder="结束时间"
  46. format="YYYY-MM-DD"
  47. value-format="YYYY-MM-DD"
  48. :prefix-icon="Calendar"
  49. placeholder="请选择日期"
  50. @change="searchBtn"
  51. />
  52. </div>
  53. <div class="condition">
  54. <el-button
  55. style="margin-left: 20px"
  56. color="rgba(41, 109, 227, 1)"
  57. type="primary"
  58. class="search"
  59. @click="searchBtn"
  60. ><el-icon>
  61. <Search />
  62. </el-icon>
  63. <span>查询</span></el-button
  64. >
  65. <el-button
  66. style="margin-left: 20px"
  67. color="rgba(41, 109, 227, 1)"
  68. type="primary"
  69. plain
  70. @click="importExcel"
  71. v-if="flagBtn.daochu"
  72. >
  73. 导出</el-button
  74. >
  75. </div>
  76. </div>
  77. </div>
  78. <div class="footer" v-loading="loading">
  79. <el-table
  80. :row-class-name="tableRowClassName"
  81. :data="tableData.list"
  82. style="width: 100%"
  83. :header-cell-style="{
  84. background: 'rgba(240, 243, 247, 1)',
  85. height: '50px',
  86. border: 0,
  87. }"
  88. >
  89. <!-- <el-table-column align="center" type="selection" width="80" /> -->
  90. <el-table-column
  91. width="150"
  92. align="center "
  93. type="index"
  94. label="序号"
  95. />
  96. <el-table-column
  97. align="center"
  98. prop="orderNumber"
  99. width="180"
  100. label="订单编号"
  101. >
  102. <template #default="{ row }">
  103. {{ row.orderNumber }}
  104. </template>
  105. </el-table-column>
  106. <el-table-column align="center" prop="reserveName" label="入住人" />
  107. <el-table-column align="center" prop="houseName" label="房型">
  108. <template #default="{ row }">
  109. <span>{{ row.roomName }}</span> <span style="color:rgba(30, 125, 251,1)">( {{ row.roomType==1?'全':'钟' }} )</span>
  110. </template>
  111. </el-table-column>
  112. <el-table-column align="center" prop="roomNumber" label="房号" />
  113. <el-table-column
  114. align="center"
  115. prop="payPrice"
  116. v-if="changeIndex == 1"
  117. label="订单金额(元)"
  118. />
  119. <el-table-column
  120. align="center"
  121. prop="payPrice"
  122. v-if="changeIndex == 2"
  123. label="待结账(元)"
  124. />
  125. <el-table-column
  126. align="center"
  127. prop="payTime"
  128. v-if="changeIndex == 1"
  129. label="支付时间"
  130. width="180"
  131. />
  132. <el-table-column
  133. align="center"
  134. prop="orderStatus"
  135. label="订单状态"
  136. width="120"
  137. >
  138. <template #default="{ row }">
  139. <div style="color: #f07218" v-if="row.orderStatus == 1">
  140. 待支付
  141. </div>
  142. <div style="color: #09ae22" v-if="row.orderStatus == 2">
  143. 已支付
  144. </div>
  145. <div style="color: #9bab0a" v-if="row.orderStatus == 3">
  146. 待入住
  147. </div>
  148. <div style="color: #0b89d7" v-if="row.orderStatus == 4">
  149. 已入住
  150. </div>
  151. <div style="color: #4d17b1" v-if="row.orderStatus == 5">
  152. 待结账
  153. </div>
  154. <div style="color: #eb3f0a" v-if="row.orderStatus == 6">
  155. 退款中
  156. </div>
  157. <div style="color: #84a712" v-if="row.orderStatus == 7">
  158. 已退款
  159. </div>
  160. <div style="color: #1b14e5" v-if="row.orderStatus == 8">
  161. 已退房
  162. </div>
  163. <div style="color: #818282" v-if="row.orderStatus == 9">
  164. 已取消,超时
  165. </div>
  166. </template>
  167. </el-table-column>
  168. <el-table-column
  169. align="center"
  170. prop="createTime"
  171. label="创建时间"
  172. width="180"
  173. />
  174. <el-table-column
  175. align="center"
  176. fixed="right"
  177. label="操作"
  178. width="150"
  179. v-if="flagBtn.xiangqing==1"
  180. >
  181. <template #default="scope">
  182. <div class="look" @click="clickOrderInfo(scope.row)">详情</div>
  183. </template>
  184. </el-table-column>
  185. </el-table>
  186. </div>
  187. <!-- 分页组件 -->
  188. <div class="pageSize">
  189. <span></span>
  190. <el-pagination
  191. background
  192. :current-page="currentPage"
  193. :page-size="pageSize"
  194. layout="total, prev, pager, next, jumper, slot"
  195. :total="total"
  196. @update:current-page="handleCurrentChange"
  197. />
  198. </div>
  199. </div>
  200. <!-- 详情弹窗区域 -->
  201. <el-dialog
  202. class="orderInfo"
  203. title="订单详情"
  204. v-model="orderInfoVisible"
  205. :close-on-click-modal="false"
  206. :close-on-press-escape="false"
  207. align-center
  208. width="850"
  209. :before-close="orderInfoClose"
  210. >
  211. <div class="userinfo">用户信息</div>
  212. <div class="info">
  213. <div class="user">
  214. <div class="name">姓名</div>
  215. <el-input v-model="order.userName" placeholder=""></el-input>
  216. </div>
  217. <div class="user">
  218. <div class="name">联系方式</div>
  219. <el-input v-model="order.userPhone"></el-input>
  220. </div>
  221. </div>
  222. <div class="info">
  223. <div class="user">
  224. <div class="name">订单号</div>
  225. <el-input v-model="order.orderNo"></el-input>
  226. <!-- <el-tooltip placement="top" :content="order.orderNo">
  227. <el-input v-model="order.orderNo"></el-input>
  228. </el-tooltip> -->
  229. </div>
  230. <div class="user">
  231. <div class="name">支付金额(元)</div>
  232. <el-input v-model="order.allOfReceiveAmount"></el-input>
  233. </div>
  234. </div>
  235. <div class="info">
  236. <div class="user">
  237. <div class="name">入住时间</div>
  238. <el-input v-model="order.realStartTime"></el-input>
  239. </div>
  240. <div class="user">
  241. <div class="name">离住时间</div>
  242. <el-input v-model="order.realEndTime"></el-input>
  243. </div>
  244. </div>
  245. <div class="info">
  246. <div class="user">
  247. <div class="name">入住天数</div>
  248. <el-input v-model="order.housDay"></el-input>
  249. </div>
  250. <div class="user">
  251. <div class="name">支付时间</div>
  252. <el-input v-model="order.payTime"></el-input>
  253. </div>
  254. </div>
  255. <!-- 水费区域 -->
  256. <div class="rate">水费明细</div>
  257. <div class="water">
  258. 表计:{{ order.watermeter }} &nbsp;&nbsp;&nbsp;楼层:{{
  259. order.floor
  260. }}
  261. &nbsp;&nbsp;&nbsp;抄表时间:{{ order.realStartTime }}
  262. </div>
  263. <el-table
  264. :data="waterTable.list"
  265. max-height="93"
  266. style="width: 832px"
  267. stripe
  268. :cell-style="rowbg"
  269. :header-cell-style="{
  270. color: ' rgba(0, 0, 0, 1)',
  271. background: 'rgba(240, 243, 247, 1)',
  272. }"
  273. >
  274. <el-table-column
  275. prop="waterVolume"
  276. align="center"
  277. label="用水量(吨)"
  278. ></el-table-column>
  279. <el-table-column
  280. prop="priceOfWater"
  281. align="center"
  282. label="水价(元)"
  283. ></el-table-column>
  284. <el-table-column
  285. prop="allowance"
  286. align="center"
  287. label="补助量(吨)"
  288. ></el-table-column>
  289. <el-table-column
  290. prop="cost"
  291. align="center"
  292. label="产生水费(元)"
  293. show-overflow-tooltip
  294. ></el-table-column>
  295. </el-table>
  296. <!-- 电费区域 -->
  297. <div class="rate">电费明细</div>
  298. <div class="water">
  299. 表计:{{ order.elemeter }} &nbsp;&nbsp;&nbsp;楼层:{{
  300. order.floor
  301. }}
  302. &nbsp;&nbsp;&nbsp;抄表时间:{{ order.realStartTime }}
  303. </div>
  304. <el-table
  305. :data="electricTable.list"
  306. max-height="93"
  307. style="width: 832px"
  308. stripe
  309. :cell-style="rowbg"
  310. :header-cell-style="{
  311. color: ' rgba(0, 0, 0, 1)',
  312. background: 'rgba(240, 243, 247, 1)',
  313. }"
  314. >
  315. <el-table-column
  316. prop="eleVolume"
  317. align="center"
  318. label="用电量(度)"
  319. ></el-table-column>
  320. <el-table-column
  321. prop="priceOfEle"
  322. align="center"
  323. label="电价(元)"
  324. ></el-table-column>
  325. <el-table-column
  326. prop="allowance"
  327. align="center"
  328. label="补助量(度)"
  329. ></el-table-column>
  330. <el-table-column
  331. prop="cost"
  332. align="center"
  333. label="产生电费(元)"
  334. show-overflow-tooltip
  335. ></el-table-column>
  336. </el-table>
  337. </el-dialog>
  338. </div>
  339. </template>
  340. <script setup>
  341. import {
  342. ref,
  343. reactive,
  344. nextTick,
  345. watch,
  346. onBeforeMount,
  347. onUnmounted,
  348. } from "vue";
  349. import { useRouter } from "vue-router";
  350. import { ElMessage, ElMessageBox } from "element-plus";
  351. import { Calendar } from "@element-plus/icons-vue";
  352. import vidiconsApi from "@/api/vidicons.js";
  353. import { dayjs } from "element-plus";
  354. import lodash from "lodash";
  355. import axios from "axios";
  356. import { useStore } from "vuex";
  357. const store = useStore();
  358. const api = ref("");
  359. const router = useRouter();
  360. const changeIndex = ref(1); // 1支付成功订单 2待结账 切换
  361. const flagBtn = ref(); // 按钮权限
  362. const searchInput = reactive({
  363. keyWord: "", // 关键字
  364. createTime: "",
  365. }); // 搜索按钮数据
  366. // 待结账 (---------------------------------------------------------------------)
  367. const accounts = reactive({
  368. keyWord: "", // 关键字
  369. createTime: "", // 创建时间
  370. });
  371. const nowDay = ref(dayjs().format("YYYY-MM-DD HH:mm:ss"));
  372. // 表格数据
  373. const loading = ref(false);
  374. const tableData = reactive({
  375. list: [],
  376. });
  377. const currentPage = ref(1); // 当前页
  378. const pageSize = ref(10);
  379. const total = ref(10); // 当前总数
  380. // 详情
  381. const orderInfoVisible = ref(false); // 详情弹窗
  382. const order = reactive({
  383. userName: "", // 姓名
  384. userPhone: "", // 联系方式
  385. orderNo: "", // 订单号
  386. allOfReceiveAmount: "", // 支付金额(元)
  387. realStartTime: "", // 入住时间
  388. realEndTime: "", // 离住时间
  389. housDay: "", // 入住天数
  390. payTime: "", // 支付时间
  391. floor: "", // 楼层
  392. watermeter: "", // 水表计
  393. elemeter: "", // 电表计
  394. });
  395. const waterTable = reactive({
  396. list: [
  397. {
  398. waterVolume: "",
  399. priceOfWater: "",
  400. allowance: "",
  401. cost: "",
  402. },
  403. ],
  404. }); // 水费明细
  405. const electricTable = reactive({
  406. list: [
  407. {
  408. eleVolume: "",
  409. priceOfEle: "",
  410. allowance: "",
  411. cost: "",
  412. },
  413. ],
  414. }); // 电费明细
  415. // 切换 支付成功订单 待结账
  416. const changeItem = (ind) => {
  417. changeIndex.value = ind;
  418. getList();
  419. };
  420. // 查看员工列表
  421. const getList = async () => {
  422. loading.value = true;
  423. let data = {
  424. page: currentPage.value, // 当前页
  425. size: pageSize.value, // 一页数据条数
  426. permissionSettingId: sessionStorage.getItem("permissionSettingId"),
  427. keyWord: searchInput.keyWord,
  428. state: changeIndex.value,
  429. };
  430. if (searchInput.createTime) {
  431. data.startTime = searchInput.createTime[0];
  432. data.endTime = searchInput.createTime[1];
  433. }
  434. let res = await axios({
  435. method: "get",
  436. url: api.value + "/house-order/reportStatistics",
  437. headers: {
  438. token: sessionStorage.getItem("token"),
  439. user_head: sessionStorage.getItem("user_head"),
  440. },
  441. params: data,
  442. });
  443. console.log(res, "用户列表");
  444. if (res.data.code == 200) {
  445. tableData.list = res.data.data.list;
  446. total.value = res.data.data.totalCount;
  447. loading.value = false;
  448. } else {
  449. loading.value = false;
  450. ElMessage({
  451. type: "error",
  452. showClose: true,
  453. message: res.data.message,
  454. center: true,
  455. });
  456. }
  457. };
  458. // 搜索功能
  459. const searchBtn = lodash.debounce(async () => {
  460. getList();
  461. }, 300);
  462. // 详情弹窗 (----------------------------------------------)
  463. const clickOrderInfo = async (row) => {
  464. orderInfoVisible.value = true;
  465. order.floor = row.roomName + " " + row.roomNumber;
  466. console.log(row);
  467. let data = {
  468. orderNumber: row.orderNumber,
  469. adminId: sessionStorage.getItem("permissionSettingId"),
  470. };
  471. let res = await axios({
  472. method: "get",
  473. url: api.value + "/house-order/particulars",
  474. headers: {
  475. token: sessionStorage.getItem("token"),
  476. user_head: sessionStorage.getItem("user_head"),
  477. },
  478. params: data,
  479. });
  480. console.log(res, "详情信息");
  481. if (res.data.code == 200) {
  482. let data = res.data.data.houseOrder;
  483. order.userName = data.reserveName;
  484. order.userPhone = data.reservePhone;
  485. order.orderNo = data.orderNumber;
  486. order.allOfReceiveAmount = data.payPrice;
  487. order.realStartTime = data.reserveLiveTime;
  488. order.realEndTime = data.reserveLeaveTime;
  489. order.housDay = data.liveDay;
  490. order.payTime = data.payTime;
  491. order.watermeter = res.data.data.waterEquipmentMeterName;
  492. order.elemeter = res.data.data.electricEquipmentMeterName;
  493. waterTable.list = [
  494. {
  495. waterVolume: data.waterConsume, // 用水量(吨)
  496. priceOfWater: 2.1, // 水价(元)
  497. allowance: res.data.data.freeQuotaOfWater, // 补助量(吨)
  498. cost: data.waterCost, // 产生水费(元)
  499. },
  500. ];
  501. electricTable.list = [
  502. {
  503. eleVolume: data.electricConsume, // 用电量(吨)
  504. priceOfEle: 0.6, // 电价(元)
  505. allowance: res.data.data.freeQuotaOfElectric, // 补助量(吨)
  506. cost: data.electricCost, // 产生电费(元)
  507. },
  508. ];
  509. } else {
  510. ElMessage({
  511. type: "error",
  512. showClose: true,
  513. message: res.data.message,
  514. center: true,
  515. });
  516. }
  517. };
  518. // 关闭详情弹窗
  519. const orderInfoClose = () => {
  520. orderInfoVisible.value = false;
  521. };
  522. // 表格斑马纹颜色修改
  523. const tableRowClassName = ({ row, rowIndex }) => {
  524. if (rowIndex % 2 === 0) {
  525. return "even";
  526. } else if (rowIndex % 2 !== 0) {
  527. return "odd";
  528. }
  529. return "";
  530. };
  531. // 支付成功订单 分页
  532. const handleCurrentChange = (value) => {
  533. currentPage.value = value;
  534. getList();
  535. };
  536. //导出功能
  537. const importExcel = lodash.debounce(async () => {
  538. let data = {
  539. permissionSettingId: sessionStorage.getItem("permissionSettingId"),
  540. keyWord: searchInput.keyWord,
  541. state: changeIndex.value,
  542. };
  543. if (searchInput.createTime) {
  544. data.startTime = searchInput.createTime[0];
  545. data.endTime = searchInput.createTime[1];
  546. }
  547. let res = await axios({
  548. method: "get",
  549. url: api.value + "/house-order/reportStatisticsExport",
  550. headers: {
  551. token: sessionStorage.getItem("token"),
  552. user_head: sessionStorage.getItem("userhead"),
  553. },
  554. params: data,
  555. responseType: "blob",
  556. });
  557. console.log(res, "统计报表导出");
  558. if (res.status == 200) {
  559. let name = `统计报表`;
  560. var content = res.data;
  561. var datas = new Blob([content]);
  562. var downloadUrl = window.URL.createObjectURL(datas);
  563. var anchor = document.createElement("a");
  564. anchor.href = downloadUrl;
  565. anchor.download = name + ".xlsx";
  566. anchor.click();
  567. window.URL.revokeObjectURL(datas);
  568. ElMessage({
  569. type: "success",
  570. showClose: true,
  571. message: "导出成功",
  572. center: true,
  573. });
  574. } else {
  575. ElMessage({
  576. type: "error",
  577. showClose: true,
  578. message: res.data.message,
  579. center: true,
  580. });
  581. }
  582. }, 1000);
  583. onBeforeMount(async () => {
  584. api.value = store.state.user.api;
  585. const btnflag = JSON.parse(sessionStorage.getItem("btnflag"));
  586. flagBtn.value = btnflag.statement;
  587. console.log(flagBtn.value, "按钮权限");
  588. changeItem(changeIndex.value);
  589. });
  590. onUnmounted(() => {
  591. // document.removeEventListener("keyup", Enters);
  592. });
  593. </script>
  594. <style scoped lang="scss">
  595. .content-box {
  596. width: calc(100% - 40px);
  597. height: calc(100% - 105px);
  598. margin: 20px auto;
  599. background-color: #fff;
  600. color: #fff;
  601. display: flex;
  602. flex-direction: column;
  603. box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
  604. .left {
  605. // width: calc(100wh - 40px);
  606. display: flex;
  607. align-items: center;
  608. height: 60px;
  609. margin: 0 30px;
  610. border-bottom: 1px solid #ccc;
  611. color: rgb(0, 0, 0);
  612. font-size: 18px;
  613. font-weight: 600;
  614. span {
  615. display: inline-block;
  616. height: 60px;
  617. line-height: 60px;
  618. margin-right: 20px;
  619. cursor: pointer;
  620. }
  621. .is_active {
  622. color: rgba(111, 182, 184, 1);
  623. }
  624. }
  625. .top {
  626. width: 96%;
  627. height: 150px;
  628. margin: 20px auto;
  629. ul {
  630. padding: 0;
  631. margin: 0;
  632. height: 100%;
  633. list-style: none;
  634. display: flex;
  635. li {
  636. background-color: rgba(242, 242, 242, 1);
  637. border-radius: 10px;
  638. flex: 1;
  639. height: 100%;
  640. display: flex;
  641. flex-direction: column;
  642. justify-content: center;
  643. align-items: center;
  644. p {
  645. font-size: 40px;
  646. font-weight: 700;
  647. color: #000;
  648. margin: 0;
  649. }
  650. span {
  651. color: #000;
  652. font-size: 18px;
  653. font-weight: 400;
  654. }
  655. }
  656. li:not(:last-child) {
  657. margin-right: 36px;
  658. }
  659. }
  660. }
  661. // 切换 申请记录 规则设置
  662. .changeItems {
  663. display: flex;
  664. margin: 15px 0 0 30px;
  665. .changeItem {
  666. // width: 80px;
  667. padding: 0 10px;
  668. height: 30px;
  669. background-color: rgba(230, 230, 230, 1);
  670. text-align: center;
  671. line-height: 30px;
  672. font-size: 14px;
  673. margin-right: 15px;
  674. border-radius: 3px;
  675. color: rgba(166, 166, 166, 1);
  676. cursor: pointer;
  677. }
  678. .changeItem_active {
  679. background-color: rgba(222, 234, 252, 1);
  680. color: rgba(0, 97, 255, 1);
  681. }
  682. }
  683. .middle {
  684. width: calc(100% - 60px);
  685. margin: 0 auto;
  686. color: #000;
  687. // border-bottom: 1px solid rgb(231, 231, 231);
  688. .filter {
  689. display: flex;
  690. flex-wrap: wrap;
  691. align-items: center;
  692. margin: 10px 0 0 0;
  693. .search {
  694. color: #fff;
  695. }
  696. .condition {
  697. display: flex;
  698. align-items: center;
  699. margin: 10px 30px 10px 0;
  700. font-size: 14px;
  701. :deep(.el-input .el-input__inner) {
  702. font-size: 14px;
  703. }
  704. }
  705. }
  706. .gongneng {
  707. margin: 10px 0 20px 0;
  708. span {
  709. color: #fff;
  710. }
  711. }
  712. :deep(.cont) {
  713. width: 60%;
  714. margin: 20px auto;
  715. }
  716. :deep(.download) {
  717. display: flex;
  718. align-items: center;
  719. margin: 10px;
  720. }
  721. :deep(.download span) {
  722. font-size: 16px;
  723. margin-left: 20px;
  724. }
  725. :deep(.cont .el-button) {
  726. margin-left: 60px;
  727. margin-bottom: 30px;
  728. }
  729. :deep(.cont .accomplish) {
  730. width: 100%;
  731. display: flex;
  732. justify-content: center;
  733. }
  734. :deep(.cont .accomplish .el-button) {
  735. width: 50%;
  736. margin: 0;
  737. }
  738. }
  739. // 待结账页面样式
  740. .regulation {
  741. height: calc(100% - 106px);
  742. overflow: auto;
  743. .condition {
  744. color: #000;
  745. margin: 20px 30px;
  746. font-size: 14px;
  747. }
  748. .hint {
  749. color: rgba(212, 48, 48, 1);
  750. }
  751. }
  752. .footer {
  753. width: calc(100% - 60px);
  754. height: calc(100% - 132px);
  755. margin: 10px auto 0;
  756. .el-table--fit {
  757. height: 100%;
  758. :deep(.el-table__header-wrapper) {
  759. background-color: #000;
  760. font-size: 15px;
  761. tr {
  762. color: #000;
  763. }
  764. }
  765. :deep(.el-table__row) {
  766. height: 50px;
  767. font-size: 15px;
  768. color: #000;
  769. .orderNum {
  770. color: rgba(111, 182, 184, 1);
  771. cursor: pointer;
  772. }
  773. }
  774. :deep(.el-table__row):nth-child(2n) {
  775. .el-table-fixed-column--right {
  776. background-color: rgba(240, 243, 247, 1);
  777. }
  778. }
  779. :deep(.el-table__row td) {
  780. padding: 0;
  781. border: 0;
  782. }
  783. .el-button--primary {
  784. margin-left: 5px;
  785. }
  786. :deep(.el-table__body .even) {
  787. background-color: #fff;
  788. }
  789. :deep(.el-table__body .odd) {
  790. background-color: rgba(240, 243, 247, 1);
  791. }
  792. :deep(.look) {
  793. color: rgba(0, 97, 255, 1);
  794. cursor: pointer;
  795. }
  796. }
  797. }
  798. // 订单详情
  799. :deep(.orderInfo) {
  800. border-radius: 11px;
  801. .el-dialog__header {
  802. border-radius: 11px 11px 0 0;
  803. background: rgba(237, 241, 245, 1);
  804. font-weight: 600;
  805. margin: 0;
  806. .el-dialog__headerbtn {
  807. outline: none;
  808. }
  809. }
  810. .el-dialog__body {
  811. padding: 0 38px;
  812. height: 750px;
  813. overflow: auto;
  814. .userinfo {
  815. font-size: 18px;
  816. font-weight: 500;
  817. color: rgba(0, 0, 0, 1);
  818. text-align: left;
  819. margin-top: 15px;
  820. }
  821. .info {
  822. display: flex;
  823. .user {
  824. margin-right: 120px;
  825. .name {
  826. text-align: left;
  827. padding: 12px 0;
  828. }
  829. .el-input {
  830. width: 283px;
  831. // height: 30px;
  832. opacity: 1;
  833. // margin-right: 81px;
  834. // .el-input__inner {
  835. // color: #000;
  836. // }
  837. }
  838. }
  839. }
  840. .rate {
  841. font-size: 18px;
  842. font-weight: 500;
  843. color: rgba(0, 0, 0, 1);
  844. text-align: left;
  845. margin: 15px 0;
  846. }
  847. .water {
  848. text-align: left;
  849. font-size: 16px;
  850. font-weight: 400;
  851. color: rgba(0, 0, 0, 1);
  852. }
  853. .el-table {
  854. margin: 10px 0;
  855. tr {
  856. height: 48px;
  857. }
  858. .el-table__body-wrapper {
  859. overflow: visible;
  860. }
  861. }
  862. }
  863. }
  864. .pageSize {
  865. display: flex;
  866. align-items: center;
  867. justify-content: space-between;
  868. margin: 0 30px;
  869. height: 60px;
  870. span {
  871. color: #000;
  872. }
  873. .el-pagination {
  874. // width: 1600px;
  875. :deep(.el-pagination__total) {
  876. color: #000;
  877. }
  878. :deep(.el-pagination__goto) {
  879. color: #000;
  880. }
  881. :deep(.el-pagination__classifier) {
  882. color: #000;
  883. }
  884. :deep(.el-input__wrapper) {
  885. border: 1px solid rgba(0, 0, 0, 1);
  886. border-radius: 5px;
  887. box-shadow: none;
  888. }
  889. :deep(.el-pager li) {
  890. margin: 0 5px;
  891. border: 1px solid rgba(0, 0, 0, 1);
  892. border-radius: 5px;
  893. background-color: transparent;
  894. }
  895. :deep(.el-pager li.is-active) {
  896. // background-color: rgba(111, 182, 184, 1);
  897. border: 1px solid rgba(0, 97, 255, 1);
  898. color: rgba(0, 97, 255, 1);
  899. }
  900. :deep(.btn-prev) {
  901. margin-right: 5px;
  902. border: 1px solid rgba(0, 0, 0, 1);
  903. border-radius: 5px;
  904. background-color: transparent;
  905. }
  906. :deep(.btn-next) {
  907. margin-left: 5px;
  908. border: 1px solid rgba(0, 0, 0, 1);
  909. border-radius: 5px;
  910. background-color: transparent;
  911. }
  912. }
  913. }
  914. }
  915. </style>