You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

275 lines
6.5 KiB

  1. <template>
  2. <div class="Box">
  3. <div class="back-box">
  4. <van-icon
  5. class="back-icon"
  6. @click="goBack"
  7. size=".6rem"
  8. name="arrow-left"
  9. color="#fff"
  10. />
  11. <span>会员核销</span>
  12. </div>
  13. <div class="topbox">
  14. <div class="title">今日收款总额(元)</div>
  15. <div class="num">{{(sum_real_payment1+sum_real_payment2+sum_real_payment3)/100}}</div>
  16. <div class="piece">{{`${list.length} 笔`}}</div>
  17. <div class="intOne">
  18. <div class="left">
  19. <div class="text1">已到账(元)</div>
  20. <div class="text" style="color: #fff; font-weight: bold">{{(sum_real_payment2+sum_real_payment3)/100}}</div>
  21. </div>
  22. <div class="right">
  23. <div class="text1">未到账(元)</div>
  24. <div class="text" style="color: #fff; font-weight: bold">{{sum_real_payment1/100}}</div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="clearfix">
  29. <div class="clearfix_left">{{setTiem(new Date().getTime(),"YYYY-MM-DD")}}</div>
  30. <div class="clearfix_right" @click="goCurrent">按日期查询</div>
  31. </div>
  32. <div class="contents" v-for="(item,index) in list" :key="index">
  33. <div class="contents_left">
  34. <div class="customer">{{item.onickName}}</div>
  35. <div>{{setTiem(item.createDate,"YYYY-MM-DD HH:mm:ss")}}</div>
  36. </div>
  37. <div class="contents_right">
  38. <div style="color: #000; line-height: 1rem;text-align: right;">{{`¥${item.deductionAmount/100}`}}</div>
  39. <div>{{`实收 ¥${item.realPayment/100}`}}</div>
  40. </div>
  41. </div>
  42. <div class="noData">暂无数据</div>
  43. </div>
  44. </template>
  45. <script>
  46. import Vue from "vue";
  47. import moment from "moment";
  48. import { Toast } from "vant";
  49. import{ mapState} from "vuex";
  50. export default {
  51. data() {
  52. return {
  53. pageNum:1,
  54. pageSize:10,
  55. list:[],
  56. sum_real_payment1: 0,
  57. sum_real_payment2: 0,
  58. sum_real_payment3:0,
  59. }
  60. },
  61. computed: {
  62. ...mapState(['merchant_id'])
  63. },
  64. methods: {
  65. goBack() {
  66. this.$router.go(-1)
  67. },
  68. goCurrent() {
  69. this.$router.push("/current");
  70. },
  71. //查询消费卡扫码记录列表
  72. getCardPay() {
  73. Toast.loading({
  74. message: "加载中...",
  75. duration: 0, // 持续展示 toast
  76. forbidClick: true,
  77. forbidClick: true,
  78. });
  79. this.$http.cardPayList({
  80. methods: "get",
  81. params: {
  82. pageNum:this.pageNum,
  83. pageSize:this.pageSize,
  84. startdate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 00:00:00',
  85. enddate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 23:59:59',
  86. },
  87. }).then(res=>{
  88. const {code,message,data} = res
  89. if(code ==200){
  90. Toast.clear();
  91. this.list = data.list
  92. }else{
  93. Toast.clear();
  94. Toast(message);
  95. }
  96. }).catch(res=>{
  97. Toast.clear();
  98. Toast(res);
  99. })
  100. },
  101. payMum1(){
  102. this.$http.payMum({
  103. methods: "get",
  104. params:{
  105. merchantId: this.merchant_id,
  106. startdate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 00:00:00',
  107. enddate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 23:59:59',
  108. payStatus:0
  109. }
  110. }).then(res=>{
  111. const{code , data,message}=res
  112. if(code==200){
  113. this.sum_real_payment1= Number(data.length!=0?res.data[0].sum_real_payment:0)
  114. }else{
  115. Toast(message);
  116. }
  117. })
  118. },
  119. payMum2(){
  120. this.$http.payMum({
  121. methods: "get",
  122. params:{
  123. merchantId: this.merchant_id,
  124. startdate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 00:00:00',
  125. enddate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 23:59:59',
  126. payStatus:1
  127. }
  128. }).then(res=>{
  129. const{code , data,message}=res
  130. if(code==200){
  131. this.sum_real_payment2= Number(data.length!=0?res.data[0].sum_real_payment:0)
  132. }else{
  133. Toast(message);
  134. }
  135. })
  136. },
  137. payMum3(){
  138. this.$http.payMum({
  139. methods: "get",
  140. params:{
  141. merchantId: this.merchant_id,
  142. startdate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 00:00:00',
  143. enddate: moment(new Date().getTime()).format("YYYY-MM-DD")+' 23:59:59',
  144. payStatus:2
  145. }
  146. }).then(res=>{
  147. const{code , data,message}=res
  148. if(code==200){
  149. this.sum_real_payment3= Number(data.length!=0?res.data[0].sum_real_payment:0)
  150. }else{
  151. Toast(message);
  152. }
  153. })
  154. },
  155. //时间处理
  156. setTiem(temp,format){//第一个参数是时间戳 第二个参数是格式 参考momentJS
  157. return moment(Number(temp)).format(format)
  158. }
  159. },
  160. mounted() {
  161. this.getCardPay();
  162. this.payMum1();
  163. this.payMum2();
  164. this.payMum3();
  165. },
  166. };
  167. </script>
  168. <style scoped>
  169. .Box {
  170. height: 100%;
  171. overflow: hidden;
  172. font-size: 0.42rem;
  173. }
  174. .back-box {
  175. left: 0;
  176. top: 0;
  177. z-index: 1000;
  178. width: 100%;
  179. height: 1.3rem;
  180. line-height: 1.3rem;
  181. background: #52a0fd;
  182. color: #fff;
  183. font-size: 0.43rem;
  184. text-align: center;
  185. }
  186. .back-icon {
  187. float: left;
  188. margin: 0.4rem 0 0 0.1rem;
  189. }
  190. .topbox {
  191. background-color: #52a0fd;
  192. color: rgba(255, 255, 255, 1);
  193. }
  194. .title {
  195. text-align: center;
  196. line-height: 1rem;
  197. }
  198. .num {
  199. font-size: 0.86rem;
  200. text-align: center;
  201. line-height: 2rem;
  202. }
  203. .piece {
  204. border-bottom: 0.01rem solid rgba(255, 255, 255, 1);
  205. line-height: 1rem;
  206. text-align: center;
  207. }
  208. .intOne {
  209. overflow: hidden;
  210. }
  211. .left {
  212. width: 50%;
  213. float: left;
  214. }
  215. .right {
  216. width: 50%;
  217. float: right;
  218. }
  219. .text {
  220. line-height: 1.2rem;
  221. }
  222. .text1 {
  223. padding-top: 0.6rem;
  224. }
  225. .clearfix {
  226. padding: 0 0.6rem;
  227. line-height: 1rem;
  228. background: #f6f6f6;
  229. overflow: hidden;
  230. font-size: 0.42rem;
  231. font-family: PingFang-SC-Medium;
  232. font-weight: 500;
  233. color: rgba(153, 153, 153, 1);
  234. }
  235. .clearfix_left {
  236. float: left;
  237. }
  238. .clearfix_right {
  239. float: right;
  240. color: #52a0fd;
  241. }
  242. .contents {
  243. padding: 0 0.6rem;
  244. overflow: hidden;
  245. font-size: 0.42rem;
  246. font-family: PingFang-SC-Medium;
  247. font-weight: 500;
  248. border-bottom: 0.01rem solid #f6f6f6;
  249. color: rgba(153, 153, 153, 1);
  250. padding-top: 0.5rem;
  251. }
  252. .contents_left {
  253. float: left;
  254. line-height: 1rem;
  255. text-align: left;
  256. }
  257. .customer{
  258. color: #000;
  259. font-size: 0.48rem;
  260. }
  261. .contents_right {
  262. float: right;
  263. line-height: 0.8rem;
  264. padding-bottom: 0.5rem;
  265. }
  266. .noData {
  267. line-height: 2rem;
  268. text-align: center;
  269. }
  270. </style>