evaluation.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <!--
  2. * @Author: wangwei
  3. * @Date: 2021-01-04 14:37:27
  4. * @LastEditTime: 2021-01-13 14:43:54
  5. * @LastEditors: Please set LastEditors
  6. * @Description: In User Settings Edit
  7. * @FilePath: /java-pc/src/views/member/order/Evaluate.vue
  8. -->
  9. <template>
  10. <div class="sld_order_evaluatist">
  11. <MemberTitle :memberTitle="L['交易评价/晒单']"></MemberTitle>
  12. <div class="top_info flex_row_start_center">
  13. <div class="left flex_column_center_center">
  14. <div class="evaluating">
  15. <div>{{ L["待评订单"] }}</div>
  16. <span class="num">{{ member_info.data.toEvaluateOrder }}</span>
  17. </div>
  18. <span class="text">{{ L["发评价,得积分,积少成多换商品"] }}</span>
  19. </div>
  20. <div class="right flex_row_between_start">
  21. <div class="info">
  22. <div class="flex_row_start_center">
  23. <img class="tips" :src="tips" alt="" />
  24. <p>{{ L["评价小贴士"] }}</p>
  25. </div>
  26. <div class="flex_row_center_center">
  27. <span class="tips_info">{{ L["发表评价可获得会员积分"] }}</span>
  28. </div>
  29. </div>
  30. <div class="qrcode">
  31. <div class="image">
  32. <img :src="logo" alt />
  33. </div>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="evaluatilist_con">
  38. <div class="title">
  39. <div class="evaluating active">{{ L["待评订单"] }}</div>
  40. </div>
  41. <div
  42. class="order_item"
  43. v-for="(orderItem, index) in order_list.data"
  44. :key="index"
  45. >
  46. <div class="order_item_title flex">
  47. <span class="order_sn"
  48. >{{ orderItem.createTime
  49. }}<span @click="goOrderDetail(orderItem.orderSn)"
  50. >{{ L["订单号"] }}:{{ orderItem.orderSn }}</span
  51. ></span
  52. >
  53. <span class="price">{{ L["金额"] }}</span>
  54. <span class="oprate">{{ L["操作"] }}</span>
  55. </div>
  56. <div class="good_info flex_row_start_center">
  57. <div class="good_con flex_column_center_center">
  58. <div
  59. class="good_item flex_row_center_center"
  60. v-for="(goodItem, index) in orderItem.orderProductListVOList"
  61. :key="index"
  62. >
  63. <div
  64. class="image flex_row_center_center"
  65. @click="goGoodsDetail(goodItem.productId)"
  66. >
  67. <!-- <img :src="goodItem.productImage" alt/> -->
  68. <coverImage
  69. :src="goodItem.productImage"
  70. width="80"
  71. height="80"
  72. ></coverImage>
  73. </div>
  74. <div
  75. class="name overflow_ellipsis_two"
  76. @click="goGoodsDetail(goodItem.productId)"
  77. >
  78. {{ goodItem.goodsName }}
  79. </div>
  80. <span class="num">x{{ goodItem.productNum }}</span>
  81. </div>
  82. </div>
  83. <div class="price flex_row_center_center">
  84. {{ L["支付金额"] }}:¥{{ orderItem.orderAmount }}
  85. </div>
  86. <div class="oprate flex_column_center_center">
  87. <span
  88. class="detail pointer"
  89. @click="goOrderDetail(orderItem.orderSn)"
  90. >{{ L["订单详情"] }}</span
  91. >
  92. <div
  93. class="evaluate_btn pointer"
  94. @click="goOrderEvaluate(orderItem.orderSn)"
  95. >
  96. {{ L["评价订单"] }}
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <SldCommonEmpty
  102. v-if="order_list.data.length == 0"
  103. :tip="L['暂无订单~']"
  104. totalWidth="934px"
  105. />
  106. <!-- 分页 start -->
  107. <div class="flex_row_center_center sld_pagination">
  108. <el-pagination
  109. @current-change="handleCurrentChange"
  110. :currentPage="pageData.current"
  111. :page-size="pageData.pageSize"
  112. layout="prev, pager, next, jumper"
  113. :total="pageData.total"
  114. :hide-on-single-page="true"
  115. >
  116. </el-pagination>
  117. </div>
  118. <!-- 分页 end -->
  119. </div>
  120. </div>
  121. </template>
  122. <script setup>
  123. import { reactive, getCurrentInstance, onMounted } from "vue";
  124. import { useRouter } from "vue-router";
  125. // import { lang_zn } from "@/assets/language/zh";
  126. import { getCurLanguage } from '@/composables/common.js';
  127. import { useFiltersStore } from "@/store/filter.js";
  128. import {
  129. ElMessage,
  130. ElPagination,
  131. } from "element-plus";
  132. const filtersStore = useFiltersStore();
  133. // const L = lang_zn;
  134. const L = getCurLanguage();
  135. definePageMeta({
  136. layout: "member",
  137. middleware: ["auth"],
  138. });
  139. const member_info = reactive({ data: {} });
  140. const order_list = reactive({ data: [] });
  141. const logo = ref("/order/evaluate_logo.png");
  142. const tips = ref("/order/tips.png");
  143. const router = useRouter();
  144. const pageData = reactive({
  145. current: 1,
  146. pageSize: 10,
  147. total: 0,
  148. });
  149. const { proxy } = getCurrentInstance();
  150. const getInfo = () => {
  151. get("v3/member/front/member/getInfo")
  152. .then((res) => {
  153. if (res.state == 200) {
  154. member_info.data = res.data;
  155. } else {
  156. ElMessage(res.msg);
  157. }
  158. })
  159. .catch(() => {
  160. //异常处理
  161. });
  162. };
  163. //去商品详情页
  164. const goGoodsDetail = (productId) => {
  165. goGoodsDetail(productId);
  166. };
  167. const getOrderList = () => {
  168. var param = {};
  169. param.evaluateState = 1;
  170. param.orderState = 40;
  171. param.current = pageData.current;
  172. param.pageSize = pageData.pageSize;
  173. get("v3/business/front/orderInfo/list", param)
  174. .then((res) => {
  175. if (res.state == 200) {
  176. order_list.data = res.data.list;
  177. pageData.total = res.data.pagination.total;
  178. } else {
  179. ElMessage(res.msg);
  180. }
  181. })
  182. .catch(() => {
  183. //异常处理
  184. });
  185. };
  186. const goOrderEvaluate = (orderSn) => {
  187. router.push({
  188. path: "/member/order/evaluate",
  189. query: {
  190. orderSn: orderSn,
  191. },
  192. });
  193. };
  194. const goOrderDetail = (orderSn) => {
  195. router.push({
  196. path: "/member/order/detail",
  197. query: {
  198. orderSn: orderSn,
  199. },
  200. });
  201. };
  202. //向前翻页
  203. const handlePrevCilickChange = () => {
  204. pageData.current--;
  205. getOrderList();
  206. };
  207. //向后翻页
  208. const handleNextCilickChange = () => {
  209. pageData.current++;
  210. getOrderList();
  211. };
  212. //页数改变
  213. const handleCurrentChange = (current) => {
  214. pageData.current = current;
  215. getOrderList();
  216. };
  217. onMounted(() => {
  218. getInfo();
  219. getOrderList();
  220. });
  221. </script>
  222. <style lang="scss" scoped>
  223. @use "@/assets/style/member/orderEvaluation.scss" as *;
  224. </style>