OrderManage.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. <template>
  2. <!-- 购买记录 -->
  3. <div class="OrderManage personal-center">
  4. <EditTitle :title="title" />
  5. <div class="menuBox">
  6. <el-menu
  7. :default-active="activeIndex"
  8. class="el-menu-demo"
  9. mode="horizontal"
  10. @select="handleSelect"
  11. >
  12. <!-- 全部 未支付 已支付 已取消-->
  13. <el-menu-item index="-1">{{ $t("Key110") }}</el-menu-item>
  14. <el-menu-item index="0">{{ $t("Key111") }}</el-menu-item>
  15. <el-menu-item index="1">{{ $t("Key112") }}</el-menu-item>
  16. <el-menu-item index="2">{{ $t("Key113") }}</el-menu-item>
  17. </el-menu>
  18. <el-select
  19. v-model="navValue"
  20. :placeholder="$t('Key295')"
  21. @change="changeNav"
  22. >
  23. <el-option
  24. v-for="(item, index) in navList"
  25. :key="'navList' + index"
  26. :label="item.name"
  27. :value="item.code"
  28. >
  29. </el-option>
  30. </el-select>
  31. </div>
  32. <div v-loading="loading" class="list">
  33. <template v-if="!isEmpty">
  34. <div class="main" v-for="(item, index) in list" :key="'order' + index">
  35. <div class="main-top">
  36. <div class="main-top-left">
  37. <p
  38. :class="[
  39. 'orderTime',
  40. language_type == 'AR' ? 'marginLeft' : '',
  41. ]"
  42. >
  43. {{ item.create_time }}
  44. </p>
  45. <div class="orderNo">
  46. <!-- 订单编号 -->
  47. {{ $t("Key99") }}:<span>{{ item.id }}</span>
  48. </div>
  49. </div>
  50. <template v-if="item.is_pay == 'true' || item.is_cancel == 'true'">
  51. <img
  52. src="../../assets/Personalcenter/del-order.png"
  53. class="del-order"
  54. @click="deleteMyOrder(item.id)"
  55. />
  56. </template>
  57. </div>
  58. <div class="main-content">
  59. <div class="main-content-left" @click="jump(item)">
  60. <div class="coverUrl">
  61. <img :src="item.goods_picture_url" />
  62. </div>
  63. <div class="order-infor">
  64. <p class="name">{{ item.goods_name }}</p>
  65. <Goodstype :item="item" />
  66. <p class="author" v-if="item.goods_person_name_desc">
  67. {{ item.goods_person_name_desc }}
  68. </p>
  69. </div>
  70. </div>
  71. <div class="main-content-middle">
  72. <div class="middle-con">
  73. <!-- 原价 -->
  74. <span class="middle-con-text">{{ $t("Key104") }}</span>
  75. <span
  76. :class="[
  77. 'middle-con-p1',
  78. language_type == 'AR' ? 'textLeft' : '',
  79. ]"
  80. >¥{{ item.price }}</span
  81. >
  82. </div>
  83. <div class="middle-con middle-con-discount">
  84. <!-- 折扣 -->
  85. <span class="middle-con-text">{{ $t("Key105") }} </span>
  86. <span
  87. :class="[
  88. 'middle-con-p1',
  89. language_type == 'AR' ? 'textLeft' : '',
  90. ]"
  91. >¥{{ item.discount_money }}</span
  92. >
  93. <template v-if="item.discount_code">
  94. <!-- 已使用优惠码 -->
  95. <el-tooltip
  96. class="item"
  97. effect="dark"
  98. :content="$t('Key107') + item.discount_code"
  99. placement="bottom"
  100. >
  101. <img
  102. src="../../assets/Personalcenter/notice.png"
  103. class="notice"
  104. />
  105. </el-tooltip>
  106. </template>
  107. </div>
  108. <div class="middle-con">
  109. <!-- 实付 -->
  110. <span class="middle-con-text">{{ $t("Key106") }}</span>
  111. <span
  112. :class="[
  113. 'middle-con-p1',
  114. 'middle-con-p2',
  115. language_type == 'AR' ? 'textLeft' : '',
  116. ]"
  117. >¥{{ item.receivables_money }}</span
  118. >
  119. </div>
  120. </div>
  121. <div class="main-content-right">
  122. <p class="order-status" v-if="item.is_pay == 'true'">
  123. <!-- 交易成功 -->
  124. <span class="priceText pay">{{ $t("Key100") }}</span>
  125. </p>
  126. <template v-else>
  127. <div class="order-btn" v-if="item.is_cancel == 'true'">
  128. <!-- 重新下单 -->
  129. <button class="goPay" @click="reOrder(item)">
  130. {{ $t("Key117") }}
  131. </button>
  132. <!-- 交易已取消 -->
  133. <span class="priceText cancel-success">{{
  134. $t("Key114")
  135. }}</span>
  136. </div>
  137. <div class="order-btn" v-if="item.is_cancel == 'false'">
  138. <!-- -->
  139. <template v-if="item.goods_type == 201">
  140. <!-- 审核中 -->
  141. <span
  142. class="pcom_verfiy pcom_verfiy_zhong"
  143. v-if="item.audit_status == 0"
  144. >{{ $t("Key81") }}</span
  145. >
  146. <!-- 审核通过 -->
  147. <span
  148. v-if="item.audit_status == 1"
  149. class="pcom_verfiy pcom_verfiy_agree"
  150. >{{ $t("Key469") }}</span
  151. >
  152. <!-- 审核未通过Key470 -->
  153. <span
  154. v-if="item.audit_status == 2"
  155. class="pcom_verfiy pcom_verfiy_failed"
  156. >{{ $t("Key470") }}</span
  157. >
  158. </template>
  159. <template v-if="item.goods_type != 201">
  160. <!-- 去付款 -->
  161. <button class="goPay" @click="goPay(item)">
  162. {{ $t("Key471") }}
  163. </button>
  164. </template>
  165. <template v-if="item.goods_type == 201">
  166. <button
  167. class="goPay"
  168. v-if="item.audit_status == 1"
  169. @click="goPay(item)"
  170. >
  171. <!-- 去付款 -->{{ $t("Key471") }}
  172. </button>
  173. <button class="goPay noPay_ad" v-else>
  174. {{ $t("Key471") }}
  175. </button>
  176. </template>
  177. <!-- 取消订单 -->
  178. <span class="cancelOrder" @click="cancleMyOrder(item.id)">{{
  179. $t("Key102")
  180. }}</span>
  181. </div>
  182. </template>
  183. </div>
  184. </div>
  185. </div>
  186. </template>
  187. <template v-else>
  188. <Empty :navType="navType" />
  189. </template>
  190. </div>
  191. <div class="paging" v-if="!isEmpty">
  192. <el-pagination
  193. background
  194. layout="prev, pager, next"
  195. :current-page="pageNum"
  196. :total="total"
  197. :page-size="pageSize"
  198. @current-change="changecurrentPage"
  199. />
  200. </div>
  201. <el-dialog
  202. class="orderDialog"
  203. :title="$t('Key52')"
  204. :visible.sync="isConfirmorder"
  205. width="720px"
  206. :before-close="closeConfirmorder"
  207. >
  208. <Confirmorder
  209. ref="Confirmorder"
  210. :data="goods_Data"
  211. :changeOrderNumber="changeOrderNumber"
  212. />
  213. </el-dialog>
  214. <el-dialog
  215. class="orderDialog"
  216. top="50px"
  217. :title="$t('Key471') + ':' + orderNumber"
  218. :visible.sync="isPayment"
  219. width="720px"
  220. :before-close="closePayment"
  221. >
  222. <Payment
  223. :data="goods_Data"
  224. :orderNumber="orderNumber"
  225. :judgePayResult="judgePayResult"
  226. />
  227. </el-dialog>
  228. </div>
  229. </template>
  230. <script>
  231. import EditTitle from "../common/EditTitle.vue";
  232. import { getLearnWebContent } from "@/api/ajax";
  233. import { jumpPath } from "@/utils/jumpPath";
  234. import Empty from "../common/Empty.vue";
  235. import Goodstype from "../common/Goodstype.vue";
  236. import Confirmorder from "../common/Confirmorder.vue";
  237. import Payment from "../common/Payment.vue";
  238. import { mapGetters } from "vuex";
  239. export default {
  240. components: { EditTitle, Empty, Goodstype, Confirmorder, Payment },
  241. props: {},
  242. data() {
  243. //这里存放数据
  244. return {
  245. title: this.$t("Key65"),
  246. navType: "5",
  247. isEmpty: false,
  248. activeIndex: "-1",
  249. navValue: "",
  250. navList: [
  251. {
  252. code: "",
  253. name: this.$t("Key110"), //"全部",
  254. },
  255. {
  256. code: [101],
  257. name: this.$t("Key61"), //"教材",
  258. },
  259. {
  260. code: [201],
  261. name: this.$t("Key62"), //"教学课程",
  262. },
  263. {
  264. code: [301, 302, 303],
  265. name: this.$t("Key63"), //"教培课程",
  266. },
  267. {
  268. code: [401],
  269. name: this.$t("Key64"), // "教研资料",
  270. },
  271. ],
  272. goods_name: "",
  273. total: 0,
  274. pageSize: 5,
  275. pageNum: 1,
  276. list: [],
  277. loading: false,
  278. orderNumber: "", //订单编号
  279. goods_Data: null,
  280. isPayment: false,
  281. isConfirmorder: false,
  282. };
  283. },
  284. //计算属性 类似于data概念
  285. computed: {
  286. ...mapGetters(["language_type"]),
  287. },
  288. //监控data中数据变化
  289. watch: {},
  290. //方法集合
  291. methods: {
  292. jump(item) {
  293. jumpPath(item);
  294. },
  295. // 选择已购买还是待付款
  296. handleSelect(val) {
  297. let _this = this;
  298. _this.activeIndex = val;
  299. _this.navValue = "";
  300. _this.pageNum = 1;
  301. _this.goods_name = "";
  302. this.getOrderList();
  303. },
  304. changeNav() {
  305. console.log(this.navValue);
  306. this.getOrderList();
  307. },
  308. changecurrentPage(val) {
  309. this.pageNum = val;
  310. this.getOrderList();
  311. },
  312. //分页查询我的订单列表
  313. getOrderList() {
  314. let _this = this;
  315. _this.loading = true;
  316. let MethodName = "page_query-PageQueryMyOrderList";
  317. let data = {
  318. goods_id_list: [], // 商品 ID 列表,空表示查询所有商品
  319. goods_type_list: _this.navValue ? _this.navValue : [], // 商品类型列表,具体参看数据字典 6.9,订单商品类型。空表示查询所有类型
  320. goods_name: _this.goods_name, // 商品名称,模糊查询,空表示查询所有
  321. page_capacity: _this.pageSize, // 每页容量,最大不能超过 200
  322. cur_page: _this.pageNum, // 当前查询第几页,页码序号从 1 开始
  323. };
  324. if (_this.activeIndex == "-1") {
  325. //全部
  326. data.pay_status = -1; //支付状态 -1全部0未支付1已支付
  327. data.cancel_status = -1; //取消状态 -1 全部 0 未取消 1 已取消(只有未支付的订单才会有取消状态)
  328. } else if (_this.activeIndex == "0") {
  329. //未支付
  330. data.pay_status = 0; //支付状态 -1全部0未支付1已支付
  331. data.cancel_status = 0; //取消状态 -1 全部 0 未取消 1 已取消(只有未支付的订单才会有取消状态)
  332. } else if (_this.activeIndex == "1") {
  333. //已支付
  334. data.pay_status = 1; //支付状态 -1全部0未支付1已支付
  335. data.cancel_status = 0; //取消状态 -1 全部 0 未取消 1 已取消(只有未支付的订单才会有取消状态)
  336. } else if (_this.activeIndex == "2") {
  337. //已取消
  338. data.cancel_status = 1; //取消状态 -1 全部 0 未取消 1 已取消(只有未支付的订单才会有取消状态)
  339. }
  340. getLearnWebContent(MethodName, data).then((res) => {
  341. _this.loading = false;
  342. this.total = res.total_count;
  343. if (res.order_list && res.order_list.length > 0) {
  344. let list = res.order_list;
  345. list = list.map((item) => {
  346. // item.price = this.handlePrice(item.price);
  347. // item.discount_money = this.handlePrice(item.discount_money);
  348. // item.receivables_money = this.handlePrice(item.receivables_money);
  349. let obj = this.handleGoodsType(item.goods_type);
  350. item.className = obj.className;
  351. item.goods_type_root_name = obj.rootName;
  352. item.isPop = false;
  353. return item;
  354. });
  355. this.list = list;
  356. console.log(this.list);
  357. this.isEmpty = false;
  358. } else {
  359. this.isEmpty = true;
  360. }
  361. });
  362. },
  363. handlePrice(price) {
  364. let priceArr = price.toString().split(".");
  365. if (priceArr.length > 1 && priceArr[1]) {
  366. } else {
  367. price = priceArr[0] + ".00";
  368. }
  369. return price;
  370. },
  371. handleGoodsType(type) {
  372. let className = "",
  373. rootName = "";
  374. if (type) {
  375. type = type.toString();
  376. if (type.indexOf("10") > -1) {
  377. className = "type10";
  378. rootName = this.$t("Key44"); //"教材";
  379. }
  380. if (type.indexOf("20") > -1) {
  381. rootName = this.$t("Key62"); //"教学课程";
  382. className = "type20";
  383. }
  384. if (type.indexOf("30") > -1) {
  385. className = "type30";
  386. rootName = this.$t("Key63"); //"教培课程";
  387. }
  388. if (type.indexOf("40") > -1) {
  389. className = "type40";
  390. rootName = this.$t("Key64"); //"教研资料";
  391. }
  392. }
  393. return { className: className, rootName: rootName };
  394. },
  395. handlePrice2(price) {
  396. let str = "";
  397. price = toString("price");
  398. if (price.indexOf(".") > -1) {
  399. let arr = price.split(".");
  400. str = `<span class="num1">${arr[0]}</span>.<span class="num2">${arr[1]}</span>`;
  401. } else {
  402. str = `<span class="num1">${price}</span>.<span class="num2">00</span>`;
  403. }
  404. return str;
  405. },
  406. close(item) {
  407. item.isPop = false;
  408. },
  409. //取消我的订单
  410. cancleMyOrder(id) {
  411. let _this = this;
  412. let MethodName = "order-order_manager-CancelMyOrder";
  413. let data = {
  414. id: id,
  415. };
  416. getLearnWebContent(MethodName, data).then((res) => {
  417. _this.$message.success("取消成功");
  418. _this.handleSelect(this.activeIndex);
  419. });
  420. },
  421. //删除我的订单
  422. deleteMyOrder(id) {
  423. let _this = this;
  424. _this
  425. .$confirm("此操作将永久删除该订单, 是否继续?", "提示", {
  426. confirmButtonText: "确定",
  427. cancelButtonText: "取消",
  428. type: "warning",
  429. })
  430. .then(() => {
  431. _this.setDeleteMyOrder(id);
  432. })
  433. .catch(() => {
  434. this.$message({
  435. type: "info",
  436. message: "已取消删除",
  437. });
  438. });
  439. },
  440. setDeleteMyOrder(id) {
  441. let _this = this;
  442. let MethodName = "order-order_manager-DeleteMyOrder";
  443. let data = {
  444. id: id,
  445. };
  446. getLearnWebContent(MethodName, data).then((res) => {
  447. _this.$message.success("删除成功");
  448. _this.handleSelect(this.activeIndex);
  449. });
  450. },
  451. //获取订单编号
  452. changeOrderNumber(
  453. id,
  454. back_discount_code,
  455. discount_money,
  456. receivables_money
  457. ) {
  458. this.orderNumber = id;
  459. this.isPayment = true;
  460. this.goods_Data.discount_code = back_discount_code;
  461. this.goods_Data.discount_money = discount_money;
  462. this.goods_Data.receivables_money = receivables_money;
  463. },
  464. //未支付订单,去购买
  465. goPay(item) {
  466. this.isPayment = true;
  467. this.goods_Data = item;
  468. this.orderNumber = item.id;
  469. },
  470. //重新下单
  471. reOrder(item) {
  472. this.isConfirmorder = true;
  473. this.goods_Data = item;
  474. },
  475. closeConfirmorder() {
  476. this.isConfirmorder = false;
  477. this.$refs.Confirmorder.clearData();
  478. },
  479. closePayment() {
  480. this.isPayment = false;
  481. this.$refs.Confirmorder.clearData();
  482. },
  483. judgePayResult(bool) {
  484. this.isPayment = false;
  485. this.isConfirmorder = false;
  486. if (bool) {
  487. this.$message.success("支付成功");
  488. } else {
  489. this.$message.warning("支付失败");
  490. }
  491. this.getOrderList();
  492. },
  493. // 处理价格
  494. changePrice(type, item) {
  495. if (item.indexOf(".") != -1) {
  496. if (type == 1) {
  497. return item.split(".")[0];
  498. } else if (type == 2) {
  499. return "." + item.split(".")[1];
  500. }
  501. } else {
  502. if (type == 1) {
  503. return item;
  504. }
  505. }
  506. },
  507. },
  508. //生命周期 - 创建完成(可以访问当前this实例)
  509. created() {},
  510. //生命周期 - 挂载完成(可以访问DOM元素)
  511. mounted() {
  512. this.getOrderList();
  513. },
  514. //生命周期-创建之前
  515. beforeCreated() {},
  516. //生命周期-挂载之前
  517. beforeMount() {},
  518. //生命周期-更新之前
  519. beforUpdate() {},
  520. //生命周期-更新之后
  521. updated() {},
  522. //生命周期-销毁之前
  523. beforeDestory() {},
  524. //生命周期-销毁完成
  525. destoryed() {},
  526. //如果页面有keep-alive缓存功能,这个函数会触发
  527. activated() {},
  528. };
  529. </script>
  530. <style lang="scss" scoped>
  531. /* @import url(); 引入css类 */
  532. .OrderManage {
  533. .menuBox {
  534. padding: 0 32px;
  535. display: flex;
  536. justify-content: space-between;
  537. align-items: center;
  538. margin-bottom: 8px;
  539. }
  540. .list {
  541. width: 100%;
  542. min-height: 221px;
  543. margin-bottom: 20px;
  544. .main {
  545. width: 100%;
  546. box-sizing: border-box;
  547. padding: 0px 0px 0px 32px;
  548. background: #ffffff;
  549. box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.15);
  550. &:hover {
  551. background: #fff9f1;
  552. }
  553. &-top {
  554. width: 100%;
  555. height: 53px;
  556. display: flex;
  557. justify-content: space-between;
  558. align-items: center;
  559. border-bottom: 1px rgba(44, 44, 44, 0.15) solid;
  560. padding-right: 24px;
  561. &-left {
  562. display: flex;
  563. justify-content: flex-start;
  564. align-items: center;
  565. .orderTime {
  566. font-weight: bold;
  567. font-size: 14px;
  568. line-height: 150%;
  569. text-align: right;
  570. color: #2c2c2c;
  571. margin-right: 16px;
  572. &.marginLeft {
  573. margin-right: 0px;
  574. margin-left: 16px;
  575. }
  576. }
  577. .orderNo {
  578. font-weight: normal;
  579. font-size: 14px;
  580. line-height: 150%;
  581. color: #2c2c2c;
  582. }
  583. }
  584. .del-order {
  585. width: 16px;
  586. height: 16px;
  587. cursor: pointer;
  588. }
  589. }
  590. &-content {
  591. padding: 16px 0 16px;
  592. display: flex;
  593. justify-content: space-between;
  594. align-items: center;
  595. cursor: pointer;
  596. &-left {
  597. display: flex;
  598. justify-content: flex-start;
  599. margin-right: 18px;
  600. .coverUrl {
  601. width: 120px;
  602. height: 120px;
  603. border-radius: 4px;
  604. display: flex;
  605. justify-content: center;
  606. align-items: center;
  607. > img {
  608. max-width: 100%;
  609. max-height: 100%;
  610. }
  611. }
  612. .order-infor {
  613. width: 352px;
  614. display: flex;
  615. flex-direction: column;
  616. justify-content: flex-start;
  617. align-items: flex-start;
  618. margin: 0 16px;
  619. .name {
  620. max-height: 48px;
  621. word-break: break-all;
  622. display: -webkit-box;
  623. -webkit-box-orient: vertical;
  624. -webkit-line-clamp: 2;
  625. text-overflow: ellipsis;
  626. overflow: hidden;
  627. font-weight: normal;
  628. font-size: 16px;
  629. line-height: 150%;
  630. color: #2c2c2c;
  631. }
  632. .goodsType {
  633. min-width: 64px;
  634. padding: 0 8px;
  635. box-sizing: border-box;
  636. height: 24px;
  637. background: #ffefd8;
  638. border-radius: 4px;
  639. margin: 8px 0;
  640. font-weight: bold;
  641. font-size: 12px;
  642. line-height: 24px;
  643. text-align: center;
  644. &.type10 {
  645. background: #ffefd8;
  646. color: #ff9900;
  647. }
  648. &.type20 {
  649. background: #def6cc;
  650. color: #73b740;
  651. }
  652. &.type30 {
  653. background: #ecf1ff;
  654. color: #5079e2;
  655. }
  656. &.type40 {
  657. background: #eee1ff;
  658. color: #7f43ff;
  659. }
  660. }
  661. .author {
  662. font-weight: normal;
  663. font-size: 14px;
  664. line-height: 150%;
  665. color: #2c2c2c;
  666. opacity: 0.65;
  667. }
  668. }
  669. }
  670. &-middle {
  671. height: 136px;
  672. display: flex;
  673. flex-direction: column;
  674. justify-content: center;
  675. align-items: center;
  676. box-sizing: border-box;
  677. padding: 0 48px 0 32px;
  678. border-width: 0 1px 0 1px;
  679. border-style: solid;
  680. border-color: rgba(44, 44, 44, 0.15);
  681. .middle-con {
  682. position: relative;
  683. width: 100%;
  684. display: flex;
  685. justify-content: center;
  686. align-items: center;
  687. &-discount {
  688. margin: 16px 0;
  689. }
  690. &-text {
  691. font-weight: normal;
  692. font-size: 14px;
  693. line-height: 22px;
  694. text-align: right;
  695. color: #2c2c2c;
  696. margin-right: 8px;
  697. width: 30px;
  698. }
  699. &-p1 {
  700. width: 72px;
  701. font-weight: normal;
  702. font-size: 14px;
  703. line-height: 22px;
  704. text-align: right;
  705. color: #2c2c2c;
  706. &.textLeft {
  707. text-align: left;
  708. }
  709. }
  710. &-p2 {
  711. font-weight: bold;
  712. color: #ff2727;
  713. }
  714. .notice {
  715. position: absolute;
  716. right: -20px;
  717. width: 16px;
  718. height: 16px;
  719. }
  720. }
  721. }
  722. &-right {
  723. display: flex;
  724. flex-direction: column;
  725. justify-content: space-around;
  726. align-items: flex-end;
  727. padding: 0 40px;
  728. .price {
  729. font-weight: bold;
  730. font-size: 16px;
  731. line-height: 150%;
  732. text-align: right;
  733. color: #2c2c2c;
  734. margin-bottom: 8px;
  735. }
  736. .order-status {
  737. display: flex;
  738. justify-content: center;
  739. align-items: center;
  740. > span {
  741. width: 120px;
  742. // height: 40px;
  743. font-weight: normal;
  744. font-size: 16px;
  745. // line-height: 40px;
  746. text-align: center;
  747. &.noPay {
  748. color: #ff9900;
  749. }
  750. &.pay {
  751. color: #27c579;
  752. }
  753. &.cancel {
  754. color: #888888;
  755. }
  756. }
  757. }
  758. .order-btn {
  759. display: flex;
  760. flex-direction: column;
  761. justify-content: center;
  762. align-items: center;
  763. height: 136px;
  764. .cancelOrder {
  765. height: 40px;
  766. padding: 0 12px;
  767. font-weight: normal;
  768. font-size: 16px;
  769. // line-height: 40px;
  770. text-align: center;
  771. color: #2c2c2c;
  772. cursor: pointer;
  773. }
  774. .pcom_verfiy {
  775. font-size: 16px;
  776. // line-height: 40px;
  777. text-align: center;
  778. text-transform: uppercase;
  779. margin-bottom: 8px;
  780. &_zhong {
  781. color: #ff9900;
  782. }
  783. &_agree {
  784. color: #27c579;
  785. }
  786. &_failed {
  787. color: #ff3c3c;
  788. }
  789. }
  790. .goPay {
  791. min-width: 120px;
  792. height: 40px;
  793. display: flex;
  794. justify-content: center;
  795. align-items: center;
  796. background: #ff9900;
  797. border-radius: 4px;
  798. font-weight: normal;
  799. font-size: 16px;
  800. padding: 8px 8px;
  801. text-align: center;
  802. text-transform: uppercase;
  803. color: #ffffff;
  804. cursor: pointer;
  805. border: 0;
  806. outline: 0;
  807. margin-bottom: 8px;
  808. &.noPay_ad {
  809. background: #e5e5e5;
  810. color: rgba(44, 44, 44, 0.5);
  811. cursor: default;
  812. }
  813. }
  814. .cancel-success {
  815. width: 120px;
  816. height: 40px;
  817. border-radius: 4px;
  818. font-weight: normal;
  819. font-size: 16px;
  820. // line-height: 40px;
  821. text-align: center;
  822. text-transform: uppercase;
  823. color: #888888;
  824. cursor: pointer;
  825. border: 0;
  826. outline: 0;
  827. margin-top: 16px;
  828. }
  829. }
  830. }
  831. }
  832. }
  833. }
  834. }
  835. </style>
  836. <style lang="scss">
  837. .OrderManage {
  838. .el-menu.el-menu--horizontal {
  839. border: 0;
  840. padding: 0;
  841. }
  842. .el-menu--horizontal > .el-menu-item {
  843. height: 44px;
  844. font-size: 16px;
  845. line-height: 44px;
  846. text-align: center;
  847. padding: 0;
  848. margin-right: 24px;
  849. }
  850. .el-menu--horizontal > .el-menu-item.is-active {
  851. border-bottom: 1px solid #ff9900;
  852. }
  853. .el-pagination.is-background .el-pager li:not(.disabled).active {
  854. background: #ff9900;
  855. color: #fff;
  856. }
  857. .menuBox {
  858. .el-input__inner {
  859. width: 128px;
  860. height: 40px;
  861. background: #ffffff;
  862. border: 1px solid #d9d9d9;
  863. box-sizing: border-box;
  864. border-radius: 4px;
  865. font-size: 16px;
  866. color: #2c2c2c;
  867. }
  868. }
  869. .orderDialog {
  870. .el-dialog__header {
  871. padding: 32px 20px 24px 32px;
  872. .el-dialog__title {
  873. line-height: 150%;
  874. font-size: 20px;
  875. color: #000;
  876. }
  877. }
  878. .el-dialog__body {
  879. padding: 0px 32px 32px 32px;
  880. }
  881. }
  882. }
  883. </style>