statement.vue 24 KB

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