第一次覆盖

master
joeyoyo 5 years ago
parent 088c00f04f
commit 83bfd18ed8
  1. 34
      .project
  2. 316
      html/OTC/css/OTC_index.css
  3. 7
      html/OTC/css/OTC_index.css.map
  4. 402
      html/OTC/css/OTC_index.scss
  5. 152
      html/OTC/css/ad_manager.css
  6. 7
      html/OTC/css/ad_manager.css.map
  7. 193
      html/OTC/css/ad_manager.scss
  8. 175
      html/OTC/css/advertisement.css
  9. 7
      html/OTC/css/advertisement.css.map
  10. 224
      html/OTC/css/advertisement.scss
  11. 71
      html/OTC/css/appeal.css
  12. 58
      html/OTC/css/appeal2.css
  13. 7
      html/OTC/css/appeal2.css.map
  14. 68
      html/OTC/css/appeal2.scss
  15. 39
      html/OTC/css/binding_total.css
  16. 7
      html/OTC/css/binding_total.css.map
  17. 47
      html/OTC/css/binding_total.scss
  18. 148
      html/OTC/css/lct_index.css
  19. 7
      html/OTC/css/lct_index.css.map
  20. 196
      html/OTC/css/lct_index.scss
  21. 114
      html/OTC/css/merchant.css
  22. 7
      html/OTC/css/merchant.css.map
  23. 137
      html/OTC/css/merchant.scss
  24. 136
      html/OTC/css/order.css
  25. 7
      html/OTC/css/order.css.map
  26. 174
      html/OTC/css/order.scss
  27. 395
      html/OTC/css/payment.css
  28. 7
      html/OTC/css/payment.css.map
  29. 545
      html/OTC/css/payment.scss
  30. 1112
      html/OTC/html/OTC_index.html
  31. 703
      html/OTC/html/ad_manager.html
  32. 534
      html/OTC/html/advertisement.html
  33. 332
      html/OTC/html/appeal.html
  34. 344
      html/OTC/html/binding_Alipay.html
  35. 348
      html/OTC/html/binding_Wechat.html
  36. 294
      html/OTC/html/binding_card.html
  37. 381
      html/OTC/html/binding_total.html
  38. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/addOrder.scssc
  39. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/appeal.scssc
  40. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/buyer.scssc
  41. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/historyOrder.scssc
  42. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/legal.scssc
  43. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/pop.scssc
  44. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/seller.scssc
  45. BIN
      html/OTC/html/chatWindow/.sass-cache/0e1579853419b9487985df620b577ca03901c53c/third.scssc
  46. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/addOrder.scssc
  47. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/appeal.scssc
  48. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/buyer.scssc
  49. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/historyOrder.scssc
  50. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/legal.scssc
  51. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/legalCurreny.scssc
  52. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/legalDetail.scssc
  53. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/pop.scssc
  54. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/seller.scssc
  55. BIN
      html/OTC/html/chatWindow/.sass-cache/e4bacdb272a937e69d8df96df3be95edc8977307/third.scssc
  56. 117
      html/OTC/html/chatWindow/css/buyer.css
  57. 7
      html/OTC/html/chatWindow/css/buyer.css.map
  58. 150
      html/OTC/html/chatWindow/css/buyer.scss
  59. 33
      html/OTC/html/chatWindow/js/common/ajax.js
  60. 406
      html/OTC/html/chatWindow/js/common/buyer.js
  61. 158
      html/OTC/html/chatWindow/js/common/jgChat.js
  62. 1
      html/OTC/html/chatWindow/js/common/jmessage-sdk-web.2.6.0.min.js
  63. 418
      html/OTC/html/had_payment.html
  64. 302
      html/OTC/html/merchant.html
  65. 471
      html/OTC/html/order.html
  66. 1103
      html/OTC/html/payment.html
  67. 249
      html/OTC/html/复制 ad_manager.html
  68. 789
      html/OTC/html/复制 payment.html
  69. BIN
      html/OTC/img/IC_WEIXIN.png
  70. BIN
      html/OTC/img/chat.png
  71. BIN
      html/OTC/img/code.png
  72. BIN
      html/OTC/img/countdown.png
  73. BIN
      html/OTC/img/fuzhi.png
  74. BIN
      html/OTC/img/ic_yinhangka.png
  75. BIN
      html/OTC/img/ic_zhifubao.png
  76. BIN
      html/OTC/img/insecure.png
  77. BIN
      html/OTC/img/no_data.png
  78. BIN
      html/OTC/img/remove.png
  79. BIN
      html/OTC/img/shensu.png
  80. BIN
      html/OTC/img/sure.png
  81. BIN
      html/OTC/img/swiperleft.png
  82. BIN
      html/OTC/img/upload.png
  83. 48
      html/OTC/js/ajax/ad_ajax.js
  84. 18
      html/OTC/js/ajax/appeal_ajax.js
  85. 13
      html/OTC/js/ajax/coin_ajax.js
  86. 29
      html/OTC/js/ajax/config_ajax.js
  87. 13
      html/OTC/js/ajax/market_apply_ajax.js
  88. 8
      html/OTC/js/ajax/market_user_ajax.js
  89. 38
      html/OTC/js/ajax/order_ajax.js
  90. 58
      html/OTC/js/ajax/userpay_ajax.js
  91. 3005
      html/OTC/js/base/bankcard.js
  92. 73
      html/OTC/js/base/base.compute.js
  93. 27
      html/OTC/js/base/requestUrl.js
  94. 415
      html/cct/css/cct_index.css
  95. 7
      html/cct/css/cct_index.css.map
  96. 514
      html/cct/css/cct_index.scss
  97. 21
      html/cct/css/transaction_details.css
  98. 7
      html/cct/css/transaction_details.css.map
  99. 28
      html/cct/css/transaction_details.scss
  100. 1632
      html/cct/html/cct_index.html
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>zhixinlian-app</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.pandora.projects.ui.MKeyBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.pandora.projects.ui.MKeyNature</nature>
<nature>com.aptana.projects.webnature</nature>
</natures>
<filteredResources>
<filter>
<id>1572947876899</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

@ -0,0 +1,316 @@
@charset "UTF-8";
.mui-icon-left {
font-size: .27rem; }
.mui-icon-left .icon_more {
display: inline-block;
vertical-align: middle;
width: 0;
height: 0;
border: 5px solid transparent;
/*5px 足够了*/
border-top-color: #666666;
/*top箭头向下 bottom箭头向上*/ }
body,
.mui-content {
background: #F5F5F5; }
.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen {
top: 1.1rem; }
.mui-scroll-wrapper {
overflow: scroll; }
.mui-slider-indicator.mui-segmented-control {
background: #FFFFFF;
text-align: left; }
.mui-segmented-control .mui-control-item {
display: inline-block;
margin: 0 .51rem;
overflow: auto;
width: auto;
padding: 0 .17rem; }
.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active {
border-bottom: 2px solid #007aff !important; }
.mui-table-view {
background: #F5F5F5;
margin-top: .2rem; }
.mui-table-view:before {
height: 0; }
.mui-table-view .mui-table-view-cell {
width: 90%;
height: 2.29rem;
background: #FFFFFF;
border-radius: 5px;
margin: .2rem auto;
display: flex;
justify-content: space-between; }
.mui-table-view .mui-table-view-cell:after {
height: 0; }
.mui-table-view .mui-table-view-cell .left-box {
display: flex;
flex-flow: column; }
.mui-table-view .mui-table-view-cell .left-box .person {
display: flex;
align-items: center; }
.mui-table-view .mui-table-view-cell .left-box .person .person-img {
width: .68rem;
height: .68rem;
border-radius: 50%;
overflow: hidden; }
.mui-table-view .mui-table-view-cell .left-box .person .person-img img {
width: 100%;
height: 100%; }
.mui-table-view .mui-table-view-cell .left-box .person .person-name {
color: #333333;
padding-left: .2rem; }
.mui-table-view .mui-table-view-cell .left-box p {
flex: 1;
font-size: .22rem; }
.mui-table-view .mui-table-view-cell .left-box p label {
color: #333333; }
.mui-table-view .mui-table-view-cell .left-box .info {
font-size: .2rem; }
.mui-table-view .mui-table-view-cell .right-box {
text-align: right;
position: relative; }
.mui-table-view .mui-table-view-cell .right-box .total-num {
font-size: .31rem;
color: #3366F6;
padding-top: .2rem; }
.mui-table-view .mui-table-view-cell .right-box .total-num label {
font-size: .2rem;
color: #666666; }
.mui-table-view .mui-table-view-cell .right-box .icon {
margin-top: .1rem; }
.mui-table-view .mui-table-view-cell .right-box .icon .mui-icon {
font-size: .3rem; }
.mui-table-view .mui-table-view-cell .right-box button {
width: 1.44rem;
height: .58rem;
position: absolute;
bottom: 0;
right: 0;
border-radius: 5px;
color: #FFFFFF; }
.mui-table-view .mui-table-view-cell .right-box .sales {
background: #E32E33;
border: 1px solid #E32E33; }
.mui-table-view .mui-table-view-cell .right-box .buys {
background: #73D13D;
border: 1px solid #73D13D; }
#popover {
background: #FFFFFF;
width: 100%;
height: 5.2rem;
padding: .2rem; }
#popover .popover-info .info-txt {
display: flex;
justify-content: space-between;
align-items: center; }
#popover .popover-info .info-txt h4 {
color: #333333;
font-size: .31rem; }
#popover .popover-info .info-txt .money {
color: #333333;
font-size: .27rem; }
#popover .popover-info p {
color: #999999;
font-size: .2rem; }
#popover .icon {
margin-top: .2rem; }
#popover .icon label {
color: #666666;
font-size: .27rem;
padding-left: .1rem; }
#popover .icon .mui-icon {
font-size: .3rem;
padding: 0 .1rem; }
#popover .input-group {
width: 90%;
margin: .1rem auto;
position: relative; }
#popover .input-group input {
width: 100%;
height: .75rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1; }
#popover .input-group input::-webkit-input-placeholder {
color: #999999;
font-size: .24rem; }
#popover .input-group .one {
width: 70%; }
#popover .input-group label {
position: absolute;
right: .2rem;
top: .18rem; }
#popover .input-group .unit {
margin-right: 1.6rem; }
#popover .input-group .all {
width: 1.13rem;
height: .43rem;
border: 1px solid #D43436;
border-radius: .2rem;
text-align: center;
color: #D43436;
font-size: .2rem; }
#popover .note {
color: #999999;
font-size: .2rem; }
.btn {
width: 100%;
text-align: center; }
.btn .app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem; }
#topPopover {
position: fixed;
top: 16px;
right: 6px;
background: #FFFFFF;
width: 2rem;
height: 1.48rem; }
#topPopover .mui-table-view-cell:after {
right: 15px; }
#topPopover ul li .mui-active {
background-color: #EEEEEE;
border-radius: 10px; }
#topPopover .mui-popover-arrow {
left: auto;
right: 6px; }
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none; }
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20%;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em; }
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .5em;
color: #333333;
cursor: pointer;
font-size: .3rem; }
select::-ms-expand {
display: none; }
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
background: #FFFFFF;
pointer-events: none;
font-size: .2rem; }
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease; }
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 1010;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
.confirm .input-group {
position: relative;
text-align: center;
overflow: hidden; }
.confirm .input-group .title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1; }
.confirm .input-group .icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .mui-input-row {
padding: 0 .3rem;
margin-top: .4rem; }
.confirm .input-group .mui-input-row label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem; }
.confirm .input-group .mui-input-row .mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem; }
.confirm .input-group .mui-input-row .mui-input-password::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999; }
.confirm .input-group .mui-input-row .mui-icon-eye {
top: .5rem;
right: .29rem; }
.confirm .input-group .mui-button-row button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem; }
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.4);
z-index: 1000; }
/*# sourceMappingURL=OTC_index.css.map */

File diff suppressed because one or more lines are too long

@ -0,0 +1,402 @@
@charset "UTF-8";
.mui-icon-left {
font-size: .27rem;
.icon_more {
display: inline-block;
vertical-align: middle;
width: 0;
height: 0;
border: 5px solid transparent;
/*5px 足够了*/
border-top-color: #666666;
/*top箭头向下 bottom箭头向上*/
}
}
body,
.mui-content {
background: #F5F5F5;
}
.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen {
top: 1.1rem;
}
.mui-scroll-wrapper {
overflow: scroll;
}
.mui-slider-indicator.mui-segmented-control {
background: #FFFFFF;
text-align: left;
}
.mui-segmented-control .mui-control-item {
display: inline-block;
margin:0 .51rem;
overflow: auto;
width: auto;
padding: 0 .17rem;
}
.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active {
border-bottom: 2px solid #007aff !important;
}
.mui-table-view {
&:before {
height: 0;
}
background: #F5F5F5;
margin-top:.2rem;
.mui-table-view-cell {
&:after {
height: 0;
}
width:90%;
height:2.29rem;
background:#FFFFFF;
border-radius:5px;
margin: .2rem auto;
display: flex;
justify-content: space-between;
.left-box {
display: flex;
flex-flow: column;
.person {
display: flex;
align-items: center;
.person-img {
width: .68rem;
height: .68rem;
border-radius: 50%;
overflow: hidden;
img {
width: 100%;
height: 100%;
}
}
.person-name {
color: #333333;
padding-left: .2rem;
}
}
p {
flex: 1;
font-size: .22rem;
label {
color: #333333;
}
}
.info {
font-size: .2rem;
}
.limit-money {}
}
.right-box {
text-align: right;
position: relative;
.total-num {
font-size: .31rem;
color: #3366F6;
padding-top: .2rem;
label {
font-size: .2rem;
color: #666666;
}
}
.icon {
margin-top: .1rem;
.mui-icon {
font-size: .3rem;
}
}
button {
width: 1.44rem;
height: .58rem;
position: absolute;
bottom: 0;
right: 0;
border-radius: 5px;
color: #FFFFFF;
}
.sales {
background: #E32E33;
border: 1px solid #E32E33;
}
.buys {
background: #73D13D;
border: 1px solid #73D13D;
}
}
}
}
//底部弹出框
#popover{
background: #FFFFFF;
width: 100%;
height: 5.2rem;
padding: .2rem;
.popover-info {
.info-txt {
display: flex;
justify-content: space-between;
align-items: center;
h4 {
color: #333333;
font-size: .31rem;
}
.money {
color: #333333;
font-size: .27rem;
}
}
p {
color: #999999;
font-size: .2rem;
}
}
.icon {
margin-top: .2rem;
label {
color: #666666;
font-size: .27rem;
padding-left: .1rem;
}
.mui-icon {
font-size: .3rem;
padding: 0 .1rem;
}
}
.input-group {
width: 90%;
margin: .1rem auto;
position: relative;
input {
width: 100%;
height: .75rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
&::-webkit-input-placeholder {
color: #999999;
font-size: .24rem;
}
}
.one{
width: 70%;
}
label {
position: absolute;
right: .2rem;
top: .18rem;
}
.unit {
margin-right: 1.6rem;
}
.all {
width: 1.13rem;
height: .43rem;
// height: .75rem;
border: 1px solid #D43436;
border-radius: .2rem;
text-align: center;
color: #D43436;
font-size: .2rem;
}
}
.note {
color: #999999;
font-size: .2rem;
}
}
//按钮状态
.btn {
width: 100%;
text-align: center;
.app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem;
}
}
//右上角弹出样式
#topPopover {
position: fixed;
top: 16px;
right: 6px;
background: #FFFFFF;
width: 2rem;
height: 1.48rem;
.mui-table-view-cell:after {
right: 15px;
}
}
#topPopover ul li .mui-active {
background-color: #EEEEEE;
border-radius: 10px;
}
#topPopover .mui-popover-arrow {
left: auto;
right: 6px;
}
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none;
}
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20%;
// height: 3em;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em;
}
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .5em;
color: #333333;
cursor: pointer;
font-size: .3rem;
}
select::-ms-expand {
display: none;
}
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
background: #FFFFFF;
pointer-events: none;
font-size: .2rem;
}
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease;
}
//<!--买入卖出交易密码确认样式-->
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
// display: none;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 1010;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
.input-group {
position: relative;
text-align: center;
overflow: hidden;
.title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1;
}
.icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333;
}
.title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333;
}
.mui-input-row {
padding: 0 .3rem;
margin-top: .4rem;
label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem;
}
.mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem;
&::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999;
}
}
.mui-icon-eye {
top: .5rem;
right: .29rem;
}
}
.mui-button-row {
button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem;
}
}
}
}
//灰色背景图蒙版样式
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.4);
z-index: 1000;
// display: none;
}

@ -0,0 +1,152 @@
@charset "UTF-8";
body,
.mui-content {
background: #F5F5F5; }
.select-box {
display: flex; }
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none; }
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20em;
height: 3em;
line-height: 3;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em; }
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .51rem;
color: #333333;
cursor: pointer; }
select::-ms-expand {
display: none; }
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 .3em;
background: #FFFFFF;
pointer-events: none; }
/* Transition */
.select:hover::after {
color: #f39c12; }
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease; }
.item-ul {
background: #F5F5F5; }
.item-ul:after, .item-ul:before {
height: 0; }
.order-info .item-list {
width: 90%;
height: 1.96rem;
background: #FFFFFF;
border-radius: 4px;
margin: .2rem auto;
display: flex;
padding: 0; }
.order-info .item-list:after {
height: 0; }
.order-info .item-list .mui-table {
display: flex; }
.order-info .item-list .order-info-left {
width: .43rem;
height: 1.96rem;
border-radius: 4px 0 0 4px;
text-align: center;
line-height: 1.96rem;
color: #FFFFFF; }
.order-info .item-list .sales {
background: linear-gradient(0deg, #d43436, #ff927d); }
.order-info .item-list .buys {
background: linear-gradient(180deg, #8ce1cb 0%, #78c3e0 100%); }
.order-info .item-list .order-info-right {
flex: 1; }
.order-info .item-list .order-info-right .order-info-top {
width: 90%;
height: .6rem;
border-bottom: 1px solid #EEEEEE;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center; }
.order-info .item-list .order-info-right .order-info-top .order-coin {
color: #333333;
font-size: .27rem; }
.order-info .item-list .order-info-right .order-info-top .order-coin label {
color: #999999;
font-size: .2rem;
padding-left: .1rem; }
.order-info .item-list .order-info-right .order-info-top .order-status {
display: flex;
align-items: center;
font-size: .24rem; }
.order-info .item-list .order-info-right .order-info-top .order-status img {
width: .27rem;
height: .27rem;
margin-right: .1rem; }
.order-info .item-list .order-info-right .order-info-top .remove {
color: #78C4DF; }
.order-info .item-list .order-info-right .order-info-top .sure {
color: #D53537; }
.order-info .item-list .order-info-right .order-info-top .appeal {
color: #9D71EA; }
.order-info .item-list .order-info-right .order-info-bottom h4 {
width: 90%;
margin: 0 auto;
font-size: .2rem;
padding-top: .1rem;
font-weight: 400;
display: flex;
justify-content: space-between; }
.order-info .item-list .order-info-right .order-info-bottom h4 img {
width: .3rem;
height: .3rem; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-txt {
width: 90%;
margin: .05rem auto;
display: flex;
font-size: .2rem; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-txt span {
flex: 1;
color: #999999;
text-align: center; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-num {
width: 90%;
margin: 0 auto;
display: flex;
font-size: .24rem; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-num span {
flex: 1;
color: #333333;
text-align: center; }
/*# sourceMappingURL=ad_manager.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["ad_manager.scss"],
"names": [],
"file": "ad_manager.css"
}

@ -0,0 +1,193 @@
@charset "UTF-8";
body,
.mui-content {
background: #F5F5F5;
}
.select-box {
display: flex;
}
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none;
}
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20em;
height: 3em;
line-height: 3;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em;
}
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .51rem;
color: #333333;
cursor: pointer;
}
select::-ms-expand {
display: none;
}
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 .3em;
background: #FFFFFF;
pointer-events: none;
}
/* Transition */
.select:hover::after {
color: #f39c12;
}
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease;
}
//订单管理
.item-ul{
background: #F5F5F5;
&:after,&:before{
height: 0;
}
}
.order-info {
.item-list {
width: 90%;
height: 1.96rem;
background: #FFFFFF;
border-radius: 4px;
margin: .2rem auto;
display: flex;
padding: 0;
&:after{
height: 0;
}
.mui-table{
display: flex;
}
.order-info-left {
width: .43rem;
height: 1.96rem;
border-radius: 4px 0 0 4px;
text-align: center;
line-height: 1.96rem;
color: #FFFFFF;
}
.sales {
background: linear-gradient(0deg, rgba(212, 52, 54, 1), rgba(255, 146, 125, 1));
}
.buys {
background: linear-gradient(180deg, rgba(140, 225, 203, 1) 0%, rgba(120, 195, 224, 1) 100%);
}
.order-info-right {
flex: 1;
.order-info-top {
width: 90%;
height: .6rem;
border-bottom: 1px solid #EEEEEE;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
.order-coin {
color: #333333;
font-size: .27rem;
label {
color: #999999;
font-size: .2rem;
padding-left: .1rem;
}
}
.order-status {
display: flex;
align-items: center;
img {
width: .27rem;
height: .27rem;
margin-right: .1rem;
}
font-size:.24rem;
}
.remove {
color: #78C4DF;
}
.sure {
color: #D53537;
}
.appeal {
color: #9D71EA;
}
}
.order-info-bottom {
h4 {
width: 90%;
margin: 0 auto;
font-size: .2rem;
padding-top: .1rem;
font-weight: 400;
display: flex;
justify-content: space-between;
img{
width: .3rem;
height: .3rem;
}
}
.order-info-txt {
width: 90%;
margin: .05rem auto;
display: flex;
font-size: .2rem;
span {
flex: 1;
color: #999999;
text-align: center;
}
}
.order-info-num {
width: 90%;
margin: 0 auto;
display: flex;
font-size: .24rem;
span {
flex: 1;
color: #333333;
text-align: center;
}
}
}
}
}
}

@ -0,0 +1,175 @@
@charset "UTF-8";
.top-info {
display: flex;
justify-content: space-around; }
.btn-group {
display: flex; }
.btn-group .btn1,
.btn-group .btn2 {
width: 1.72rem;
height: .55rem;
text-align: center;
line-height: .55rem;
font-size: .29rem;
font-weight: 400;
margin-bottom: .1rem; }
.btn-group .btn1 {
border-radius: 4px 0px 0px 4px;
border: 1px solid #D43436;
color: #333333; }
.btn-group .btn2 {
border: 1px solid #D43436;
border-radius: 0px 4px 4px 0px;
color: #333333; }
.btn-active {
background: #D43436;
color: #FFFFFF !important; }
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none; }
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 100px;
height: .55rem;
line-height: .55rem;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em;
border: 1px solid #D43436; }
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .5em;
color: #333333;
cursor: pointer; }
select::-ms-expand {
display: none; }
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 1em;
background: #FFFFFF;
pointer-events: none; }
/* Transition */
.select:hover::after {
color: #D43436; }
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease; }
.input-group .item-ul {
display: flex;
flex-wrap: wrap;
justify-content: space-around; }
.input-group .item-ul li h4 {
color: #333333;
font-size: .27rem;
padding: .3rem 0; }
.input-group .item-ul li input {
width: 2.75rem;
height: .75rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1; }
.input-group .item-ul li input::-webkit-input-placeholder {
color: #999999;
font-size: .24rem; }
.icon h4 {
padding: .2rem 0 0 .2rem;
font-size: .27rem; }
.icon .icon-list {
display: flex;
justify-content: space-around;
padding-top: .4rem; }
.icon .icon-list .mui-input-row {
overflow: visible; }
.icon .icon-list .mui-input-row label {
color: #666666;
font-size: .27rem;
display: inline;
padding: 0 0.1rem !important; }
.icon .icon-list .mui-input-row input {
position: static; }
.icon .icon-list .mui-input-row input:before {
font-size: .34rem; }
.icon .icon-list .mui-input-row .mui-icon {
font-size: .32rem; }
.note-box {
text-align: center; }
.note-box h4 {
width: 100%;
text-align: left;
padding: .2rem;
font-size: .27rem; }
.note-box textarea {
width: 92%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
text-indent: .2rem;
padding: .2rem;
color: #999999;
font-size: .24rem; }
.password-group {
display: flex;
align-items: center;
justify-content: center; }
.password-group img {
width: .4rem;
height: .4rem;
margin-right: .2rem; }
.password-group input {
width: 83%;
height: .75rem;
background: #FFFFFF;
border: none;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 0;
padding: 0; }
.password-group input::-webkit-input-placeholder {
color: #999999;
font-size: .24rem; }
.btn {
width: 100%;
text-align: center;
margin-top: .4rem; }
.btn .app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem; }
/*# sourceMappingURL=advertisement.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["advertisement.scss"],
"names": [],
"file": "advertisement.css"
}

@ -0,0 +1,224 @@
@charset "UTF-8";
.top-info {
display: flex;
justify-content: space-around;
}
//相连的按钮切换样式
.btn-group {
display: flex;
.btn1,
.btn2 {
width: 1.72rem;
height: .55rem;
text-align: center;
line-height: .55rem;
font-size: .29rem;
font-weight: 400;
margin-bottom: .1rem;
}
.btn1 {
border-radius: 4px 0px 0px 4px;
border: 1px solid #D43436;
color: #333333;
}
.btn2 {
border: 1px solid #D43436;
border-radius: 0px 4px 4px 0px;
color: #333333;
}
}
//按钮颜色的切换
.btn-active {
background: #D43436;
color: #FFFFFF !important;
}
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none;
}
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 100px;
height: .55rem;
line-height: .55rem;
background: #FFFFFF;
overflow: hidden;
border-radius: .25em;
border: 1px solid #D43436;
}
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .5em;
color: #333333;
cursor: pointer;
}
select::-ms-expand {
display: none;
}
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 1em;
background: #FFFFFF;
pointer-events: none;
}
/* Transition */
.select:hover::after {
color: #D43436;
}
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease;
}
.input-group {
.item-ul {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
li {
h4 {
color: #333333;
font-size: .27rem;
padding: .3rem 0;
}
input {
width: 2.75rem;
height: .75rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
&::-webkit-input-placeholder {
color: #999999;
font-size: .24rem;
}
}
}
}
}
.icon {
h4 {
padding: .2rem 0 0 .2rem;
font-size: .27rem;
}
.icon-list {
display: flex;
justify-content: space-around;
padding-top: .4rem;
.mui-input-row {
overflow: visible;
label {
color: #666666;
font-size: .27rem;
display: inline;
padding: 0 .1rem!important;
}
input {
position: static;
&:before {
font-size: .34rem;
}
}
.mui-icon {
font-size: .32rem;
}
}
}
}
.note-box {
text-align: center;
h4{
width: 100%;
text-align: left;
padding: .2rem;
font-size: .27rem;
}
textarea {
width: 92%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
text-indent: .2rem;
padding: .2rem;
color: #999999;
font-size: .24rem;
}
}
//密碼樣式
.password-group {
display: flex;
align-items: center;
justify-content: center;
img {
width: .4rem;
height: .4rem;
margin-right: .2rem;
}
input {
width: 83%;
height: .75rem;
background: #FFFFFF;
border: none;
border-bottom: 1px solid #EEEEEE;
margin-bottom: 0;
padding: 0;
&::-webkit-input-placeholder {
color: #999999;
font-size: .24rem;
}
}
}
//按钮状态
.btn {
width: 100%;
text-align: center;
margin-top: .4rem;
.app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem;
}
}

@ -0,0 +1,71 @@
.mui-content {
background-color: #FFFFFF;
height: 11rem;
overflow-y: scroll;
}
.button {
position: fixed;
bottom: 0;
width: 100%;
height: 0.8rem;
font-size: 0.25rem;
}
.alert-text {
color: #999999;
margin: 0.3rem 0 0 0.5rem;
font-size: 0.25rem;
}
.alert-text span {
color: #999999;
}
.appeal-imgs {
margin: 0.15rem 0 0 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
}
.appeal-div {
overflow: hidden;
border: 0.05rem solid #999999;
width: 1.5rem;
height: 1.5rem;
margin: 0 0 0.3rem 0.5rem;
display: flex;
justify-content: center;
}
.appeal-div span {
color:#999999;
font-size: 0.7rem;
font-weight: bold;
display: flex;
align-items: center;
}
.appeal-explain {
width: 5.6rem;
margin: 0 0 0 0.4rem;
}
.appeal-explain textarea{
background: #F1F1F1;
border: 1px solid #F1F1F1;
border-radius: .2rem;
text-indent: .2rem;
padding: .2rem;
}
.explain {
color: #999999;
margin: 0 0 0 0.4rem;
width: 5.75rem;
font-size: 0.25rem;
}
.explain div {
line-height: 0.4rem;
}

@ -0,0 +1,58 @@
h3 {
color: #333333;
font-size: .27rem;
font-weight: 400;
padding: .3rem; }
.appeal-explain {
text-align: center; }
.appeal-explain textarea {
width: 90%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
text-indent: .2rem;
padding: .2rem;
color: #999999;
font-size: .24rem; }
.appeal-upload {
width: 90%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center; }
.appeal-upload .img-box {
text-align: center; }
.appeal-upload .img-box img {
width: .7rem;
height: .68rem; }
.appeal-upload .img-box span {
display: block; }
.note {
width: 90%;
font-weight: 500;
color: #D43436;
line-height: .4rem;
margin: .2rem auto; }
.btn {
width: 100%;
text-align: center;
margin-top: .4rem; }
.btn .app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem; }
/*# sourceMappingURL=appeal2.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "AACA,EAAG;EACC,KAAK,EAAE,OAAO;EACd,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,KAAK;;AAGlB,eAAgB;EACZ,UAAU,EAAE,MAAM;EAClB,wBAAS;IACL,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,GAAG;IAClB,MAAM,EAAE,iBAAiB;IACzB,WAAW,EAAE,KAAK;IAClB,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,MAAM;;AAIzB,cAAe;EACX,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,MAAM;EACd,UAAU,EAAE,OAAO;EACnB,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,iBAAiB;EACzB,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,IAAI;EACb,eAAe,EAAE,MAAM;EACvB,WAAW,EAAE,MAAM;EACnB,uBAAS;IACL,UAAU,EAAE,MAAM;IAClB,2BAAI;MACA,KAAK,EAAE,KAAK;MACZ,MAAM,EAAE,MAAM;IAElB,4BAAK;MACD,OAAO,EAAE,KAAK;;AAK1B,KAAM;EACF,KAAK,EAAE,GAAG;EACV,WAAW,EAAE,GAAG;EAChB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;EAClB,MAAM,EAAE,UAAU;;AAItB,IAAK;EACD,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,KAAK;EACjB,aAAS;IACL,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,MAAM;IACrB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,iBAAiB;IACzB,aAAa,EAAE,KAAK",
"sources": ["appeal2.scss"],
"names": [],
"file": "appeal2.css"
}

@ -0,0 +1,68 @@
@charset "UTF-8";
h3 {
color: #333333;
font-size: .27rem;
font-weight: 400;
padding: .3rem;
}
.appeal-explain {
text-align: center;
textarea {
width: 90%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
text-indent: .2rem;
padding: .2rem;
color: #999999;
font-size: .24rem;
}
}
.appeal-upload {
width: 90%;
height: 2.4rem;
background: #F1F1F1;
border-radius: 5px;
border: 1px solid #F1F1F1;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
.img-box {
text-align: center;
img {
width: .7rem;
height: .68rem;
}
span {
display: block;
}
}
}
.note {
width: 90%;
font-weight: 500;
color: #D43436;
line-height: .4rem;
margin: .2rem auto;
}
//按钮状态
.btn {
width: 100%;
text-align: center;
margin-top: .4rem;
.app-btn {
width: 66%;
height: .75rem;
background: #D43436;
border-radius: .37rem;
color: #FFFFFF;
border: 1px solid #D43436;
margin-bottom: .1rem;
}
}

@ -0,0 +1,39 @@
body,
.mui-content {
background: #FFFFFF; }
h3 {
font-size: .24rem;
color: #333333;
margin-left: .2rem;
padding: .3rem; }
p {
font-size: .2rem;
color: #999999;
margin-left: .2rem;
padding-left: .3rem; }
.mui-table-view {
padding: .2rem 0; }
.mui-table-view:before {
height: 0; }
.mui-table-view:after {
height: 0; }
.mui-table-view .mui-table-view-cell {
width: 83%;
height: 2rem;
background: #A6A9B2;
margin: .2rem auto;
border-radius: .1rem;
color: #FFFFFF; }
.mui-table-view .mui-table-view-cell span {
width: 100%;
display: block;
padding: .2rem 0; }
.mui-table-view .mui-table-view-cell label {
float: right; }
.mui-table-view .bg-active {
background: #0272A4; }
/*# sourceMappingURL=binding_total.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "AACI;YACa;EACT,UAAU,EAAE,OAAO;;AAGvB,EAAE;EACE,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;EAClB,OAAO,EAAE,KAAK;;AAElB,CAAC;EACG,SAAS,EAAE,KAAK;EAChB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,KAAK;EAClB,YAAY,EAAE,KAAK;;AAGvB,eAAgB;EACZ,OAAO,EAAE,OAAO;EAChB,sBAAS;IACL,MAAM,EAAE,CAAC;EAEb,qBAAQ;IACJ,MAAM,EAAE,CAAC;EAEb,oCAAqB;IACjB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,OAAO;IACnB,MAAM,EAAE,UAAU;IAClB,aAAa,EAAE,KAAK;IACpB,KAAK,EAAE,OAAO;IACd,yCAAI;MACA,KAAK,EAAE,IAAI;MACX,OAAO,EAAE,KAAK;MACd,OAAO,EAAE,OAAO;IAEpB,0CAAK;MACD,KAAK,EAAE,KAAK;EAGpB,0BAAW;IACP,UAAU,EAAE,OAAO",
"sources": ["binding_total.scss"],
"names": [],
"file": "binding_total.css"
}

@ -0,0 +1,47 @@
@charset "utf-8";
body,
.mui-content {
background: #FFFFFF;
}
h3{
font-size: .24rem;
color: #333333;
margin-left: .2rem;
padding: .3rem;
}
p{
font-size: .2rem;
color: #999999;
margin-left: .2rem;
padding-left: .3rem;
}
.mui-table-view {
padding: .2rem 0;
&:before {
height: 0;
}
&:after {
height: 0;
}
.mui-table-view-cell {
width: 83%;
height: 2rem;
background: #A6A9B2;
margin: .2rem auto;
border-radius: .1rem;
color: #FFFFFF;
span{
width: 100%;
display: block;
padding: .2rem 0;
}
label{
float: right;
}
}
.bg-active {
background: #0272A4;
}
}

@ -0,0 +1,148 @@
@charset "UTF-8";
.slide-info,
#sliderSegmentedControl {
background: #FFFFFF; }
body,
.mui-content {
background: #FFFFFF; }
#item1 h3 {
font-size: .24rem;
color: #333333;
margin-left: .2rem;
padding: .3rem; }
#item1 .mui-table-view {
padding: .2rem 0; }
#item1 .mui-table-view:before {
height: 0; }
#item1 .mui-table-view:after {
height: 0; }
#item1 .mui-table-view .mui-table-view-cell {
width: 83%;
height: 1.46rem;
background: #A6A9B2;
margin: .2rem auto;
border-radius: .1rem;
text-align: center;
line-height: 1.46rem;
padding: 0; }
#item1 .mui-table-view .bg-active {
background: #0272A4; }
#item1 .note {
width: 83%;
margin: 0 auto;
color: #999999; }
#item1 .note p {
font-size: .2rem;
padding: .2rem 0; }
.mui-input-row {
padding: .1rem 0; }
.mui-input-row:after {
position: absolute;
right: 0;
bottom: 0;
left: 15px;
right: 15px;
height: 1px;
content: '';
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
background-color: #F1F1F1; }
.mui-input-row .coinkind {
float: right;
padding: 0 .1rem;
height: 40px;
line-height: 40px; }
.mui-input-row .app-icon {
font-size: .3rem;
color: #999999; }
.mui-input-row .app-cancel {
float: right;
padding: 0 .4rem;
height: 40px;
line-height: 40px;
color: #999999; }
.mui-input-row label {
padding: 14px 15px; }
.mui-input-row .app-title {
width: 60% !important;
font-size: .27rem;
color: #333333;
font-weight: 800; }
.mui-input-row input {
font-size: .24rem;
text-align: right; }
.mui-input-row input::-webkit-input-placeholder {
color: red;
color: #999999;
font-size: .24rem;
text-align: right; }
.coin-txt {
width: 100%;
height: 17px;
color: #80A9CF;
font-size: .2rem;
text-align: left;
padding-left: .24rem; }
.note {
width: 100%;
margin: 0 auto;
color: #999999; }
.note p {
font-size: .2rem;
padding: .24rem; }
.btn {
width: 100%;
text-align: center; }
.btn .app-btn-darkly {
color: white;
width: 60%;
height: 0.7rem;
background: #D43436;
border-radius: .06rem;
border: 1px solid #D43436;
margin: .4rem auto .2rem auto; }
.btn .app-btn-darkly:active {
opacity: 0.8;
border: 1px solid #FF927D;
background: #FF927D; }
#item3 .mui-table-view:before {
height: 0; }
#item3 .mui-table-view .mui-table-view-cell:after {
right: 15px; }
#item3 .mui-table-view .mui-table-view-cell .item-ul li {
display: flex;
justify-content: space-between; }
#item3 .mui-table-view .mui-table-view-cell .item-ul li span {
color: #666666;
padding: .06rem 0;
font-size: .22rem; }
#item3 .mui-table-view .mui-table-view-cell .item-ul li .order-kind {
color: #326c8f; }
#item3 .mui-table-view .mui-table-view-cell .item-ul li .order-situation {
color: #ff5e5d; }
#item3 .mui-table-view .mui-table-view-cell .item-ul li .item-list-txt {
color: #999999; }
.mui-popover {
height: 3rem;
width: 100%; }
.mui-popover ul li {
padding: 0.25rem;
font-size: 0.3rem; }
#popover-online, #popover-sale {
background: #FFFFFF;
width: 100%;
height: 8rem; }
#popover-online input, #popover-sale input {
color: #666666; }
/*# sourceMappingURL=lct_index.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["lct_index.scss"],
"names": [],
"file": "lct_index.css"
}

@ -0,0 +1,196 @@
@charset "utf-8";
.slide-info,
#sliderSegmentedControl {
background: #FFFFFF;
}
body,
.mui-content {
background: #FFFFFF;
}
//我要买入的样式
#item1 {
h3 {
font-size: .24rem;
color: #333333;
margin-left: .2rem;
padding: .3rem;
}
.mui-table-view {
padding: .2rem 0;
&:before {
height: 0;
}
&:after {
height: 0;
}
.mui-table-view-cell {
width: 83%;
height: 1.46rem;
background: #A6A9B2;
margin: .2rem auto;
border-radius: .1rem;
text-align: center;
line-height: 1.46rem;
padding: 0;
}
.bg-active {
background: #0272A4;
}
}
.note {
width: 83%;
margin: 0 auto;
color: #999999;
p {
font-size: .2rem;
padding: .2rem 0;
}
}
}
.mui-input-row {
padding: .1rem 0;
&:after {
position: absolute;
right: 0;
bottom: 0;
left: 15px;
right: 15px;
height: 1px;
content: '';
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
background-color: #F1F1F1
}
.coinkind {
float: right;
padding: 0 .1rem;
height: 40px;
line-height: 40px;
}
.app-icon {
font-size: .3rem;
color: #999999;
}
.app-cancel{
float: right;
padding: 0 .4rem;
height: 40px;
line-height: 40px;
color: #999999;
}
label {
padding: 14px 15px;
}
.app-title{
width: 60% !important;
font-size: .27rem;
color: #333333;
font-weight: 800;
}
input {
font-size: .24rem;
text-align: right;
&::-webkit-input-placeholder {
color: red;
color: #999999;
font-size: .24rem;
text-align: right
}
}
}
.coin-txt {
width: 100%;
height: 17px;
color: #80A9CF;
font-size: .2rem;
text-align: left;
padding-left: .24rem;
}
.note {
width: 100%;
margin: 0 auto;
color: #999999;
p {
font-size: .2rem;
padding: .24rem;
}
}
.btn {
width: 100%;
text-align: center;
.app-btn-darkly {
color: white;
width: 60%;
height: 0.7rem;
background: #D43436;
border-radius: .06rem;
border: 1px solid #D43436;
margin: .4rem auto .2rem auto;
}
.app-btn-darkly:active {
opacity: 0.8;
border: 1px solid #FF927D;
background: #FF927D;
}
}
#item3 {
.mui-table-view {
&:before {
height: 0;
}
.mui-table-view-cell {
&:after {
right: 15px;
}
.item-ul {
li {
display: flex;
justify-content: space-between;
span {
color: #666666;
padding: .06rem 0;
font-size: .22rem;
}
.order-kind {
color: #326c8f;
}
.order-situation {
color: #ff5e5d;
}
.item-list-txt {
color: #999999;
}
}
}
}
}
}
.mui-popover {
height: 3rem;
width: 100%;
}
.mui-popover ul li {
padding: 0.25rem;
font-size: 0.3rem;
}
//在线申请入金基本信息弹出框
#popover-online,#popover-sale{
background: #FFFFFF;
width: 100%;
height: 8rem;
input{
color: #666666;
}
}

@ -0,0 +1,114 @@
body,
.mui-content {
background: #F5F5F5; }
.txt-box {
width: 90%;
background: #FFFFFF;
border-radius: 5px;
margin: .2rem auto;
text-align: center;
padding-bottom: .4rem; }
.txt-box h4 {
font-size: .27rem;
color: #C7282C;
padding: .4rem 0; }
.txt-box p {
width: 90%;
color: #999999;
line-height: .34rem;
margin: 0 auto;
word-break: break-all;
text-align: left; }
.mui-checkbox input[type=checkbox] {
top: .13rem;
left: .5rem !important; }
.mui-checkbox input[type=checkbox]:before {
content: '\e413';
font-size: .32rem; }
.mui-checkbox input[type=checkbox]:checked:before {
content: '\e443';
font-size: .32rem;
color: #C7282C; }
.agree-radio {
color: #999999; }
.btn {
width: 100%;
text-align: center; }
.btn .app-btn-darkly {
color: white;
width: 90%;
height: 0.7rem;
background: #D43436;
border-radius: .06rem;
border: 1px solid #D43436;
margin: .4rem auto .2rem auto; }
.btn .app-btn-darkly:active {
opacity: 0.8;
border: 1px solid #FF927D;
background: #FF927D; }
.cancelOrder {
width: 90%;
height: 3.58rem;
position: fixed;
top: 50%;
left: 50%;
margin-left: -45%;
margin-top: -1.79rem;
z-index: 111; }
.cancelOrder .orderCont {
width: 100%;
background-color: #fff;
overflow: hidden;
padding: 0.3rem 0 0 0.3rem;
border-radius: 0.1rem 0.1rem 0 0; }
.cancelOrder .orderCont .popText_1 {
font-size: 0.28rem;
color: #0F1826;
margin-bottom: 0.2rem; }
.cancelOrder .orderHandle {
width: 100%;
height: 0.98rem;
display: flex;
border-top: 0.01rem solid #EEEEEE;
margin-top: -1px; }
.cancelOrder .orderHandle .thinkBtn {
color: #999;
background-color: #fff;
border-radius: 0 0 0 0.1rem;
border-top: 0.01rem solid #EEEEEE; }
.cancelOrder .orderHandle .cancelBtn {
color: #C7282C;
background-color: #fff;
border-radius: 0 0 0.1rem 0;
border-top: 0.01rem solid #EEEEEE;
border-left: 0.01rem solid #EEEEEE; }
.cancelOrder .popTitle {
font-size: 0.32rem;
color: #000; }
.cancelOrder .popText {
width: 92%;
text-align: justify;
line-height: 0.41rem; }
.cancelOrder .btn {
width: 50%;
line-height: 0.98rem;
text-align: center;
font-size: 0.32rem; }
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.2);
z-index: 102; }
/*# sourceMappingURL=merchant.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "AACA;YACa;EACT,UAAU,EAAE,OAAO;;AAGvB,QAAS;EACL,KAAK,EAAE,GAAG;EACV,UAAU,EAAE,OAAO;EACnB,aAAa,EAAE,GAAG;EAClB,MAAM,EAAE,UAAU;EAClB,UAAU,EAAE,MAAM;EAClB,cAAc,EAAE,KAAK;EACrB,WAAG;IACC,SAAS,EAAE,MAAM;IACjB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;EAEpB,UAAE;IACE,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,MAAM;IACnB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,IAAI;;AAKxB,kCAAmC;EAC/B,GAAG,EAAE,MAAM;EACX,IAAI,EAAE,gBAAgB;;AAG1B,yCAA0C;EACtC,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,MAAM;;AAGrB,iDAAkD;EAC9C,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,MAAM;EACjB,KAAK,EAAE,OAAO;;AAGlB,YAAa;EACT,KAAK,EAAE,OAAO;;AAGlB,IAAK;EACD,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,oBAAgB;IACZ,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,MAAM;IACrB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,qBAAqB;EAEjC,2BAAuB;IACnB,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,iBAAiB;IACzB,UAAU,EAAE,OAAO;;AAK3B,YAAa;EACT,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,OAAO;EACf,QAAQ,EAAE,KAAK;EACf,GAAG,EAAE,GAAG;EACR,IAAI,EAAE,GAAG;EACT,WAAW,EAAE,IAAI;EACjB,UAAU,EAAE,QAAQ;EACpB,OAAO,EAAE,GAAG;EACZ,uBAAW;IACP,KAAK,EAAE,IAAI;IACX,gBAAgB,EAAE,IAAI;IACtB,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,iBAAiB;IAC1B,aAAa,EAAE,iBAAiB;IAChC,kCAAW;MACP,SAAS,EAAE,OAAO;MAClB,KAAK,EAAE,OAAO;MACd,aAAa,EAAE,MAAM;EAG7B,yBAAa;IACT,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,IAAI;IAChB,mCAAU;MACN,KAAK,EAAE,IAAI;MACX,gBAAgB,EAAE,IAAI;MACtB,aAAa,EAAE,YAAY;MAC3B,UAAU,EAAE,qBAAqB;IAErC,oCAAW;MACP,KAAK,EAAE,OAAO;MACd,gBAAgB,EAAE,IAAI;MACtB,aAAa,EAAE,YAAY;MAC3B,UAAU,EAAE,qBAAqB;MACjC,WAAW,EAAE,qBAAqB;EAG1C,sBAAU;IACN,SAAS,EAAE,OAAO;IAClB,KAAK,EAAE,IAAI;EAEf,qBAAS;IACL,KAAK,EAAE,GAAG;IACV,UAAU,EAAE,OAAO;IACnB,WAAW,EAAE,OAAO;EAExB,iBAAK;IACD,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,OAAO;IACpB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,OAAO;;AAK1B,GAAI;EACA,QAAQ,EAAE,KAAK;EACf,IAAI,EAAE,CAAC;EACP,MAAM,EAAE,CAAC;EACT,KAAK,EAAE,CAAC;EACR,GAAG,EAAE,CAAC;EACN,UAAU,EAAE,qBAAqB;EACjC,OAAO,EAAE,GAAG",
"sources": ["merchant.scss"],
"names": [],
"file": "merchant.css"
}

@ -0,0 +1,137 @@
@charset "utf-8";
body,
.mui-content {
background: #F5F5F5;
}
.txt-box {
width: 90%;
background: #FFFFFF;
border-radius: 5px;
margin: .2rem auto;
text-align: center;
padding-bottom: .4rem;
h4 {
font-size: .27rem;
color: #C7282C;
padding: .4rem 0;
}
p {
width: 90%;
color: #999999;
line-height: .34rem;
margin: 0 auto;
word-break: break-all;
text-align: left;
}
}
//修改checkbox为方
.mui-checkbox input[type=checkbox] {
top: .13rem;
left: .5rem !important;
}
.mui-checkbox input[type=checkbox]:before {
content: '\e413';
font-size: .32rem;
}
.mui-checkbox input[type=checkbox]:checked:before {
content: '\e443';
font-size: .32rem;
color: #C7282C;
}
.agree-radio {
color: #999999;
}
.btn {
width: 100%;
text-align: center;
.app-btn-darkly {
color: white;
width: 90%;
height: 0.7rem;
background: #D43436;
border-radius: .06rem;
border: 1px solid #D43436;
margin: .4rem auto .2rem auto;
}
.app-btn-darkly:active {
opacity: 0.8;
border: 1px solid #FF927D;
background: #FF927D;
}
}
//取消订单弹出框
.cancelOrder {
width: 90%;
height: 3.58rem;
position: fixed;
top: 50%;
left: 50%;
margin-left: -45%;
margin-top: -1.79rem;
z-index: 111;
.orderCont {
width: 100%;
background-color: #fff;
overflow: hidden;
padding: 0.3rem 0 0 0.3rem;
border-radius: 0.1rem 0.1rem 0 0;
.popText_1 {
font-size: 0.28rem;
color: #0F1826;
margin-bottom: 0.2rem;
}
}
.orderHandle {
width: 100%;
height: 0.98rem;
display: flex;
border-top: 0.01rem solid #EEEEEE;
margin-top: -1px;
.thinkBtn {
color: #999;
background-color: #fff;
border-radius: 0 0 0 0.1rem;
border-top: 0.01rem solid #EEEEEE;
}
.cancelBtn {
color: #C7282C;
background-color: #fff;
border-radius: 0 0 0.1rem 0;
border-top: 0.01rem solid #EEEEEE;
border-left: 0.01rem solid #EEEEEE;
}
}
.popTitle {
font-size: 0.32rem;
color: #000;
}
.popText {
width: 92%;
text-align: justify;
line-height: 0.41rem;
}
.btn {
width: 50%;
line-height: 0.98rem;
text-align: center;
font-size: 0.32rem;
}
}
//蒙版背景
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.2);
z-index: 102;
}

@ -0,0 +1,136 @@
@charset "UTF-8";
body,
.mui-content {
background: #F5F5F5; }
.select-box {
display: flex; }
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none; }
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20em;
height: 3em;
line-height: 3;
background: #FFFFFF;
overflow: hidden; }
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .35rem;
color: #333333;
cursor: pointer; }
select::-ms-expand {
display: none; }
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 .3em;
background: #FFFFFF;
pointer-events: none; }
/* Transition */
.select:hover::after {
color: #f39c12; }
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease; }
.order-info .item-list {
width: 90%;
height: 1.96rem;
background: #FFFFFF;
border-radius: 4px;
margin: .2rem auto;
display: flex; }
.order-info .item-list .order-info-left {
width: .43rem;
height: 1.96rem;
border-radius: 4px 0 0 4px;
text-align: center;
line-height: 1.96rem;
color: #FFFFFF; }
.order-info .item-list .sales {
background: linear-gradient(0deg, #d43436, #ff927d); }
.order-info .item-list .buys {
background: linear-gradient(180deg, #8ce1cb 0%, #78c3e0 100%); }
.order-info .item-list .order-info-right {
flex: 1; }
.order-info .item-list .order-info-right .order-info-top {
width: 90%;
height: .6rem;
border-bottom: 1px solid #EEEEEE;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center; }
.order-info .item-list .order-info-right .order-info-top .order-coin {
color: #333333;
font-size: .27rem; }
.order-info .item-list .order-info-right .order-info-top .order-coin label {
color: #999999;
font-size: .2rem;
padding-left: .1rem; }
.order-info .item-list .order-info-right .order-info-top .order-status {
display: flex;
align-items: center;
font-size: .24rem; }
.order-info .item-list .order-info-right .order-info-top .order-status img {
width: .27rem;
height: .27rem;
margin-right: .1rem; }
.order-info .item-list .order-info-right .order-info-top .remove {
color: #78C4DF; }
.order-info .item-list .order-info-right .order-info-top .sure {
color: #D53537; }
.order-info .item-list .order-info-right .order-info-top .appeal {
color: #9D71EA; }
.order-info .item-list .order-info-right .order-info-bottom h4 {
width: 90%;
margin: 0 auto;
font-size: .2rem;
padding-top: .1rem;
font-weight: 400; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-txt {
width: 90%;
margin: .1rem auto;
display: flex;
font-size: .2rem; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-txt span {
flex: 1;
color: #999999;
text-align: center; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-num {
width: 90%;
margin: 0 auto;
display: flex;
font-size: .24rem; }
.order-info .item-list .order-info-right .order-info-bottom .order-info-num span {
flex: 1;
color: #333333;
text-align: center; }
/*# sourceMappingURL=order.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["order.scss"],
"names": [],
"file": "order.css"
}

@ -0,0 +1,174 @@
@charset "UTF-8";
body,
.mui-content {
background: #F5F5F5;
}
.select-box {
display: flex;
}
/* 重置select */
select {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
outline: 0;
box-shadow: none;
border: 0 !important;
background: #FFFFFF;
background-image: none;
}
/* 自定义 Select */
.select {
position: relative;
display: block;
width: 20em;
height: 3em;
line-height: 3;
background: #FFFFFF;
overflow: hidden;
// border-radius: .25em;
}
select {
width: 100%;
height: 100%;
margin: 0;
padding: 0 0 0 .35rem;
color: #333333;
cursor: pointer;
}
select::-ms-expand {
display: none;
}
/* Arrow */
.select::after {
content: '\25BC';
position: absolute;
top: 0;
right: 0;
bottom: 0;
padding: 0 .3em;
background: #FFFFFF;
pointer-events: none;
}
/* Transition */
.select:hover::after {
color: #f39c12;
}
.select::after {
-webkit-transition: .25s all ease;
-o-transition: .25s all ease;
transition: .25s all ease;
}
//订单管理
.order-info {
.item-list {
width: 90%;
height: 1.96rem;
background: #FFFFFF;
border-radius: 4px;
margin: .2rem auto;
display: flex;
.order-info-left {
width: .43rem;
height: 1.96rem;
border-radius: 4px 0 0 4px;
text-align: center;
line-height: 1.96rem;
color: #FFFFFF;
}
.sales {
background: linear-gradient(0deg, rgba(212, 52, 54, 1), rgba(255, 146, 125, 1));
}
.buys {
background: linear-gradient(180deg, rgba(140, 225, 203, 1) 0%, rgba(120, 195, 224, 1) 100%);
}
.order-info-right {
flex: 1;
.order-info-top {
width: 90%;
height: .6rem;
border-bottom: 1px solid #EEEEEE;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
.order-coin {
color: #333333;
font-size: .27rem;
label {
color: #999999;
font-size: .2rem;
padding-left: .1rem;
}
}
.order-status {
display: flex;
align-items: center;
img {
width: .27rem;
height: .27rem;
margin-right: .1rem;
}
font-size:.24rem;
}
.remove {
color: #78C4DF;
}
.sure {
color: #D53537;
}
.appeal {
color: #9D71EA;
}
}
.order-info-bottom {
h4 {
width: 90%;
margin: 0 auto;
font-size: .2rem;
padding-top: .1rem;
font-weight: 400;
}
.order-info-txt {
width: 90%;
margin: .1rem auto;
display: flex;
font-size: .2rem;
span {
flex: 1;
color: #999999;
text-align: center;
}
}
.order-info-num {
width: 90%;
margin: 0 auto;
display: flex;
font-size: .24rem;
span {
flex: 1;
color: #333333;
text-align: center;
}
}
}
}
}
}

@ -0,0 +1,395 @@
header {
z-index: 101 !important; }
body,
.mui-content {
background: #FFFFFF;
position: relative;
z-index: 100; }
.top-info {
position: relative; }
.top-info span {
width: 100%;
color: #333333;
display: block;
padding: .1rem .3rem;
font-size: .43rem; }
.top-info .countdown {
position: absolute;
right: .2rem;
top: .5rem;
color: #73D13D; }
.top-info .mui-icon-right-nav {
position: absolute;
right: .2rem;
top: .1rem; }
.top-info .mui-icon-right-nav img {
width: .3rem;
height: .3rem;
vertical-align: middle; }
.top-info .mui-icon-right-nav label {
font-size: .24rem;
padding-left: .1rem;
color: #D43436; }
.had-top-info {
text-align: center; }
.had-top-info span {
display: block;
margin: .1rem 0; }
.had-top-info .money {
font-size: .37rem;
color: #4B557D; }
.had-top-info .anti-money {
color: #333333; }
.had-top-info .pay-time {
display: flex;
align-items: center;
justify-content: center; }
.had-top-info .pay-time .countdown {
color: #73D13D;
margin-left: .2rem; }
.had-top-info .pay-time .mui-icon-right-nav img {
width: .3rem;
height: .3rem;
vertical-align: middle; }
.had-top-info .pay-time .mui-icon-right-nav label {
font-size: .24rem;
padding-left: .1rem;
color: #D43436; }
.mui-card {
background: white;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
border-radius: 5px;
margin: .5rem .3rem .1rem .3rem; }
.mui-card .mui-checkbox input[type=checkbox],
.mui-card .mui-radio input[type=radio] {
top: 11px; }
.mui-card .mui-checkbox input[type=checkbox]:checked:before,
.mui-card .mui-radio input[type=radio]:checked:before {
color: #D7393E; }
.mui-card .mui-input-row {
display: flex;
align-items: center;
height: .86rem; }
.mui-card img {
width: .4rem;
height: .4rem;
margin-left: .2rem; }
.info-box span {
width: 100%;
color: #A0A5AD;
display: block;
padding: .1rem .3rem; }
.info-box span .person-name {
color: #D43436;
font-size: .24rem; }
.info-box span label {
color: #484860;
font-size: .23rem;
padding-left: .3rem;
float: right; }
.info-box span label img {
width: .26rem;
height: .3rem;
vertical-align: text-bottom;
margin-left: .2rem; }
.had-info-box {
width: 92%;
margin: .4rem auto;
background: #fbfbfb;
border-radius: 2px;
padding: .1rem 0;
font-size: .2rem; }
.had-info-box span {
width: 100%;
color: #A0A5AD;
display: block;
padding: .1rem .2rem; }
.had-info-box span label {
color: #484860;
float: right; }
.had-info-box span label img {
width: .26rem;
height: .3rem;
vertical-align: text-bottom;
margin-left: .2rem; }
.had-info-box .info-box-title {
font-size: .24rem; }
.had-info-box .info-box-title img {
width: .4rem;
height: .4rem;
vertical-align: middle;
margin-right: .2rem; }
.had-info-box .info-box-title label {
color: #D43436; }
.notice {
margin-bottom: 1rem; }
.notice .mui-table-view .mui-table-view-cell {
padding: .1rem .3rem; }
.notice .mui-table-view .mui-table-view-cell .mui-active {
background: #d8d8d8; }
.notice .mui-table-view:before, .notice .mui-table-view:after {
height: 0; }
.notice p {
color: #A0A5AD; }
.notice a {
display: block;
height: 1rem;
background: #d8d8d8;
border-radius: 3px;
color: #A0A5AD;
opacity: 0.2;
margin: .1rem 0 !important;
word-break: break-all;
white-space: normal !important;
overflow: scroll !important; }
.btn-group {
width: 100%;
display: flex;
position: fixed;
bottom: 0;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); }
.btn-group .chat-btn {
width: 1.29rem;
height: .84rem;
text-align: center;
line-height: .9rem; }
.btn-group .chat-btn img {
width: .4rem;
height: .4rem; }
.btn-group .cancel-btn,
.btn-group .yes-btn {
flex: 1;
height: .84rem;
background: #FBEBEB;
text-align: center;
color: #D43436;
font-size: .27rem;
line-height: .84rem; }
.btn-group .yes-btn {
background: #D43436;
color: #FFFFFF; }
.hadbtn-group {
margin-top: 2rem; }
.hadbtn-group .hadpay-btn {
width: 92%;
height: .8rem;
background: #D43436;
color: #FFFFFF;
text-align: center;
line-height: .8rem;
margin: 0 auto; }
.cancelOrder {
width: 90%;
height: 3.58rem;
display: none;
position: fixed;
top: 50%;
left: 50%;
margin-left: -45%;
margin-top: -1.79rem;
z-index: 111; }
.cancelOrder .orderCont {
width: 100%;
background-color: #fff;
overflow: hidden;
padding: 0.3rem 0 0 0.3rem;
border-radius: 0.1rem 0.1rem 0 0; }
.cancelOrder .orderCont .popText_1 {
font-size: 0.28rem;
color: #F96B6B;
margin-top: 0.49rem; }
.cancelOrder .orderCont .popText_2 {
font-size: 0.24rem;
color: #666;
margin-top: 0.36rem;
margin-bottom: 0.5rem; }
.cancelOrder .orderHandle {
width: 100%;
height: 0.98rem;
display: flex;
border-top: 0.01rem solid #EEEEEE;
margin-top: -1px; }
.cancelOrder .orderHandle .thinkBtn {
color: #999;
background-color: #fff;
border-radius: 0 0 0 0.1rem; }
.cancelOrder .orderHandle .cancelBtn {
color: #fff;
background: linear-gradient(-90deg, #d43436, #ff927d);
border-radius: 0 0 0.1rem 0; }
.cancelOrder .popTitle {
font-size: 0.32rem;
color: #000; }
.cancelOrder .popText {
width: 92%;
text-align: justify;
line-height: 0.41rem; }
.cancelOrder .btn {
width: 50%;
line-height: 0.98rem;
text-align: center;
font-size: 0.32rem; }
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.2);
z-index: 102; }
.code {
width: 4rem;
height: 4rem;
display: none;
position: fixed;
top: 50%;
left: 50%;
margin-left: -2rem;
margin-top: -2rem;
text-align: center;
z-index: 111;
background: #FFFFFF;
padding: .2rem;
box-sizing: border-box; }
.code img {
height: 3rem;
display: inline-block;
max-width: 100%; }
.code span {
display: block;
font-size: .5rem;
font-weight: 500; }
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 110;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
.confirm .input-group {
position: relative;
text-align: center;
overflow: hidden; }
.confirm .input-group .title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1; }
.confirm .input-group .icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .mui-input-row {
padding: 0 .3rem;
margin-top: .4rem; }
.confirm .input-group .mui-input-row label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem; }
.confirm .input-group .mui-input-row .mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem; }
.confirm .input-group .mui-input-row .mui-input-password::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999; }
.confirm .input-group .mui-input-row .mui-icon-eye {
top: .5rem;
right: .29rem; }
.confirm .input-group .mui-button-row button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem; }
#popover {
background: #FFFFFF;
width: 100%;
height: 10rem;
border-radius: .2rem .2rem 0 0;
position: fixed;
z-index: 1000;
top: 100px; }
#popover .popover-info {
border-bottom: 1px solid #EEEEEE; }
#popover .popover-info .info-txt {
display: flex;
align-items: center;
padding: .3rem .3rem .2rem .3rem; }
#popover .popover-info .info-txt .img-box {
width: .5rem;
height: .5rem;
border-radius: 50%;
overflow: hidden; }
#popover .popover-info .info-txt .img-box img {
width: .5rem;
height: .5rem; }
#popover .popover-info .info-txt h4 {
flex: 1;
color: #333333;
font-size: .31rem;
padding-left: .2rem; }
#popover .popover-info .info-txt p {
flex: 1;
color: #999999;
text-align: right; }
#popover .money-info {
display: flex;
justify-content: space-between;
padding: 0 .3rem; }
#popover .money-info .money-info-left .money-info-txt {
color: #9DA6B3;
display: block; }
#popover .money-info .money-info-left .money-info-num {
color: #D7393E;
font-size: .3rem;
display: block;
padding-top: .1rem; }
#popover .money-info .money-info-right .money-info-txt {
display: flex;
align-items: center;
color: #73D13D; }
#popover .money-info .money-info-right .money-info-txt img {
width: .3rem;
height: .3rem;
vertical-align: middle;
margin-right: .1rem; }
#popover .money-info .money-info-right .money-info-num {
color: #D7393E;
font-size: .3rem;
display: block;
text-align: right; }
/*# sourceMappingURL=payment.css.map */

File diff suppressed because one or more lines are too long

@ -0,0 +1,545 @@
@charset "UTF-8";
header {
z-index: 101 !important;
}
body,
.mui-content {
background: #FFFFFF;
position: relative;
z-index: 100;
}
//顶部信息样式
.top-info {
position: relative;
span {
width: 100%;
color: #333333;
display: block;
padding: .1rem .3rem;
font-size: .43rem;
}
.countdown {
position: absolute;
right: .2rem;
top: .5rem;
color: #73D13D;
}
.mui-icon-right-nav {
position: absolute;
right: .2rem;
top: .1rem;
img {
width: .3rem;
height: .3rem;
vertical-align: middle;
}
label {
font-size: .24rem;
padding-left: .1rem;
color: #D43436;
}
}
}
//已付款页面的顶部信息样式
.had-top-info {
text-align: center;
span {
display: block;
margin: .1rem 0;
}
.money {
font-size: .37rem;
color: #4B557D;
}
.anti-money {
color: #333333;
}
.pay-time {
display: flex;
align-items: center;
justify-content: center;
.countdown {
color: #73D13D;
margin-left: .2rem;
}
.mui-icon-right-nav {
img {
width: .3rem;
height: .3rem;
vertical-align: middle;
}
label {
font-size: .24rem;
padding-left: .1rem;
color: #D43436;
}
}
}
}
//选择切换方式
.mui-card {
background: rgba(255, 255, 255, 1);
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
border-radius: 5px;
margin: .5rem .3rem .1rem .3rem;
.mui-checkbox input[type=checkbox],
.mui-radio input[type=radio] {
top: 11px;
&:checked:before {
// content: '';
color: #D7393E;
}
}
.mui-input-row {
display: flex;
align-items: center;
height: .86rem;
}
img {
width: .4rem;
height: .4rem;
margin-left: .2rem;
}
}
.info-box {
span {
width: 100%;
color: #A0A5AD;
display: block;
padding: .1rem .3rem;
.person-name {
color: #D43436;
font-size: .24rem;
}
label {
color: #484860;
font-size: .23rem;
padding-left: .3rem;
float: right;
img {
width: .26rem;
height: .3rem;
vertical-align: text-bottom;
margin-left: .2rem;
}
}
}
}
//已付款的详细样式
.had-info-box {
width: 92%;
margin: .4rem auto;
background: rgba(251, 251, 251, 1);
border-radius: 2px;
padding: .1rem 0;
font-size: .2rem;
span {
width: 100%;
color: #A0A5AD;
display: block;
padding: .1rem .2rem;
label {
color: #484860;
float: right;
img {
width: .26rem;
height: .3rem;
vertical-align: text-bottom;
margin-left: .2rem;
}
}
}
.info-box-title {
font-size: .24rem;
img {
width: .4rem;
height: .4rem;
vertical-align: middle;
margin-right: .2rem;
}
label {
color: #D43436;
}
}
}
//.payment {
// margin-top: .2rem;
// .mui-icon {
// font-size: .3rem;
// label {
// font-size: .24rem;
// padding-left: .1rem;
// }
// }
// .mui-table-view:before,
// .mui-table-view:after {
// height: 0;
// }
// .mui-table-view-cell {
// &:first-child {
// border: 1px solid #EEEEEE;
// }
// &:after {
// height: 0;
// }
// .payment-txt {
// display: inline;
// color: #999999;
// }
// label {
// float: right;
// margin-right: .3rem;
// color: #333333;
// img {
// width: .26rem;
// height: .3rem;
// vertical-align: text-bottom;
// margin-left: .2rem;
// }
// }
// .switth {
// color: #999999;
// }
// }
//}
.notice {
margin-bottom: 1rem;
.mui-table-view {
.mui-table-view-cell {
.mui-active {
background: rgba(216, 216, 216, 1);
}
padding: .1rem .3rem;
}
&:before,
&:after {
height: 0;
}
}
p {
color: #A0A5AD;
}
a {
display: block;
height: 1rem;
background: rgba(216, 216, 216, 1);
border-radius: 3px;
color: #A0A5AD;
opacity: 0.2;
margin: .1rem 0 !important;
word-break:break-all;
white-space:normal !important;
overflow: scroll !important;
}
}
//.mui-table-view-cell a.mui-active {
// background: none !important;
//}
//按鈕樣式
.btn-group {
width: 100%;
display: flex;
position: fixed;
bottom: 0;
box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
.chat-btn {
width: 1.29rem;
height: .84rem;
text-align: center;
line-height: .9rem;
img {
width: .4rem;
height: .4rem;
}
}
.cancel-btn,
.yes-btn {
flex: 1;
height: .84rem;
background: #FBEBEB;
text-align: center;
color: #D43436;
font-size: .27rem;
line-height: .84rem;
}
.yes-btn {
background: #D43436;
color: #FFFFFF;
}
}
//已付款按鈕樣式
.hadbtn-group {
margin-top: 2rem;
.hadpay-btn {
width: 92%;
height: .8rem;
background: #D43436;
color: #FFFFFF;
text-align: center;
line-height: .8rem;
margin: 0 auto;
}
}
//取消订单弹出框
.cancelOrder {
width: 90%;
height: 3.58rem;
display: none;
position: fixed;
top: 50%;
left: 50%;
margin-left: -45%;
margin-top: -1.79rem;
z-index: 111;
.orderCont {
width: 100%;
background-color: #fff;
overflow: hidden;
padding: 0.3rem 0 0 0.3rem;
border-radius: 0.1rem 0.1rem 0 0;
.popText_1 {
font-size: 0.28rem;
color: #F96B6B;
margin-top: 0.49rem;
}
.popText_2 {
font-size: 0.24rem;
color: #666;
margin-top: 0.36rem;
margin-bottom: 0.5rem;
}
}
.orderHandle {
width: 100%;
height: 0.98rem;
display: flex;
border-top: 0.01rem solid #EEEEEE;
margin-top: -1px;
.thinkBtn {
color: #999;
background-color: #fff;
border-radius: 0 0 0 0.1rem;
}
.cancelBtn {
color: #fff;
background: linear-gradient(-90deg, rgba(212, 52, 54, 1), rgba(255, 146, 125, 1));
border-radius: 0 0 0.1rem 0;
}
}
.popTitle {
font-size: 0.32rem;
color: #000;
}
.popText {
width: 92%;
text-align: justify;
line-height: 0.41rem;
}
.btn {
width: 50%;
line-height: 0.98rem;
text-align: center;
font-size: 0.32rem;
}
}
//蒙版背景
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.2);
z-index: 102;
// display: none;
}
//二维码弹出框样式
.code {
width: 4rem;
height: 4rem;
display: none;
position: fixed;
top: 50%;
left: 50%;
margin-left: -2rem;
margin-top: -2rem;
text-align: center;
z-index: 111;
background: #FFFFFF;
padding: .2rem;
box-sizing: border-box;
img {
height: 3rem;
display: inline-block;
max-width: 100%;
}
span {
display: block;
font-size: .5rem;
font-weight: 500;
}
}
//<!--买入卖出交易密码确认样式-->
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 110;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
.input-group {
position: relative;
text-align: center;
overflow: hidden;
.title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1;
}
.icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333;
}
.title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333;
}
.mui-input-row {
padding: 0 .3rem;
margin-top: .4rem;
label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem;
}
.mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem;
&::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999;
}
}
.mui-icon-eye {
top: .5rem;
right: .29rem;
}
}
.mui-button-row {
button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem;
}
}
}
}
//底部弹出框
#popover {
background: #FFFFFF;
width: 100%;
height: 10rem;
border-radius: .2rem .2rem 0 0;
position: fixed;
z-index: 1000;
top: 100px;
.popover-info {
border-bottom:1px solid #EEEEEE;
.info-txt {
display: flex;
align-items: center;
padding: .3rem .3rem .2rem .3rem;
.img-box {
width: .5rem;
height: .5rem;
border-radius: 50%;
overflow: hidden;
img {
width: .5rem;
height: .5rem;
}
}
h4 {
flex: 1;
color: #333333;
font-size: .31rem;
padding-left: .2rem;
}
p {
flex: 1;
color: #999999;
text-align: right;
}
}
}
.money-info {
display: flex;
justify-content: space-between;
padding: 0 .3rem;
.money-info-left {
.money-info-txt {
color: #9DA6B3;
display: block;
}
.money-info-num {
color: #D7393E;
font-size: .3rem;
display: block;
padding-top: .1rem;
}
}
.money-info-right {
.money-info-txt {
display: flex;
align-items: center;
color: #73D13D;
img {
width: .3rem;
height: .3rem;
vertical-align: middle;
margin-right: .1rem;
}
}
.money-info-num {
color: #D7393E;
font-size: .3rem;
display: block;
text-align: right;
}
}
}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,703 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>广告管理</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/ad_manager.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/coin_ajax.js"></script>
<script src="../js/ajax/ad_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<style>
.no-data-img {
text-align: center;
margin: 2rem 0 0 0;
font-size: 0.25rem;
color: rgb(51, 51, 51);
}
.no-data-img img {
width: 2rem !important;
}
</style>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav" id="header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="font-size: .34rem;">{{langue.title}}</a>
</header>
<div class="mui-content">
<div class="select-box">
<div class="select">
<select name="slct1" v-model="coin_index" @change="coinChange">
<option value="0">{{langue.all}}</option>
<option v-for="(item,index) in coins" :value="index + 1">{{item.coinName}}</option>
</select>
</div>
<div class="select">
<select name="slct2" v-model="ad_status" @change="statusChange">
<option value="">{{langue.all}}</option>
<option value="UNDERWAY">{{langue.underway}}</option>
<option value="FINISH">{{langue.finish}}</option>
<option value="CANCEL">{{langue.cancel}}</option>
<option value="DEFAULT">{{langue.defaultStr}}</option>
<option value="PENDING">{{langue.pending}}</option>
</select>
</div>
<div class="select">
<select name="slct3" v-model="ad_type" @change="typeChange">
<option value="">{{langue.all}}</option>
<option value="BUY">{{langue.buy}}</option>
<option value="SELL">{{langue.sell}}</option>
</select>
</div>
</div>
<div class="order-info">
<div class="no-data-img" v-show="ads.length <= 0">
<img src="../img/no_data.png" />
<div>{{langue.adNull}}</div>
</div>
<ul class="mui-table-view item-ul" id="item-ul">
<li class="item-list mui-table-view-cell" v-for="(item,index) in ads">
<div class="mui-disabled" :class="{'mui-slider-right': item.adStatus == 'PENDING' || item.adStatus == 'DEFAULT'}">
<a class="mui-btn mui-btn-warning js-left-tap-default" :data-ad-id='item.id' v-if="defaultBtn(item.adStatus)">{{langue.defaultBtn}}</a>
<a class="mui-btn mui-btn-warning js-left-tap-pending" :data-ad-id='item.id' v-if="pendingBtn(item.adStatus)">{{langue.pendingBtn}}</a>
<a class="mui-btn mui-btn-red js-left-tap-cancel" :data-ads-index='index' v-if="cancelBtn(item.adStatus)">{{langue.cancelBtn}}</a>
</div>
<div class="mui-slider-handle mui-table">
<div class="order-info-left sales" v-if='item.adType == "SELL"'>
{{langue.sell2}}
</div>
<div class="order-info-left buys" v-if='item.adType == "BUY"'>
{{langue.buy2}}
</div>
<div class="order-info-right">
<div class="order-info-top">
<span class="order-coin">{{item.coinName}}<label>{{item.modifyTime}}</label></span>
<span class="order-status" :class="{'sure' : sureClass(item.adStatus),'remove':removeClass(item.adStatus)}">
<img src="../img/countdown.png" v-if="item.adStatus == 'UNDERWAY'" />
<img src="../img/insecure.png" v-if="item.adStatus == 'PENDING'" />
<img src="../img/countdown.png" v-if="item.adStatus == 'DEFAULT'" />
<img src="../img/sure.png" v-if="item.adStatus == 'FINISH'" />
<img src="../img/remove.png" v-if="item.adStatus == 'CANCEL'" />
{{item.adStatus | adStautsF}}
</span>
</div>
<div class="order-info-bottom">
<h4>
<span>{{langue.adNumber}}{{item.adNumber}}</span>
<img src="../img/swiperleft.png" v-if='item.adStatus == "PENDING" || item.adStatus == "DEFAULT"' />
</h4>
<div class="order-info-txt">
<span>{{langue.price}}({{item.unitName}})</span>
<span>{{langue.last}}({{item.coinName}})</span>
<span>{{langue.total}}({{item.coinName}})</span>
</div>
<div class="order-info-num">
<span>{{item.price | toFixNum(coin.unitDecimal)}}</span>
<span>{{item.lastNum | toFixNum(coin.coinDecimal)}}</span>
<span>{{item.totalNum | toFixNum(coin.coinDecimal)}}</span>
</div>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//页码
var pageNum = 1;
//上下拉刷新控件
var pullToRefreshObj = null;
</script>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '广告管理',
all: '全部',
underway: '交易中',
finish: '已完成',
cancel: '已取消',
defaultStr: '挂单中',
pending: '下架中',
buy: '购买',
buy2: '买',
sell: '出售',
sell2: '卖',
adNull: '暂无广告',
cancelBtn: '撤销',
defaultBtn: '上架',
pendingBtn: '下架',
adNumber: '流水号:',
price: '单价',
last: '剩余',
total: '总量',
affirmBtn: '确认',
cancelBtn2: '取消',
cancelTitle: '确认撤消该广告?',
defaultTitle: '确认上架该广告?',
pendingTitle: '确认下架该广告?',
logInElse: '您的账号在别处登录!',
cancelContent: '是否撤消',
defaultContent: '是否上架',
pendingContent: '是否下架',
waiting: '等待中...',
handleSuccess: '操作成功!',
contentinit: '上拉显示更多...',
contentdown: '上拉显示更多',
contentrefresh: '正在加载...',
contentnomore: "- End -",
netError: '网络异常,请刷新重试!',
},
zh_HK: {
title: '廣告管理',
all: '全部',
underway: '交易中',
finish: '已完成',
cancel: '已取消',
defaultStr: '挂單中',
pending: '下架中',
buy: '購買',
buy2: '買',
sell: '出售',
sell2: '賣',
adNull: '暫無廣告',
cancelBtn: '撤銷',
defaultBtn: '上架',
pendingBtn: '下架',
adNumber: '流水號:',
price: '單價',
last: '剩餘',
total: '總量',
affirmBtn: '確認',
cancelBtn2: '取消',
cancelTitle: '確認撤銷該廣告?',
defaultTitle: '確認上架該廣告?',
pendingTitle: '確認下架該廣告?',
logInElse: '您的帳號在別處登錄!',
cancelContent: '是否撤銷',
defaultContent: '是否上架',
pendingContent: '是否下架',
waiting: '等待中...',
handleSuccess: '操作成功!',
contentinit: '上拉顯示更多...',
contentdown: '上拉顯示更多',
contentrefresh: '正在加載...',
contentnomore: "- End -",
netError: '網路異常,請刷新重試!',
},
en_US: {
title: 'Advertising management',
all: 'All',
underway: 'processing',
finish: 'completed',
cancel: 'Cancelled',
defaultStr: 'Entry Orders',
pending: 'Sold out',
buy: 'buy',
buy2: 'buy',
sell: 'sell',
sell2: 'Sell',
adNull: 'No ads yet',
cancelBtn: 'Undo',
defaultBtn: 'Putaway',
pendingBtn: 'Sold out',
adNumber: 'serial number:',
price: 'unit price',
last: 'Remaining',
total: 'Total',
affirmBtn: 'confirm',
cancelBtn2: 'cancel',
cancelTitle: 'Confirm the withdrawal of the ad?',
defaultTitle: 'Confirm the AD?',
pendingTitle: 'Confirm removal of the AD?',
logInElse: 'Your account is logged in elsewhere!',
cancelContent: 'Whether to revoke',
defaultContent: 'Whether the shelf',
pendingContent: 'Whether the shelves',
waiting: 'Waiting...',
handleSuccess: 'Successful operation!',
contentinit: 'Look up shows more...',
contentdown: 'Look up shows more',
contentrefresh: 'loading...',
contentnomore: "- End -",
netError: 'Network exception, please refresh and try again!',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
</script>
<script type="text/javascript">
/**vue**/
//全局过滤器-保留小数点
Vue.filter('toFixNum', function(value, fix_num) {
return app.formatValueStr(value, fix_num);
});
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
coins: [], //代币列表
coin_index: 0, //代币下拉控件索引
coin: { //当前选择的代币
coinName: '', //当前选择的代币
unitName: '', //当前代币的交易单位
coinDecimal: 6, //代币小数长度
unitDecimal: 2, //代币交易单位小数长度
},
ads: [], //广告列表
ad_status: '', //广告状态
ad_type: '', //广告类型
},
methods: {
//币种切换时触发方法
coinChange: function(e) {
//当前下拉框选择索引
var index = this.coin_index;
//索引为0的时候,币种是选择全部
if (index == 0) {
this.coin.coinName = '';
this.coin.unitName = '';
this.coin.coinDecimal = 6;
this.coin.unitDecimal = 2;
//查询用户广告
listUserAds();
return;
}
//更换当前币种
this.coin = JSON.parse(JSON.stringify(this.coins[index - 1]));
//查询用户广告
listUserAds();
},
//查询广告状态改变
statusChange: function() {
listUserAds();
},
//查询广告类型改变
typeChange: function() {
listUserAds();
},
//是否显示 sure 样式
sureClass: function(status) {
if (status == 'UNDERWAY' || status == 'FINISH' || status == 'DEFAULT' || status == 'PENDING') {
return true;
}
return false;
},
//是否显示 remove 样式
removeClass: function(status) {
if (status == 'CANCEL') {
return true;
}
return false;
},
//是否去掉撤销按钮
cancelStatus: function(status) {
if (status == 'CANCEL' || status == 'FINISH') {
return true;
}
return false;
},
//是否显示撤销按钮
cancelBtn: function(status) {
if (status == 'DEFAULT' || status == 'PENDING') {
return true;
}
return false;
},
//是否显示上架按钮
defaultBtn: function(status) {
if (status == 'PENDING') {
return true;
}
return false;
},
//是否显示下架按钮
pendingBtn: function(status) {
if (status == 'DEFAULT') {
return true;
}
return false;
}
},
filters: {
//根据广告状态返回广告中文标识
adStautsF: function(val) {
if (val == 'UNDERWAY') {
return this.langue.underway;
}
if (val == 'FINISH') {
return this.langue.finish;
}
if (val == 'CANCEL') {
return this.langue.cancel;
}
if (val == 'DEFAULT') {
return this.langue.defaultStr;
}
if (val == 'PENDING') {
return this.langue.pending;
}
},
}
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
getCoins();
listUserAds();
//下拉刷新
pullToRefreshObj = mui(".mui-content").pullToRefresh({
down: {
callback: function() {
var self = this;
pageNum = 1;
listUserAds();
setTimeout(function() {
self.endPullDownToRefresh();
}, 1000);
}
},
up: {
callback: function() {
var self = this;
setTimeout(function() {
pullUpFunction(self);
}, 1000);
},
contentinit: dataInfo.langue.contentinit,
contentdown: dataInfo.langue.contentdown,
contentrefresh: dataInfo.langue.contentrefresh,
contentnomore: dataInfo.langue.contentnomore
}
});
});
</script>
<script type="text/javascript">
/**事件绑定**/
//左滑撤销广告
(function($) {
var btnArray = [dataInfo.langue.affirmBtn, dataInfo.langue.cancelBtn2];
//左滑取消广告按钮
$('#item-ul').on('tap', '.js-left-tap-cancel', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
var adsIndex = this.getAttribute('data-ads-index');
mui.confirm(dataInfo.langue.cancelTitle, dataInfo.langue.cancelContent, btnArray, function(e) {
if (e.index == 0) {
//撤单
cancelAd(dataInfo.ads[adsIndex].id, li);
setTimeout(function() {
$.swipeoutClose(li);
}, 500);
} else {
setTimeout(function() {
$.swipeoutClose(li);
}, 0);
}
});
});
//左滑上架按钮
$('#item-ul').on('tap', '.js-left-tap-default', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
var adId = elem.getAttribute('data-ad-id');
mui.confirm(dataInfo.langue.defaultTitle, dataInfo.langue.defaultContent, btnArray, function(e) {
if (e.index == 0) {
//上架
defaultAd(adId, li);
setTimeout(function() {
$.swipeoutClose(li);
}, 500);
} else {
setTimeout(function() {
$.swipeoutClose(li);
}, 0);
}
});
});
//左滑下架按钮
$('#item-ul').on('tap', '.js-left-tap-pending', function(event) {
var elem = this;
var li = elem.parentNode.parentNode;
var adId = elem.getAttribute('data-ad-id');
mui.confirm(dataInfo.langue.pendingTitle, dataInfo.langue.pendingContent, btnArray, function(e) {
if (e.index == 0) {
//上架
pendingAd(adId, li);
setTimeout(function() {
$.swipeoutClose(li);
}, 500);
} else {
setTimeout(function() {
$.swipeoutClose(li);
}, 0);
}
});
});
})(mui);
</script>
<script type="text/javascript">
/**function**/
//查询法币币种列表
function getCoins() {
mui.ajax(coinAjax.GET_COINS.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {},
dataType: 'json',
type: coinAjax.GET_COINS.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
//渲染数据
dataInfo.coins = data.data;
}
}
});
}
//查询用户广告列表
function listUserAds() {
mui.ajax(adAjax.LIST_USER_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
adType: dataInfo.ad_type,
adStatus: dataInfo.ad_status,
},
dataType: 'json',
type: adAjax.LIST_USER_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
//渲染数据
dataInfo.ads = data.data;
//数据小于10条,禁用上拉
if (data.data.length < 10) {
pullToRefreshObj.endPullUpToRefresh(true);
} else {
pullToRefreshObj.refresh(true);
}
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//撤销广告
function cancelAd(adId, li) {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(adAjax.CANCEL_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
adId: adId,
},
dataType: 'json',
type: adAjax.CANCEL_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if (data.code == 200) {
mui.toast(dataInfo.langue.handleSuccess);
//查询列表
listUserAds();
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.netError);
}
});
}
//上架广告
function defaultAd(adId, li) {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(adAjax.DEFAULT_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
adId: adId,
},
dataType: 'json',
type: adAjax.DEFAULT_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if (data.code == 200) {
mui.toast(dataInfo.langue.handleSuccess);
//查询列表
listUserAds();
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.netError);
}
});
}
//下架广告
function pendingAd(adId, li) {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(adAjax.PENDING_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
adId: adId,
},
dataType: 'json',
type: adAjax.PENDING_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if (data.code == 200) {
mui.toast(dataInfo.langue.handleSuccess);
//查询列表
listUserAds();
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.netError);
}
});
}
/**
* 上拉加载事件
*/
function pullUpFunction(_self) {
mui.ajax(adAjax.LIST_USER_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
adType: dataInfo.ad_type,
adStatus: dataInfo.ad_status,
pageNum: pageNum + 1
},
dataType: 'json', //服务器返回json格式数据
type: adAjax.LIST_USER_AD.getType, //HTTP请求类型
timeout: 10000,
success: function(data) {
if (data.code == "200") {
if (data.data.length > 0) {
//渲染数据
dataInfo.ads = dataInfo.ads.concat(data.data);
//插入数据,渲染数据
pageNum += 1;
}
//如果数据小于10条
if (data.data.length < 10) {
_self.endPullUpToRefresh(true); //关闭上拉,并禁用,显示没有更多数据了
} else {
_self.endPullUpToRefresh(false);
}
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
},
error: function(xhr, type, errorThrown) {
_self.endPullUpToRefresh(false);
}
});
}
</script>
</html>

@ -0,0 +1,534 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>发布广告</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/advertisement.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/coin_ajax.js"></script>
<script src="../js/ajax/order_ajax.js"></script>
<script src="../js/ajax/ad_ajax.js"></script>
<script src="../js/base/base.compute.js"></script>
<script src="../js/base/requestUrl.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
</head>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<div class="top-info">
<div class="btn-group">
<span class="btn1" :class="{'btn-active' : order_type == 'BUY'}" id="buys">{{langue.buy}}</span>
<span class="btn2" :class="{'btn-active' : order_type == 'SELL'}" id="sales">{{langue.sell}}</span>
</div>
<div class="select">
<select name="slct1" v-model="coin_index" @change="coinChange">
<option v-for="(item,index) in coins" :value="index">{{item.coinName}}</option>
</select>
</div>
</div>
<div class="input-group">
<ul class="item-ul">
<li class="item-list">
<h4>{{langue.price}}({{coin.unitName}})</h4>
<input type="text" :placeholder="langue.pricePlaceholder" v-model.number="price" oninput="formatNumber(this,dataInfo.coin.unitDecimal)" />
</li>
<li class="item-list">
<h4>{{langue.amount}}({{coin.coinName}})</h4>
<input type="text" :placeholder="langue.amountPlaceholder" v-model.number="amount" oninput="formatNumber(this,dataInfo.coin.coinDecimal)" />
</li>
<li class="item-list">
<h4>{{langue.minLimit}}({{coin.unitName}})</h4>
<input type="text" :placeholder="langue.minLimitPlaceholder" v-model.number="min_limit" oninput="formatNumber(this,2)" />
</li>
<li class="item-list">
<h4>{{langue.maxLimit}}({{coin.unitName}})</h4>
<input type="text" :placeholder="langue.maxLimitPlaceholder" v-model.number="max_limit" disabled="disabled" />
</li>
</ul>
</div>
<div class="icon">
<h4>{{langue.payType}}</h4>
<div class="icon-list">
<div class="mui-input-row mui-checkbox mui-left">
<input class="js-tap-pay" name="checkbox" value="ZFB" v-model="pay_types" type="checkbox">
<span class="mui-icon iconfont icon-zhifubap" style="color: #0062CC;"><label>{{langue.zhifubao}}</label></span>
</div>
<div class="mui-input-row mui-checkbox mui-left">
<input class="js-tap-pay" name="checkbox" value="WX" v-model="pay_types" type="checkbox">
<span class="mui-icon iconfont icon-weixin-copy" style="color: #007849;"><label>{{langue.weixin}}</label></span>
</div>
<div class="mui-input-row mui-checkbox mui-left">
<input class="js-tap-pay" name="checkbox" value="BANK" v-model="pay_types" type="checkbox">
<span class="mui-icon iconfont icon-yinhangka" style="color: #F4A41F;"><label>{{langue.bank}}</label></span>
</div>
</div>
</div>
<div class="note-box">
<h4>{{langue.remark}}</h4>
<textarea rows="8" :placeholder="langue.remarkPlaceholder" v-model="remark"></textarea>
</div>
<div class="password-group">
<img src="../img/insecure.png" />
<input type="password" name="insecure" id="insecure" v-model="pass" :placeholder="langue.passPlaceholder" />
</div>
</div>
<div class="btn">
<button id='submitBtn' class="app-btn mui-btn-outlined">{{langue.publishBtn}}</button>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '发布广告',
buy: '购买',
sell: '出售',
price: '单价',
pricePlaceholder: '请输入广告单价',
amount: '数量',
amountPlaceholder: '请输入广告数量',
minLimit: '最小限额',
minLimitPlaceholder: '请输入最小限额',
maxLimit: '最大限额',
maxLimitPlaceholder: '请输入最大限额',
payType: '支付方式',
zhifubao: '支付宝',
weixin: '微信',
bank: '银行卡',
remark: '备注:',
remarkPlaceholder: '请输入交易备注,200字以内(选填)',
passPlaceholder: '请输入密码',
publishBtn: '立即发布',
minLimitTooLarge: '最小交易限额过大',
payTypeNull: '请选择支付方式!',
passNull: '请输入密码!',
passOverTime: '密码存储时间已过期,请重新输入',
logInElse: '您的账号在别处登录!',
waiting: '等待中...',
handleSuccess: '操作成功!',
},
zh_HK: {
title: '發佈廣告',
buy: '購買',
sell: '出售',
price: '單價',
pricePlaceholder: '請輸入廣告單價',
amount: '數量',
amountPlaceholder: '請輸入廣告數量',
minLimit: '最小限額',
minLimitPlaceholder: '請輸入最小限額',
maxLimit: '最大限額',
maxLimitPlaceholder: '請輸入最大限額',
payType: '支付方式',
zhifubao: '支付寶',
weixin: '微信',
bank: '銀行卡',
remark: '備註:',
remarkPlaceholder: '請輸入交易備註,200字以內(選填)',
passPlaceholder: '請輸入密碼',
publishBtn: '立即發佈',
minLimitTooLarge: '最小交易限額過大',
payTypeNull: '請選擇支付方式!',
passNull: '請輸入密碼!',
passOverTime: '密碼存儲時間已過期,請重新輸入',
logInElse: '您的帳號在別處登錄!',
waiting: '等待中...',
handleSuccess: '操作成功!',
},
en_US: {
title: 'Place ad',
buy: 'Buy',
sell: 'Sell',
price: 'Price',
pricePlaceholder: 'Input the price of ad',
amount: 'Amount',
amountPlaceholder: 'Input the num of ads',
minLimit: 'Min limit',
minLimitPlaceholder: 'Input a min limit',
maxLimit: 'Max limit',
maxLimitPlaceholder: 'Input the max limit',
payType: 'payment method',
zhifubao: 'Alipay',
weixin: 'WeChat',
bank: 'Bankcard',
remark: 'Remarks:',
remarkPlaceholder: 'Please enter the transaction note, within 200 words (optional)',
passPlaceholder: 'Please enter your password',
publishBtn: 'Immediately release',
minLimitTooLarge: 'The minimum transaction limit is too large',
payTypeNull: 'Please select the payment method! ',
passNull: 'Please enter your password!',
passOverTime: 'The password storage time has expired, please re-enter',
logInElse: 'Your account is logged in elsewhere!',
waiting: 'Waiting...',
handleSuccess: 'Successful operation!',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
</script>
<script type="text/javascript">
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
coins: [], //代币列表
coin_index: 0, //代币下拉控件索引
coin: { //当前选择的代币
coinName: '', //当前选择的代币
unitName: '', //当前代币的交易单位
coinDecimal: 6, //代币小数长度
unitDecimal: 2, //代币交易单位小数长度
},
order_type: 'BUY', //发布订单类型
price: '', //发布单价
amount: '', //发布数量
min_limit: '', //发布最小限额
remark: '', //备注
pay_types: [], //发布的支付方式
pass: '', //资金密码
public_pass: '', //公钥加密的资金密码
// nowDate: '', //获取当前时间
// nowPassNOValue: true,
},
// created() {
// //判断是否在其他页面输入过密码 以下是 是的情况
// if (localStorage.getItem('nowPassNOValue')) {
// //控制密码框的出现
// this.nowPassNOValue = localStorage.getItem('nowPassNOValue');
// }
// if (
// localStorage.getItem('userpass') != '' &&
// localStorage.getItem('userpass') != null
// ) {
// if (
// localStorage.getItem('userdate') != '' &&
// localStorage.getItem('userdate') != null
// ) {
// this.nowPassNOValue = false;
// this.pass = localStorage.getItem('userpass');
// this.nowDate = localStorage.getItem('userdate');
// }
// }
// // console.log(this.anbuycoinName);
// },
computed: {
//发布最大限额
max_limit: function() {
// var max = (this.price * this.amount).toFixed(1);
// if(isNaN(max)) {
// return Number(0);
// }
// if(max == 0) {
// return '';
// }
// //截取数据,保留小数并不用四舍五入
// var realNum = max.substring(0, max.length - 2);
// return realNum;
return compute.Mul(this.price, this.amount, 2);
},
},
methods: {
//币种切换时触发方法
coinChange: function(e) {
//当前下拉框选择索引
var index = this.coin_index;
//更换当前币种
this.coin = JSON.parse(JSON.stringify(this.coins[index]));
//查询广告列表
this.listAdByAdType();
},
//清空密码框
emptyPass: function() {
this.pass = '';
this.public_pass = '';
},
//检查发布参数
checkPublicAdParam: function() {
if(this.price == '' || this.price <= 0) {
mui.toast(this.langue.pricePlaceholder);
throw new Error();
}
if(this.amount == '' || this.amount <= 0) {
mui.toast(this.langue.amountPlaceholder);
throw new Error();
}
if(this.min_limit == '' || this.min_limit <= 0) {
mui.toast(this.langue.minLimitPlaceholder);
throw new Error();
}
if(this.max_limit == '' || this.max_limit <= 0) {
mui.toast(this.langue.maxLimitPlaceholder);
throw new Error();
}
if(compute.Mul(this.price, this.amount, this.coin.coinDecimal) < this.min_limit) {
mui.toast(this.langue.minLimitTooLarge);
throw new Error();
}
if(this.pay_types.length == 0) {
mui.toast(this.langue.payTypeNull);
throw new Error();
}
if(this.pass == '') {
mui.toast(this.langue.passNull);
throw new Error();
}
},
}
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
getCoins();
});
</script>
<script type="text/javascript">
//购买点击事件
document.getElementById('buys').addEventListener('tap', function() {
dataInfo.order_type = 'BUY';
});
//出售点击事件
document.getElementById('sales').addEventListener('tap', function() {
dataInfo.order_type = 'SELL';
});
//点击立即发布事件
document.getElementById("submitBtn").addEventListener("tap", function() {
dataInfo.checkPublicAdParam();
// // 判断5分钟 密码存储时间是否过期
// if (!dataInfo.nowPassNOValue) {
// var data = dataInfo.nowDate.replace(new RegExp(/-/gm), '/');
// //结束时间戳
// var lastTime = Date.parse(new Date(data)) + '5' * 60 * 1000;
// //当前时间戳
// var now = Date.parse(new Date());
// //剩余时间戳
// var msec = lastTime - now;
// console.log(msec)
// //时间已结束
// if (msec <= 0) {
// mui.toast(dataInfo.langue.passOverTime);
// // 密码输入框出现,清除缓存
// dataInfo.pass = '';
// dataInfo.nowPassNOValue = true;
// localStorage.removeItem('userpass');
// localStorage.removeItem('userdate');
// localStorage.removeItem('nowPassNOValue');
// return;
// }
// }
// //弹窗前先判断是否有缓存 -获取缓存中的密码跟时间
// if (
// localStorage.getItem('userpass') != '' &&
// localStorage.getItem('userpass') != null
// ) {
// if (
// localStorage.getItem('userdate') != '' &&
// localStorage.getItem('userdate') != null
// ) {
// dataInfo.pass = localStorage.getItem('userpass');
// dataInfo.nowDate = localStorage.getItem('userdate');
// }
// }
//获取非对称加密的公钥
walletApi.getPublicKey(dataInfo.pass, function(data) {
dataInfo.public_pass = data;
//发布广告
if(dataInfo.order_type == 'BUY') {
publishBuyAd();
}
if(dataInfo.order_type == 'SELL') {
publishSellAd();
}
});
});
</script>
<script type="text/javascript">
/**查询币种**/
//查询法币币种列表
function getCoins() {
mui.ajax(coinAjax.GET_COINS.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {},
dataType: 'json',
type: coinAjax.GET_COINS.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//渲染数据
dataInfo.coins = data.data;
dataInfo.coin = data.data[0];
}
}
});
}
//发布买入广告
function publishBuyAd() {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(adAjax.PUBLISH_BUY_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
pass: dataInfo.public_pass,
price: dataInfo.price,
totalNum: dataInfo.amount,
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
minLimit: dataInfo.min_limit,
payType: dataInfo.pay_types.toString(),
remark: dataInfo.remark,
},
dataType: 'json',
type: adAjax.PUBLISH_BUY_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
// // 5分钟内不输入密码 获取当前时间 布尔 密码存入缓存
// dataInfo.nowDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
// dataInfo.nowPassNOValue = false;
// localStorage.setItem('userpass', dataInfo.pass);
// localStorage.setItem('userdate', dataInfo.nowDate);
// localStorage.setItem('nowPassNOValue', dataInfo.nowPassNOValue);
//渲染数据
mui.toast(dataInfo.langue.handleSuccess);
var self = plus.webview.currentWebview();
app.openWin('ad_manager.html', 'ad_manager.html');
setTimeout(function() {
self.hide();
self.close();
}, 500);
}
// else if (data.code == 12710) {
// //密码错误的情况 单独判断,以防原因是用户修改了资金密码
// mui.toast(data.msg);
// // 密码输入框出现,清除缓存
// dataInfo.nowPassNOValue = true;
// localStorage.removeItem('userpass');
// localStorage.removeItem('userdate');
// localStorage.removeItem('nowPassNOValue');
// }
else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
//发布卖出广告
function publishSellAd() {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(adAjax.PUBLISH_SELL_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
pass: dataInfo.public_pass,
price: dataInfo.price,
totalNum: dataInfo.amount,
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
minLimit: dataInfo.min_limit,
payType: dataInfo.pay_types.toString(),
remark: dataInfo.remark,
},
dataType: 'json',
type: adAjax.PUBLISH_SELL_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
// 5分钟内不输入密码
dataInfo.nowDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
dataInfo.nowPassNOValue = false;
localStorage.setItem('userpass', dataInfo.pass);
localStorage.setItem('userdate', dataInfo.nowDate);
localStorage.setItem('nowPassNOValue', dataInfo.nowPassNOValue);
//渲染数据
mui.toast(dataInfo.langue.handleSuccess);
var self = plus.webview.currentWebview();
app.openWin('ad_manager.html', 'ad_manager.html');
setTimeout(function() {
self.hide();
self.close();
}, 500);
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
// else if(data.code === 12710) {
// mui.toast(data.msg);
// // 密码输入框出现,清除缓存 -密码错误
// dataInfo.nowPassNOValue = true;
// localStorage.removeItem('userpass');
// localStorage.removeItem('userdate');
// localStorage.removeItem('nowPassNOValue');
// }
}
});
}
</script>
</html>

@ -0,0 +1,332 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>申诉</title>
<meta name="viewport"
content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"/>
<link href="../../../lib/css/mui.min.css" rel="stylesheet"/>
<link rel="stylesheet" type="text/css" href="../../../lib/css/basic.css"/>
<link rel="stylesheet" href="../css/appeal2.css"/>
<script type="text/javascript" src="../../../lib/js/rem-layout.js"></script>
<script type="text/javascript" src="../../../lib/js/mui.min.js"></script>
<script type="text/javascript" src="../../../lib/js/vue.js"></script>
<script type="text/javascript" src="../../../lib/js/app.js"></script>
<!--baseJs-->
<script type="text/javascript" src="../js/ajax/appeal_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<style>
.appeal-upload {
overflow: hidden;
border: #333333 solid 1.5px;
}
.appeal-img {
height: 90% !important;
width: 100% !important;
}
</style>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav app-header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<h3>{{langue.appealRemark}}</h3>
<div class="appeal-explain">
<textarea v-model="remark" class="appeal-textarea" rows="8"
:placeholder="langue.appealPlaceholder"></textarea>
</div>
<h3>{{langue.appealImgTitle}}</h3>
<div class="appeal-upload" data-index='0'>
<div class="img-box">
<div v-show="appeal_urls[0] == null">
<img src="../img/upload.png"/>
<span>{{langue.tapUpload}}</span>
</div>
<div v-show="appeal_urls[0] != null">
<img class="appeal-img" :src="base_file_url + appeal_urls[0]"/>
</div>
</div>
</div>
<div class="appeal-upload" style="margin-top: 0.2rem;" v-if="appeal_urls[0] != null" data-index='1'>
<div class="img-box">
<div v-show="appeal_urls[1] == null">
<img src="../img/upload.png"/>
<span>{{langue.tapUpload}}</span>
</div>
<div v-show="appeal_urls[1] != null">
<img class="appeal-img" :src="base_file_url + appeal_urls[1]"/>
</div>
</div>
</div>
<div class="appeal-upload" style="margin-top: 0.2rem;" v-if="appeal_urls[1] != null" data-index='2'>
<div class="img-box">
<div v-show="appeal_urls[2] == null">
<img src="../img/upload.png"/>
<span>{{langue.tapUpload}}</span>
</div>
<div v-show="appeal_urls[2] != null">
<img class="appeal-img" :src="base_file_url + appeal_urls[2]"/>
</div>
</div>
</div>
<p class="note">
{{langue.uploadRemark}}
</p>
<div class="btn">
<button class="app-btn mui-btn-outlined" id='appeal-btn'>{{langue.submitAppeal}}</button>
</div>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '申诉',
appealRemark: '申诉说明',
appealPlaceholder: '请输入申诉说明,200字以内',
appealImgTitle: '上传凭证',
tapUpload: '点击上传',
uploadRemark: '*请确保凭证清晰可见,并承诺提供的信息真实有效,如 有虚假行为,账户将被封禁。',
submitAppeal: '提交申诉',
selectPhone: '从手机相册选择',
cancel: '取消',
appealRemarkNull: '请输入申诉说明!',
appealImgNull: '请选择申诉凭证!',
imgTooLarge: '图片过大,请重新选择!',
imgUploadError: '加载图片失败 ',
uploadWait: '上传图片中...',
netError: '网络异常,请刷新重试!',
waiting: '等待中...',
submitAppealSuccess: '申诉已提交,请耐心等待工作人员审核!',
logInElse: '您的账号在别处登录!',
},
zh_HK: {
title: '申訴',
appealRemark: '申訴說明',
appealPlaceholder: '請輸入申訴說明,200字以內',
appealImgTitle: '上傳憑證',
tapUpload: '點擊上傳',
uploadRemark: '*請確保憑證清晰可見,並承諾提供的資訊真實有效,如 有虛假行為,帳戶將被封禁。',
submitAppeal: '提交申訴',
selectPhone: '從手機相冊選擇',
cancel: '取消',
appealRemarkNull: '請輸入申訴說明!',
appealImgNull: '請選擇申訴憑證!',
imgTooLarge: '圖片過大,請重新選擇!',
imgUploadError: '加載圖片失敗',
uploadWait: '上傳圖片中...',
netError: '網路異常,請刷新重試!',
waiting: '等待中...',
submitAppealSuccess: '申訴已提交,請耐心等待工作人員審核!',
logInElse: '您的帳號在別處登錄!',
},
en_US: {
title: 'appeal',
appealRemark: 'Appeal statement',
appealPlaceholder: 'Please enter the complaint description, within 200 words',
appealImgTitle: 'upload certificate',
tapUpload: 'Click upload',
uploadRemark: '*Please ensure that the voucher is clearly visible and that the information provided is true and valid. If there is a false act, the account will be banned.',
submitAppeal: 'Submit an appeal',
selectPhone: 'Select from mobile phone album',
cancel: 'cancel',
appealRemarkNull: 'Please enter your complaint description! ',
appealImgNull: 'Please choose the appeal voucher! ',
imgTooLarge: 'The picture is too big, please choose again! ',
imgUploadError: 'Load image failed',
uploadWait: 'Upload image...',
netError: 'Network exception, please refresh and try again! ',
waiting: 'Waiting...',
submitAppealSuccess: 'The complaint has been submitted, please be patient and wait for the staff to review! ',
logInElse: 'Your account is logged in elsewhere! ',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function (e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
</script>
<script type="text/javascript">
/**vue**/
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
orderId: '', //订单id
remark: '', //申诉说明
appeal_urls: [], //申诉图片路径
base_file_url: app.walletFileUrl, //服务器文件路径前缀
},
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function () {
var self = plus.webview.currentWebview();
dataInfo.orderId = self.orderId;
});
</script>
<script type="text/javascript">
/**事件绑定**/
//上传按钮
mui('.mui-content').on('tap', '.appeal-upload', function () {
//图片选择框索引
var index = this.getAttribute('data-index');
//弹出选择手机相册框
if (mui.os.plus) {
var buttons = [{
title: dataInfo.langue.selectPhone
}];
plus.nativeUI.actionSheet({
cancel: dataInfo.langue.cancel,
buttons: buttons
}, function (b) { /*actionSheet 按钮点击事件*/
switch (b.index) {
case 0:
break;
case 1:
galleryImg(index);
/*打开相册*/
break;
default:
break;
}
})
}
});
//申诉按钮
document.getElementById("appeal-btn").addEventListener("tap", function () {
if (dataInfo.remark == '') {
mui.toast(dataInfo.langue.appealRemarkNull);
return;
}
if (dataInfo.appeal_urls.length <= 0) {
mui.toast(dataInfo.langue.appealImgNull);
return;
}
//提交申诉
appeal();
});
</script>
<script type="text/javascript">
/**function**/
//本地相册选择
function galleryImg(index) {
plus.gallery.pick(function (path) {
//通过H5+API获取文件
plus.io.resolveLocalFileSystemURL(path,
//获取成功回调函数
function (entry) {
//通过entry对象操作文件
entry.file(function (file) {
//如果文件过大,显示提示信息
if (file.size > 1000000) {
mui.toast(dataInfo.langue.imgTooLarge);
return;
}
//上传图片
uploadAppealFile(path, index);
});
},
//获取失败回调
function (e) {
mui.toast(dataInfo.langue.imgUploadError + e.message);
});
});
};
//上传图片
function uploadAppealFile(imgurl, index) {
plus.nativeUI.showWaiting(dataInfo.langue.uploadWait)
var task = plus.uploader.createUpload(appealAjax.UPLOAD_APPEAL_FILE.getUrl, {
method: appealAjax.UPLOAD_APPEAL_FILE.getType
},
function (t, status) { //上传完成
//200成功状态
if (status == 200) {
//解析返回数据
var path = JSON.parse(t.responseText);
//后台返回成功
if (path.code == 200) {
//返回图片处理后的文件名,根据索引插入数组中
Vue.set(dataInfo.appeal_urls, index, path.data.toString());
} else if (path.code == 201 || data.code == 202) { //未登录
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(dataInfo.langue.netError);
}
} else {
mui.toast(dataInfo.langue.netError);
}
plus.nativeUI.closeWaiting();
}
);
//添加其他参数
var flag = task.addFile(imgurl, {
key: "appealFile"
});
//设置请求头
task.setRequestHeader('X-Requested-Token', app.getTokenStorage());
task.start();
}
//提交申诉
function appeal() {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(appealAjax.APPEAL.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
urls: dataInfo.appeal_urls.toString(),
remark: dataInfo.remark,
orderId: dataInfo.orderId,
},
dataType: 'json',
type: appealAjax.APPEAL.getType,
timeout: 10000, //超时时间设置为10秒
success: function (data) {
plus.nativeUI.closeWaiting();
if (data.code == "200") {
mui.toast(dataInfo.langue.submitAppealSuccess);
//刷新上一页的订单信息
var opoenr = plus.webview.currentWebview().opener();
opoenr.evalJS('reloadOrder()');
mui.back();
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
</script>
</html>

@ -0,0 +1,344 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>绑定支付宝</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/lct_index.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<!--<div class="mui-input-row">
<label>姓名</label>
<input type="text" placeholder="请输入姓名">
</div>-->
<div class="mui-input-row">
<label>{{langue.Alipay_account}}</label>
<input type="text" :placeholder="langue.note1" v-model="accountInfo">
</div>
<div class="mui-input-row">
<label>{{langue.Password}}</label>
<input type="password" :placeholder="langue.note2" v-model="pass">
</div>
<div class="mui-input-row" id="binding-Alipay">
<label>{{langue.note3}}</label>
<span class="coinkind">
<span style="color: #04b8d3;" v-if='url != ""'>{{langue.success}}</span>
<span class="mui-icon mui-icon-image"></span>
<span class="mui-icon mui-icon-arrowright app-icon"></span>
</span>
</div>
<div class="btn">
<button id="submitBtn" class="app-btn app-btn-darkly">{{langue.save}}</button>
</div>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '绑定支付宝',
note1: '请输入支付宝账号',
note2: '请输入交易密码',
note3: '上传收款二维码',
note4: '从手机相册选择',
note8: '等待中...',
note9: '图片过大,请重新选择!',
note10: '加载图片失败,',
note11: '上传图片中...',
note12: '您的账号在别处登录!',
note13: '网络异常,请刷新重试!',
Binding_success: '绑定成功!',
modify_success: '修改成功!',
Alipay_account: '支付宝账户',
Password: '交易密码',
cancel: '取消',
success: '上传成功!',
save: '保存',
modify: '修改'
},
zh_HK: {
title: '綁定支付寶',
note1: '請輸入支付寶賬號',
note2: '請輸入交易密碼',
note3: '上傳收款二維碼',
note4: '從手機相冊選擇',
note8: '等待中...',
note9: '圖片過大,請重新選擇!',
note10: '加載圖片失敗,',
note11: '上傳圖片中...',
note12: '您的賬號在別處登陸!',
note13: '網絡異常,請刷新重試!',
Binding_success: '綁定成功!',
modify_success: '修改成功!',
Alipay_account: '支付寶账户',
Password: '交易密碼',
cancel: '取消',
success: '上傳成功!',
save: '保存',
modify: '修改'
},
en_US: {
title: 'Bind Alipay',
note1: 'Please enter an Alipay account',
note2: 'Please enter the password',
note3: 'Upload code',
note4: 'Choose from a mobile photo album',
note8: 'Waiting...',
note9: 'The picture is too large, please re-select!',
note10: 'Failed to load image,',
note11: 'Upload image...',
note12: 'Your account is logged in elsewhere!',
note13: 'Network exception, please refresh!',
Binding_success: 'Binding success!',
modify_success: 'Successfully modified!',
Alipay_account: 'Alipay account',
Password: 'Password',
cancel: 'Cancel',
success: 'Upload success!',
save: 'Save',
modify: 'Modify'
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
/*vue代码块*/
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
accountInfo: '', //账户
url: '', //上传图片后返回路径
pass: '', //密码
public_pass: '', //公钥加密密码
handleType: '',
}
});
</script>
<script type="text/javascript">
/*主体代码块*/
mui.plusReady(function() {
var self = plus.webview.currentWebview();
dataInfo.handleType = self.handleType;
});
</script>
<script type="text/javascript">
/*事件代码块*/
/*点击上传收款码按钮*/
document.getElementById('binding-Alipay').addEventListener('tap', function() {
if(mui.os.plus) {
var buttons = [{
title: dataInfo.langue.note4
}];
plus.nativeUI.actionSheet({
cancel: dataInfo.langue.cancel,
buttons: buttons
}, function(b) { /*actionSheet 按钮点击事件*/
switch(b.index) {
case 0:
break;
case 1:
galleryImg(); /*打开相册*/
break;
default:
break;
}
})
}
}, false);
/*点击保存,绑定支付宝*/
document.getElementById("submitBtn").addEventListener("tap", function() {
if(dataInfo.accountInfo == '') {
mui.toast(dataInfo.langue.note1);
return;
}
if(dataInfo.url == '') {
mui.toast(dataInfo.langue.note3);
return;
}
if(dataInfo.pass == '') {
mui.toast(dataInfo.langue.note2);
return;
}
//获取非对称加密的公钥
walletApi.getPublicKey(dataInfo.pass, function(data) {
dataInfo.public_pass = data;
plus.nativeUI.showWaiting(dataInfo.langue.note8);
//判断更新还是新增
if(dataInfo.handleType == 'insert') {
insertZFB();
}
if(dataInfo.handleType == 'update') {
updateZFB();
}
});
});
</script>
<script type="text/javascript">
/*function代码块*/
//本地相册选择
function galleryImg() {
plus.gallery.pick(function(path) {
//通过H5+API获取文件
plus.io.resolveLocalFileSystemURL(path,
//获取成功回调函数
function(entry) {
//通过entry对象操作文件
entry.file(function(file) {
//如果文件过大,显示提示信息
if(file.size > 1000000) {
mui.toast(dataInfo.langue.note9);
return;
}
//上传图片
uploadZFBFile(path);
});
},
//获取失败回调
function(e) {
mui.toast(dataInfo.langue.note10 + e.message);
});
});
};
//上传图片
function uploadZFBFile(imgurl) {
plus.nativeUI.showWaiting(dataInfo.langue.note11)
var task = plus.uploader.createUpload(userpayAjax.UPLOAD_ZFB.getUrl, {
method: userpayAjax.UPLOAD_ZFB.getType
},
function(t, status) { //上传完成
plus.nativeUI.closeWaiting();
if(status == 200) {
var path = JSON.parse(t.responseText);
if(path.code == 200) {
dataInfo.url = path.data.toString(); //返回图片处理后的文件名
} else if(path.code == 201 || path.code == 202) { //未登录
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(dataInfo.langue.note13);
}
} else {
mui.toast(dataInfo.langue.note13);
}
}
);
//添加其他参数
var flag = task.addFile(imgurl, {
key: "payFile"
});
//设置请求头
task.setRequestHeader('X-Requested-Token', app.getTokenStorage());
task.start();
}
/*绑定支付宝信息*/
function insertZFB() {
mui.ajax(userpayAjax.INSERT_ZFB.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
codeUrl: dataInfo.url,
accountInfo: dataInfo.accountInfo,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.INSERT_ZFB.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.Binding_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
/*更新支付宝信息*/
function updateZFB() {
mui.ajax(userpayAjax.UPDATE_ZFB.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
codeUrl: dataInfo.url,
accountInfo: dataInfo.accountInfo,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.UPDATE_ZFB.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.modify_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
</script>
</html>

@ -0,0 +1,348 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>绑定微信</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/lct_index.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<!--<div class="mui-input-row">
<label>姓名</label>
<input type="text" placeholder="请输入姓名">
</div>-->
<div class="mui-input-row">
<label>{{langue.Wechat_account}}</label>
<input type="text" :placeholder='langue.note1' v-model="accountInfo">
</div>
<div class="mui-input-row">
<label>{{langue.Password}}</label>
<input type="password" :placeholder='langue.note2' v-model="pass">
</div>
<div class="mui-input-row" id="binding-Wechat">
<label>{{langue.note3}}</label>
<span class="coinkind">
<span style="color: #04b8d3;" v-if='url != ""'>{{langue.success}}</span>
<span class="mui-icon mui-icon-image"></span>
<span class="mui-icon mui-icon-arrowright app-icon"></span>
</span>
</div>
<div class="btn">
<button id="submitBtn" class="app-btn app-btn-darkly">{{langue.save}}</button>
</div>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '绑定微信',
note1: '请输入微信账号',
note2: '请输入交易密码',
note3: '上传收款二维码',
note4: '从手机相册选择',
note5: '请输入支付宝账号!',
note8:'等待中...',
note9:'图片过大,请重新选择!',
note10:'加载图片失败,',
note11:'上传图片中...',
note12: '您的账号在别处登录!',
note13:'网络异常,请刷新重试!',
Binding_success:'绑定成功!',
modify_success:'修改成功!',
Wechat_account: '微信账户',
Password: '交易密码',
cancel: '取消',
success: '上传成功!',
save: '保存',
modify: '修改'
},
zh_HK: {
title: '綁定微信',
note1: '請輸入微信賬號',
note2: '請輸入交易密碼',
note3: '上傳收款二維碼',
note4: '從手機相冊選擇',
note5: '請輸入支付寶賬號!',
note8:'等待中...',
note9:'圖片過大,請重新選擇!',
note10:'加載圖片失敗,',
note11:'上傳圖片中...',
note12:'您的賬號在別處登陸!',
note13:'網絡異常,請刷新重試!',
Binding_success:'綁定成功!',
modify_success:'修改成功!',
Wechat_account: '微信賬戶',
Password: '交易密碼',
cancel: '取消',
success: '上傳成功!',
save: '保存',
modify: '修改'
},
en_US: {
title: 'Bind WeChat',
note1: 'Please enter a WeChat account',
note2: 'Please enter the password',
note3: 'Upload code',
note4: 'Choose from a mobile photo album',
note5: 'Please enter an Alipay account!',
note8:'Waiting...',
note9:'The picture is too large, please re-select!',
note10:'Failed to load image,',
note11:'Upload image...',
note12:'Your account is logged in elsewhere!',
note13:'Network exception, please refresh!',
Binding_success:'Binding success!',
modify_success:'Successfully modified!',
Wechat_account: 'Account',
Password: 'Password',
cancel: 'Cancel',
success: 'Upload success!',
save: 'Save',
modify: 'Modify'
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
/*vue代码块*/
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
accountInfo: '', //账户
url: '', //上传图片后返回路径
pass: '', //密码
public_pass: '', //公钥加密密码
handleType: '',
}
});
</script>
<script type="text/javascript">
/*主体代码块*/
mui.plusReady(function() {
var self = plus.webview.currentWebview();
dataInfo.handleType = self.handleType;
});
</script>
<script type="text/javascript">
document.getElementById('binding-Wechat').addEventListener('tap', function() {
if(mui.os.plus) {
var buttons = [{
title: dataInfo.langue.note4
}];
plus.nativeUI.actionSheet({
cancel: dataInfo.langue.cancel,
buttons: buttons
}, function(b) { /*actionSheet 按钮点击事件*/
switch(b.index) {
case 0:
break;
case 1:
galleryImg(); /*打开相册*/
break;
default:
break;
}
})
}
}, false);
/*点击保存,绑定支付宝*/
document.getElementById("submitBtn").addEventListener("tap", function() {
if(dataInfo.accountInfo == '') {
mui.toast(dataInfo.langue.note5);
return;
}
if(dataInfo.url == '') {
mui.toast(dataInfo.langue.note3);
return;
}
if(dataInfo.pass == '') {
mui.toast(dataInfo.langue.note2);
return;
}
//获取非对称加密的公钥
walletApi.getPublicKey(dataInfo.pass, function(data) {
dataInfo.public_pass = data;
plus.nativeUI.showWaiting(dataInfo.langue.note8);
//判断更新还是新增
if(dataInfo.handleType == 'insert') {
insertWX();
}
if(dataInfo.handleType == 'update') {
updateWX();
}
});
});
</script>
<script type="text/javascript">
/*function代码块*/
//本地相册选择
function galleryImg() {
plus.gallery.pick(function(path) {
//通过H5+API获取文件
plus.io.resolveLocalFileSystemURL(path,
//获取成功回调函数
function(entry) {
//通过entry对象操作文件
entry.file(function(file) {
//如果文件过大,显示提示信息
if(file.size > 1000000) {
mui.toast(dataInfo.langue.note9);
return;
}
//上传图片
uploadWXFile(path);
});
},
//获取失败回调
function(e) {
mui.toast(dataInfo.langue.note10 + e.message);
});
});
};
//上传图片
function uploadWXFile(imgurl) {
plus.nativeUI.showWaiting(dataInfo.langue.note11);
var task = plus.uploader.createUpload(userpayAjax.UPLOAD_WX.getUrl, {
method: userpayAjax.UPLOAD_WX.getType
},
function(t, status) { //上传完成
plus.nativeUI.closeWaiting();
if(status == 200) {
var path = JSON.parse(t.responseText);
if(path.code == 200) {
dataInfo.url = path.data.toString(); //返回图片处理后的文件名
} else if(path.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(path.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(dataInfo.langue.note13);
}
} else {
mui.toast(dataInfo.langue.note13);
}
}
);
//添加其他参数
var flag = task.addFile(imgurl, {
key: "payFile"
});
//设置请求头
task.setRequestHeader('X-Requested-Token', app.getTokenStorage());
task.start();
}
/*绑定微信*/
function insertWX() {
mui.ajax(userpayAjax.INSERT_WX.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
codeUrl: dataInfo.url,
accountInfo: dataInfo.accountInfo,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.INSERT_WX.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.Binding_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
/*更新微信信息*/
function updateWX() {
mui.ajax(userpayAjax.UPDATE_WX.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
codeUrl: dataInfo.url,
accountInfo: dataInfo.accountInfo,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.UPDATE_WX.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.modify_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
</script>
</html>

@ -0,0 +1,294 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>实名绑卡</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/lct_index.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
<script src="../js/base/requestUrl.js"></script>
<script src="../js/base/bankcard.js"></script>
</head>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<div class="mui-input-row">
<label>{{langue.Cardholder_name}}</label>
<input type="text" :placeholder="langue.note1" v-model="bankUserName">
</div>
<!--<div class="mui-input-row">
<label>开户支行</label>
<input type="text" placeholder="请输入开户支行">
</div>-->
<div class="mui-input-row">
<label>{{langue.bank_number}}</label>
<input type="text" :placeholder="langue.note6" id="bankNum" v-model="bankNum" onblur="checkBankType()">
</div>
<div class="mui-input-row" id="binding-bank">
<label>{{langue.Bank_account}}</label>
<!--<span class="coinkind">
中国农业银行
<span class="mui-icon mui-icon-arrowright app-icon"></span>
</span>-->
<input type="text" :placeholder="langue.note7" style="color: #333333;" id="bankname" v-model="bankType">
</div>
<div class="mui-input-row">
<label>{{langue.Password}}</label>
<input type="password" :placeholder="langue.note2" v-model="pass">
</div>
<div class="btn">
<button id="submitBtn" class="app-btn app-btn-darkly">{{langue.save}}</button>
</div>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '实名绑卡',
note1: '请输入持卡人姓名',
note2: '请输入交易密码',
note3: '上传收款二维码',
note4: '从手机相册选择',
note5: '请输入支付宝账号!',
note6: '请输入银行卡号',
note7: '请输入开户银行',
note8: '等待中...',
note9: '图片过大,请重新选择!',
note10: '加载图片失败,',
note11: '上传图片中...',
note12: '您的账号在别处登录!',
note13: '网络异常,请刷新重试!',
Binding_success: '绑定成功!',
modify_success: '修改成功!',
Cardholder_name: '持卡人姓名',
bank_number: '银行卡号',
Bank_account:'开户银行',
Password: '交易密码',
cancel: '取消',
success: '上传成功!',
save: '保存',
modify: '修改'
},
zh_HK: {
title: '實名綁卡',
note1: '請輸入持卡人姓名',
note2: '請輸入交易密碼',
note3: '上傳收款二維碼',
note4: '從手機相冊選擇',
note5: '請輸入支付寶賬號!',
note6: '請輸入銀行卡號',
note7: '請輸入開戶銀行',
note8: '等待中...',
note9: '圖片過大,請重新選擇!',
note10: '加載圖片失敗,',
note11: '上傳圖片中...',
note12: '您的賬號在別處登陸!',
note13: '網絡異常,請刷新重試!',
Binding_success: '綁定成功!',
modify_success: '修改成功!',
Cardholder_name: '持卡人姓名',
Bank_account:'開戶銀行',
bank_number: '銀行卡號',
Password: '交易密碼',
cancel: '取消',
success: '上傳成功!',
save: '保存',
modify: '修改'
},
en_US: {
title: 'Bankcard binding',
note1: 'Please enter the cardholder name',
note2: 'Please enter the password',
note3: 'Upload receipt QR code',
note4: 'Choose from a mobile photo album',
note5: 'Please enter an Alipay account!',
note6: 'Please enter the bank card number',
note7: 'Please enter the bank of deposit',
note8: 'Waiting...',
note9: 'The picture is too large, please re-select!',
note10: 'Failed to load image,',
note11: 'Upload image...',
note12: 'Your account is logged in elsewhere!',
note13: 'Network exception, please refresh!',
Binding_success: 'Binding success!',
modify_success: 'Successfully modified!',
Cardholder_name: 'Cardholder',
bank_number: 'Bank number',
Bank_account:'Bank account',
Password: 'Password',
cancel: 'Cancel',
success: 'Upload success!',
save: 'Save',
modify: 'Modify'
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
bankUserName: '',
bankNum: '',
bankType: '',
pass: '',
public_pass: '',
handleType: '',
}
})
</script>
<script type="text/javascript">
/*主体代码块*/
mui.plusReady(function() {
var self = plus.webview.currentWebview();
dataInfo.handleType = self.handleType;
});
</script>
<script type="text/javascript">
/*事件代码块*/
document.getElementById("submitBtn").addEventListener("tap", function() {
if(dataInfo.bankUserName == '') {
mui.toast(dataInfo.langue.note1);
return;
}
if(dataInfo.bankNum == '') {
mui.toast(dataInfo.langue.note6);
return;
}
if(dataInfo.bankType == '') {
mui.toast(dataInfo.langue.note7);
return;
}
if(dataInfo.pass == '') {
mui.toast(dataInfo.langue.note2);
return;
}
//获取非对称加密的公钥
walletApi.getPublicKey(dataInfo.pass, function(data) {
plus.nativeUI.showWaiting(dataInfo.langue.note8);
dataInfo.public_pass = data;
//判断是更新还是新建
if(dataInfo.handleType == 'insert') {
insertBank();
}
if(dataInfo.handleType == 'update') {
updateBank();
}
});
});
</script>
<script type="text/javascript">
/*function代码块*/
/*根据输入的银行卡号识别银行*/
function checkBankType() {
dataInfo.bankType = bankCardAttribution(dataInfo.bankNum).bankName;
}
/*绑定银行卡*/
function insertBank() {
mui.ajax(userpayAjax.INSERT_BANK.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
bankNumber: dataInfo.bankNum,
bankUserName: dataInfo.bankUserName,
bankType: dataInfo.bankType,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.INSERT_BANK.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.Binding_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
/*更新银行卡*/
function updateBank() {
mui.ajax(userpayAjax.UPDATE_BANK.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
bankNumber: dataInfo.bankNum,
bankUserName: dataInfo.bankUserName,
bankType: dataInfo.bankType,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: userpayAjax.UPDATE_BANK.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == "200") {
mui.toast(dataInfo.langue.modify_success);
var opoenr = plus.webview.currentWebview().opener();
mui.fire(opoenr, 'reloadPayInfo');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note12);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
</script>
</html>

@ -0,0 +1,381 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>交易方式</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/binding_total.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<style>
.mui-table-view .mui-table-view-cell span {
padding: .1rem 0;
}
.mui-table-view .mui-table-view-cell span img {
width: .26rem;
height: .3rem;
vertical-align: text-bottom;
margin-left: .1rem;
}
.code {
width: 4rem;
height: 4rem;
display: none;
position: fixed;
top: 50%;
left: 50%;
margin-left: -2rem;
margin-top: -2rem;
text-align: center;
z-index: 111;
background: #FFFFFF;
padding: .1rem;
box-sizing: border-box;
overflow: hidden;
}
.code img {
height: 3.8rem;
display: inline-block;
max-width: 100%;
}
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.2);
z-index: 100;
display: none;
}
</style>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<h3>{{langue.note3}}</h3>
<p>{{langue.note1}}</p>
<ul class="mui-table-view">
<li class="mui-table-view-cell bg-active" v-show="bank_info.bankNumber != ''">
<label>{{langue.activated}}</label>
<span>{{langue.card_number}}:{{bank_info.bankNumber}}</span>
<span>{{langue.cardholder}}:{{bank_info.bankUserName}}</span>
<span>{{langue.Bank_account}}:{{bank_info.bankType}}<label id='updateBank'>{{langue.modify}}</label></span>
</li>
<li class="mui-table-view-cell bg-active" v-show="zfb_info.accountInfo != ''">
<label>{{langue.activated}}</label>
<span>{{langue.Alipay_account}}</span>
<span>{{langue.account}}:{{zfb_info.accountInfo}}</span>
<span>{{langue.code}}:<img id='zfb-img' src="../img/code.png"/><label id='updateAlipay'>{{langue.modify}}</label></span>
</li>
<li class="mui-table-view-cell bg-active" v-show="wx_info.accountInfo != ''">
<label>{{langue.activated}}</label>
<span>{{langue.Wechat_account}}</span>
<span>{{langue.account}}:{{wx_info.accountInfo}}</span>
<span>{{langue.code}}:<img id='wx-img' src="../img/code.png"/><label id='updateWechat'>{{langue.modify}}</label></span>
</li>
<li class="mui-table-view-cell" id='bank' v-show="bank_info.bankNumber == ''">
<label>{{langue.inactivated}}</label>
<span>{{langue.card_number}}</span>
<span>Binding Bank Account</span>
</li>
<li class="mui-table-view-cell " id="Alipay" v-show="zfb_info.accountInfo == ''">
<label>{{langue.inactivated}}</label>
<span>{{langue.Alipay_account}}</span>
<span>Binding Alipay Account</span>
</li>
<li class="mui-table-view-cell" id="wechat" v-show="wx_info.accountInfo == ''">
<label>{{langue.inactivated}}</label>
<span>{{langue.Wechat_account}}</span>
<span>Binding Wechat Account</span>
</li>
</ul>
<!--支付宝图片-->
<div class="code" id="code" v-show="zfb_img_status" style="display: block;">
<img :src="base_img_url + zfb_info.collectionCodeUrl" />
</div>
<!--微信图片-->
<div class="code" id="code" v-show="xw_img_status" style="display: block;">
<img :src="base_img_url + wx_info.collectionCodeUrl" />
</div>
<!--灰色背景图蒙版-->
<div id="bg" class="bg" v-show='bgStatus' style="display: block;"></div>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '交易方式',
note1: '注:至少激活一种交易方式,您激活的方式我们将展现给买家',
activated: '已激活',
card_number: '卡号',
cardholder: "持卡人",
Bank_account: "开户银行",
Alipay_account: "支付宝账户",
Wechat_account: '微信账户',
account: '账户',
code: '二维码',
inactivated: '未激活',
modify: '修改',
note2: '您的账号在别处登录!',
note3:'请激活交易方式'
},
zh_HK: {
title: '交易方式',
note1: '注:至少激活一種交易方式,您激活的方式我們將展現給買家',
activated: '已激活',
card_number: '卡號',
cardholder: "持卡人",
Bank_account: "開戶銀行",
Alipay_account: "支付寶賬戶",
Wechat_account: '微信賬戶',
account: '賬戶',
code: '二維碼',
inactivated: '未激活',
modify: '修改',
note2: '您的賬號在別處登陸!',
note3:'請激活交易方式'
},
en_US: {
title: 'Transaction',
note1: 'Note: At least one transaction method is activated, and the way you activate will be shown to the buyer.',
activated: 'Activated',
card_number: 'Card number',
cardholder: "Cardholder",
Bank_account: "Bank account",
Alipay_account: "Alipay account",
Wechat_account: 'Wechat account',
account: 'Account',
code: 'Code',
inactivated: 'Inactivated',
modify: 'Modify',
note2: 'Your account is logged in elsewhere!',
note3:'Please activate the transaction method'
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
/*vue代码块*/
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
wx_info: { //微信支付信息
accountInfo: '', //账户
collectionCodeUrl: '', //收款图片
},
zfb_info: { //支付宝支付信息
accountInfo: '', //账户
collectionCodeUrl: '', //收款图片
},
bank_info: { //银行卡支付信息
bankNumber: '',
bankUserName: '',
bankType: '',
},
zfb_img_status: false, //支付宝图片显示
xw_img_status: false, //微信图片显示
bgStatus: false, //蒙版是否显示
base_img_url: app.walletFileUrl, //服务器访问图片路径前缀
}
})
</script>
<script type="text/javascript">
/*主体代码块*/
mui.plusReady(function() {
selectWX();
selectZFB();
selectBANK();
});
</script>
<script type="text/javascript">
/*事件代码块*/
//支付宝账户绑定监听
document.getElementById("Alipay").addEventListener("tap", function() {
app.openWin("binding_Alipay.html", "binding_Alipay.html", {}, {
handleType: 'insert'
});
});
//微信绑定监听
document.getElementById("wechat").addEventListener("tap", function() {
app.openWin("binding_Wechat.html", "binding_Wechat.html", {}, {
handleType: 'insert'
});
});
//银行卡绑定监听
document.getElementById("bank").addEventListener("tap", function() {
app.openWin("binding_card.html", "binding_card.html", {}, {
handleType: 'insert'
});
});
//更新支付宝账户绑定监听
document.getElementById("updateAlipay").addEventListener("tap", function() {
app.openWin("binding_Alipay.html", "binding_Alipay.html", {}, {
handleType: 'update'
});
});
//更新微信绑定监听
document.getElementById("updateWechat").addEventListener("tap", function() {
app.openWin("binding_Wechat.html", "binding_Wechat.html", {}, {
handleType: 'update'
});
});
//更新银行卡绑定监听
document.getElementById("updateBank").addEventListener("tap", function() {
app.openWin("binding_card.html", "binding_card.html", {}, {
handleType: 'update'
});
});
//点击微信二维码
document.getElementById("wx-img").addEventListener("tap", function() {
dataInfo.xw_img_status = true;
dataInfo.bgStatus = true;
});
//点击支付宝二维码
document.getElementById("zfb-img").addEventListener("tap", function() {
dataInfo.zfb_img_status = true;
dataInfo.bgStatus = true;
});
//点击蒙版
document.getElementById("bg").addEventListener("tap", function() {
dataInfo.xw_img_status = false;
dataInfo.zfb_img_status = false;
dataInfo.bgStatus = false;
});
//刷新页面事件
window.addEventListener("reloadPayInfo", function() {
selectWX();
selectZFB();
selectBANK();
});
</script>
<script type="text/javascript">
/*function代码块*/
//查询微信支付信息
function selectWX() {
mui.ajax(userpayAjax.SELECT_BY_PAY_TYPE.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
payType: 'WX',
},
dataType: 'json',
type: userpayAjax.SELECT_BY_PAY_TYPE.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == "200") {
if(data.data == null) {
return;
}
dataInfo.wx_info = data.data;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note2);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
} //查询微信支付信息
function selectZFB() {
mui.ajax(userpayAjax.SELECT_BY_PAY_TYPE.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
payType: 'ZFB',
},
dataType: 'json',
type: userpayAjax.SELECT_BY_PAY_TYPE.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == "200") {
if(data.data == null) {
return;
}
dataInfo.zfb_info = data.data;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note2);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//查询微信支付信息
function selectBANK() {
mui.ajax(userpayAjax.SELECT_BY_PAY_TYPE.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage() // token头部
},
data: {
payType: 'BANK',
},
dataType: 'json',
type: userpayAjax.SELECT_BY_PAY_TYPE.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == "200") {
if(data.data == null) {
return;
}
dataInfo.bank_info = data.data;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.note2);
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
</script>
</html>

@ -0,0 +1,117 @@
.chatWindow {
width: 100%; }
.chatWindow .contWindow {
width: 100%;
background-color: #F2EFF9;
overflow-y: scroll;
position: fixed;
padding-bottom: 88px; }
.chatWindow .contWindow .chatItem {
overflow: hidden;
margin-top: 0.6rem;
margin-bottom: 0.43rem; }
.chatWindow .contWindow .chatItem .timeText {
font-size: 0.2rem;
color: #999;
text-align: center; }
.chatWindow .contWindow .chatItem .waitPay {
width: 4.2rem;
font-size: 0.24rem;
text-align: center;
margin: 0.2rem auto 0;
color: #fff;
background-color: rgba(108, 139, 214, 0.5);
padding: 0.2rem 0.2rem;
border-radius: 0.1rem;
word-wrap: break-word; }
.chatWindow .contWindow .chatItem .chatService {
display: flex;
align-items: center;
position: relative; }
.chatWindow .contWindow .chatItem .chatService .avatar {
width: 0.64rem;
height: 0.64rem;
border-radius: 0.64rem;
background-color: #fff;
margin-left: 0.3rem;
margin-right: 0.19rem;
overflow: hidden; }
.chatWindow .contWindow .chatItem .chatService .avatar img {
width: 100%; }
.chatWindow .contWindow .chatItem .chatService .nickName {
font-size: 0.25rem;
color: #333; }
.chatWindow .contWindow .chatItem .chatService .timeText {
position: absolute; }
.chatWindow .contWindow .chatItem .customer {
justify-content: flex-end; }
.chatWindow .contWindow .chatItem .customer .avatar {
order: 2;
margin-right: 0.3rem;
margin-left: 0.19rem; }
.chatWindow .contWindow .chatItem .customer .nickName {
order: 1; }
.chatWindow .contWindow .chatItem .chatServiceNews {
max-width: 4.80rem;
padding: 0.24rem 0.38rem;
background-color: #fff;
font-size: 0.24rem;
color: #333;
border-radius: 0 0.3rem 0.3rem 0.3rem;
margin: 0.1rem auto 0;
text-align: justify;
word-wrap: break-word;
word-break: normal;
line-height: 0.3rem; }
.chatWindow .contWindow .chatItem .chatServiceNews img {
width: 50%; }
.chatWindow .contWindow .customerItem .chatServiceNews {
border-radius: 0.3rem 0 0.3rem 0.3rem; }
.chatWindow .handleBox {
width: 100%;
height: 0.98rem;
background-color: #FFFFFF;
display: flex;
position: fixed;
bottom: 0; }
.chatWindow .handleBox .handleAdd {
width: 13%;
border-right: 1px solid #dddddd;
font-size: 30px;
color: #6C8BD6;
position: relative; }
.chatWindow .handleBox .handleAdd .fileInput {
width: 100%;
height: 100%;
opacity: 0;
position: absolute; }
.chatWindow .handleBox .handleInput {
width: 70%; }
.chatWindow .handleBox .handleInput input {
width: 85%;
border: none;
font-size: 0.24rem;
color: #BBBBBB;
margin-bottom: 0; }
.chatWindow .handleBox .handleInput input::-webkit-input-placeholder {
font-size: 0.24rem;
color: #BBBBBB; }
.chatWindow .handleBox .handleSend {
width: 16.8%;
background-color: #6C8BD6;
line-height: 0.98rem;
text-align: center;
font-size: 0.24rem;
color: #fff; }
.f_vertical {
display: flex;
justify-content: center;
align-items: center; }
.p_vertical {
left: 50%;
top: 50%;
transform: translate(-50%, -50%); }
/*# sourceMappingURL=buyer.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "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",
"sources": ["buyer.scss"],
"names": [],
"file": "buyer.css"
}

@ -0,0 +1,150 @@
//body {
// background-color: #F1F1F1;
// line-height: 1;
//}
.chatWindow {
width: 100%;
// position: fixed;
// height: 91%;
// overflow-y: scroll;
.contWindow {
width: 100%;
background-color: #F2EFF9;
overflow-y: scroll;
position: fixed;
padding-bottom: 88px;
.chatItem {
overflow: hidden;
margin-top: 0.6rem;
margin-bottom: 0.43rem;
.timeText {
font-size: 0.2rem;
color: #999;
text-align: center;
}
.waitPay {
width: 4.2rem;
font-size: 0.24rem;
text-align: center;
margin: 0.2rem auto 0;
color: #fff;
background-color: rgba(108, 139, 214, 0.5);
padding: 0.2rem 0.2rem;
border-radius: 0.1rem;
word-wrap: break-word;
}
.chatService {
display: flex;
align-items: center;
position: relative;
.avatar {
width: 0.64rem;
height: 0.64rem;
border-radius: 0.64rem;
background-color: #fff;
margin-left: 0.3rem;
margin-right: 0.19rem;
overflow: hidden;
img {
width: 100%;
}
}
.nickName {
font-size: 0.25rem;
color: #333;
}
.timeText {
position: absolute;
}
}
.customer {
justify-content: flex-end;
.avatar {
order: 2;
margin-right: 0.3rem;
margin-left: 0.19rem;
}
.nickName {
order: 1;
}
}
.chatServiceNews {
max-width: 4.80rem;
padding: 0.24rem 0.38rem;
background-color: #fff;
font-size: 0.24rem;
color: #333;
border-radius: 0 0.3rem 0.3rem 0.3rem;
margin: 0.1rem auto 0;
text-align: justify;
word-wrap: break-word;
word-break: normal;
line-height: 0.3rem;
img {
width: 50%;
}
}
}
.customerItem {
.chatServiceNews {
border-radius: 0.3rem 0 0.3rem 0.3rem;
}
}
}
.handleBox {
width: 100%;
height: 0.98rem;
background-color: #FFFFFF;
display: flex;
position: fixed;
bottom: 0;
.handleAdd {
width: 13%;
border-right: 1px solid rgba(221, 221, 221, 1);
font-size: 30px;
color: #6C8BD6;
position: relative;
.fileInput {
width: 100%;
height: 100%;
opacity: 0;
position: absolute;
}
}
.handleInput {
width: 70%;
input {
width: 85%;
border: none;
font-size: 0.24rem;
color: #BBBBBB;
margin-bottom: 0;
}
input::-webkit-input-placeholder {
font-size: 0.24rem;
color: #BBBBBB;
}
}
.handleSend {
width: 16.8%;
background-color: #6C8BD6;
line-height: 0.98rem;
text-align: center;
font-size: 0.24rem;
color: #fff;
}
}
}
.f_vertical {
display: flex;
justify-content: center;
align-items: center;
}
.p_vertical {
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}

@ -0,0 +1,33 @@
// 请求主体部分
function muiAjax(host,url,data,method,fun){
mui.ajax(host + url, {
headers: {
"X-Requested-Token": localStorage.getItem("user_token")
},
type: method, //HTTP请求类型
// async: false,
data: data,
dataType: 'json', //服务器返回json格式数据
timeout: 10000, //超时时间设置为10秒;
success: function(data) {
if(data.code ===200) {
fun(data.data);
}else if ( data.code === 201){
mui.toast(main.langues.mustLogin);
}else{
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
mui.toast(main.langues.netError);
}
})
}
// 极光聊天
function ajaxJm(url,data,method,fun){
muiAjax(app.Host_jm,url,data,method,fun)
}

@ -0,0 +1,406 @@
var JIM = new JMessage();
var main_langue = {
zh_CN: {
sell: '出售',
seller: '卖家',
buy: '购买',
buyer: '买家',
obligation: '待付款',
paid: '已付款',
waitBuyerPay: '等待买家付款',
buyerPaid: '买家已付款',
finish: '已完成',
cancel: '已取消',
appeal: '申诉中',
weixin: '微信',
zhifubao: '支付宝',
bank: '银行卡',
turnover: '订单金额',
price: '单价',
amount: '数量',
orderNumber: '流水号',
createTime: '创建时间',
appealContent: '申诉结果',
appealContentNull: '无',
adRemark: '广告备注',
adRemarkNull: '无',
payBtn: '去支付',
appealBtn: '申诉',
receiptBtn: '确认收款',
receiptContent1: '请确认已收到买家付款',
receiptContent2: '点击“确认收款”放币给买家',
pass: '密码',
passPlaceholder: '请输入密码',
affirm: '确认',
cancelBtn: '取消订单',
cancelContent: '如您已向卖家付款,取消订单您将会损失付款资金!',
cancelTitie: '取消',
affirmCancel: '确认取消',
close: '关闭',
totalMoney: '交易总额',
note1: '请输入您的信息',
send: '发送',
passOverTime: '密码存储时间已过期,请重新输入',
inportPass: '请输入密码!',
logInElse: '您的账号在别处登录!',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '网络异常,请刷新重试!',
note1: '发送的消息不能为空',
note2: '请输入消息',
note3:'图片内部格式错误',
note4:'图片大小不能超过8M',
note5:'发送图片失败',
mustLogin:'请先登录!',
},
zh_HK: {
sell: '出售',
seller: '賣家',
buy: '購買',
buyer: '買家',
obligation: '待付款',
paid: '已付款',
waitBuyerPay: '等待買家付款',
buyerPaid: '買家已付款',
finish: '已完成',
cancel: '已取消',
appeal: '申訴中',
weixin: '微信',
zhifubao: '支付寶',
bank: '銀行卡',
turnover: '訂單金額',
price: '單價',
amount: '數量',
orderNumber: '流水號',
createTime: '創建時間',
appealContent: '申訴結果',
appealContentNull: '無',
adRemark: '廣告備註',
adRemarkNull: '無',
payBtn: '去支付',
appealBtn: '申訴',
receiptBtn: '確認收款',
receiptContent1: '請確認已收到買家付款',
receiptContent2: '點擊“確認收款”放幣給買家',
pass: '密碼',
passPlaceholder: '請輸入密碼',
affirm: '確認',
cancelBtn: '取消訂單',
cancelContent: '如您已向賣家付款,取消訂單您將會損失付款資金!',
cancelTitie: '取消',
affirmCancel: '確認取消',
close: '關閉',
totalMoney: '交易總額',
note1: '請輸入您的資訊',
send: '發送',
passOverTime: '密碼存儲時間已過期,請重新輸入',
inportPass: '請輸入密碼!',
logInElse: '您的帳號在別處登錄!',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '網路異常,請刷新重試!',
note1: '發送的消息不能爲空',
note2: '請輸入消息',
note3:'圖片内部格式錯誤',
note4:'圖片大小不能超過8M',
note5:'發送圖片失敗',
mustLogin:'請先登陸!',
},
en_US: {
sell: 'Sell ',
seller: 'Seller',
buy: 'Buy ',
buyer: 'Buyer',
obligation: 'Pending payment',
paid: 'Paid',
waitBuyerPay: 'Waiting for buyers payment',
buyerPaid: 'The buyer has paid',
finish: 'completed',
cancel: 'Cancelled',
appeal: 'Appeal',
weixin: 'WeChat',
zhifubao: 'Alipay',
bank: 'Bank card',
turnover: 'turnover',
price: 'price',
amount: 'amount',
orderNumber: 'number',
createTime: 'Create time',
appealContent: 'Appeal results',
appealContentNull: 'no',
adRemark: 'Advertising notes',
adRemarkNull: 'no',
payBtn: 'Go to pay',
appealBtn: 'appeal',
receiptBtn: 'confirm',
receiptContent1: 'Please confirm that you have received payment from the buyer',
receiptContent2: 'Click Confirm receipts to release coins to buyers',
pass: 'password',
passPlaceholder: 'Please enter your password',
affirm: 'confirm',
cancelBtn: 'cancel order',
cancelContent: 'If you have already paid the seller, you will lose your payment if you cancel the order!',
cancelTitie: 'cancel',
affirmCancel: 'confirm cancel',
close: 'shut down',
totalMoney: 'Total amount',
note1: 'Please enter your information',
send: 'send',
passOverTime: 'The password storage time has expired, please re-enter',
inportPass: 'Please enter your password!',
logInElse: 'Your account is logged in elsewhere!',
waiting: 'Waiting...',
handleSuccess: 'Successful operation!',
netError: 'Network exception, please refresh and try again!',
note1: 'The message sent cannot be empty',
note2: 'Please enter a message',
note3:'Image internal format error',
note4:'Image size cannot exceed 8M',
note5:'Sending a picture failed',
mustLogin:'Must login',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langues = main_langue[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
main.langues = main_langue[e.detail];
});
var main = new Vue({
el: "#main",
data: {
langues: langues,
records: [],
inputMsg: '',
//发送消息的input值
msgBody: {
msgType: '',
text: '',
mediaId: ''
},
initImgUrl: [],
chatImgUrl: '',
// 聊天窗口的图片
nick_name: '',
//这个昵称只有在发送消息后,自己这边显示有用
target_user_nickname: '',
//机关消息接收方的昵称
target_username: '',
//机关消息接收方的用户名
t_userId: '',
//当前消息接收方用户ID
f_userId: '',
//当前消息发送方Id
base_file_url: app.walletFileUrl,
//基础路
popover_Status: false //聊天框顯示狀態
},
mounted: function mounted() {
var that = this;
},
computed: {
contHeight: function contHeight() {
return '70%';
},
orderCancel: function orderCancel() {
return dataInfo.orderCancel;
},
orderFinish: function orderFinish() {
return dataInfo.orderFinish;
},
orderAppeal: function orderAppeal() {
return dataInfo.orderAppeal;
},
orderNew: function orderNew() {
return dataInfo.orderNew;
},
roleBuy: function roleBuy() {
return dataInfo.roleBuy;
},
roleSell: function roleSell() {
return dataInfo.roleSell;
},
orderUnderway: function orderUnderway() {
return dataInfo.orderUnderway;
},
order: function order() {
return dataInfo.order;
},
count_down: function count_down() {
return dataInfo.count_down;
},
//聊天框买卖家的顶部头像信息
img_choice: function img_choice() {
if(dataInfo.order.role == 'BUY') {
if(!dataInfo.order.sellAvatar) {
return '../../../mine/img/touxiang_mr.png';
} else {
return this.base_file_url + dataInfo.order.sellAvatar;
}
} else {
if(!dataInfo.order.buyAvatar) {
return '../../../mine/img/touxiang_mr.png';
} else {
return this.base_file_url + dataInfo.order.buyAvatar;
}
}
},
//聊天框买卖家的顶部昵称信息
nickname_choice: function nickname_choice() {
if(dataInfo.order.role == 'BUY') {
return dataInfo.order.sellNickName;
} else {
return dataInfo.order.buyNickName;
}
}
},
methods: {
//聊天框买卖家的头像信息
img_buysell: function img_buysell(avatar) {
if(!avatar) {
return '../../../mine/img/touxiang_mr.png';
} else {
return this.base_file_url + avatar;
}
},
// 关闭聊天窗口
cancelChat: function cancelChat() {
this.popover_Status = false;
dataInfo.bgStatus = false;
},
//滚动到底
scrollToBottom: function scrollToBottom() {
var _this = this;
setTimeout(function() {
//滚动条长度
var currentDistance = _this.$refs.xwBody.scrollHeight - _this.$refs.xwBody.clientHeight;
//当前滚动条距离顶部的距离
var currentScroll_y = _this.$refs.xwBody.scrollTop;
if(currentDistance > 0 && currentDistance > currentScroll_y) {
currentScroll_y = Math.ceil((currentDistance - currentScroll_y) / 10) + currentScroll_y;
currentScroll_y = currentScroll_y > currentDistance ? currentDistance : currentScroll_y;
//微信和qq浏览器不支持 scrollTo?
//this.$refs.xwBody.scrollTo(0,currentScroll_y);
_this.$refs.xwBody.scrollTop = currentScroll_y;
_this.scrollToBottom();
}
}, 13);
},
// 聚焦输入框
onFocusText: function onFocusText() {
this.scrollToBottom();
},
//发送消息
sendMsg: function sendMsg() {
var that = this;
// 输入框的内容
var message = this.inputMsg.trim();
if(message != '') {
var msgBody = getMsgBody("text", message, "");
that.pushMsg("text", msgBody);
console.log("消息" + JSON.stringify(msgBody)); // 调用JMsend的发送消息
sendSingleMsg(that.target_username, message, function(data) {
that.msgBody.msgType = 'text';
that.msgBody.text = message; //保存用户的消息记录
saveMessageLog(dataInfo.order.id, that.t_userId, that.f_userId, 'text', 0, JSON.stringify(that.msgBody));
});
this.scrollToBottom();
this.inputMsg = '';
} else {
mui.toast(main.langues.note1);
}
},
// 把消息push到records这个对象
pushMsg: function pushMsg(msgType, msgBody) {
var oneMsg = getMsg(msgType, msgBody, this.t_userId, this.f_userId, this.target_user_nickname);
oneMsg.fromUser.avatar = app.getUserLocalStorage().avatar;
console.log("hello" + JSON.stringify(oneMsg));
this.records.push(oneMsg);
},
// 发送聊天图片
sendChatPic: function sendChatPic(e) {
var that = this;
var e = window.event || event;
// 获取当前选中的文件
var oFile = e.target.files[0];
console.log(JSON.stringify(oFile));
var fd = new FormData();
fd.append('file', oFile);
console.log(JSON.stringify(fd));
sendSinglePic(that.target_username, fd, function(data, res) {
var msgBody = getMsgBody("image", "", res.content.msg_body.media_id);
getResource(res.content.msg_body.media_id, function(url) {
var oneMsg = getMsg("image", msgBody, that.t_userId, that.f_userId, that.target_user_nickname);
oneMsg.fromUser.avatar = app.getUserLocalStorage().avatar;
oneMsg.imgUtl = url;
main.records.push(oneMsg);
that.scrollToBottom();
});
// 保存消息的参数
that.msgBody.msgType = 'image';
that.msgBody.mediaId = res.content.msg_body.media_id;
//保存用户的消息记录
saveMessageLog(dataInfo.order.id, that.t_userId, that.f_userId, 'image', 0, JSON.stringify(that.msgBody));
});
}
}
}); // 获取用户的用户名,密码
function getBuySellInfo(userId, fun) {
ajaxJm('jgim/getJGAccount', {
userId: userId
}, 'get', function(res) {
fun(res);
console.log("获取用户的用户名,密码" + JSON.stringify(res));
});
} // 实时监听聊天信息
JIM.onMsgReceive(function(data) {
console.log("2222" + data.messages[0].content.msg_type);
if(data.messages[0].content.msg_type == "text") {
var msgBody = getMsgBody("text", data.messages[0].content.msg_body.text, null); //接受消息时,nickName应该是对面的
var onwMsg = getMsg("text", msgBody, main.f_userId, main.t_userId, main.target_user_nickname);
console.log("订单消息"+ JSON.stringify(onwMsg));
if(data.messages[0].content.from_name == "nodeCue") {
onwMsg.nodeCue = 1;
}
if(main.f_userId != data.messages[0].content.from_id) {
if(dataInfo.order.role == 'BUY') {
onwMsg.fromUser.avatar = dataInfo.order.sellAvatar;
} else {
onwMsg.fromUser.avatar = dataInfo.order.buyAvatar;
}
main.records.push(onwMsg);
}
main.scrollToBottom();
} else {
var msgBody = getMsgBody("image", "", data.messages[0].content.msg_body.media_id);
var onwMsg = getMsg("image", msgBody, main.f_userId, main.t_userId, main.target_user_nickname);
getResource(data.messages[0].content.msg_body.media_id, function(url) {
console.log("00000" + url);
onwMsg.imgUtl = url;
if(dataInfo.order.role == 'BUY') {
onwMsg.fromUser.avatar = dataInfo.order.sellAvatar;
} else {
onwMsg.fromUser.avatar = dataInfo.order.buyAvatar;
}
main.records.push(onwMsg);
});
}
});

@ -0,0 +1,158 @@
// 极光初始化
function init(appkey, random_str, signature, timestamp, fun) {
//极光初始化
JIM.init({
"appkey": appkey,
"random_str": random_str,
"signature": signature,
"timestamp": timestamp,
"flag": 0
}).onSuccess(function(data) {
console.log("极光初始化成功>>>" + JSON.stringify(data))
fun()
}).onFail(function(data) {
// console.log("极光初始化失败>>>", data)
})
}
//极光登录
function signIn(username, password) {
JIM.login({
'username': username,
'password': password
}).onSuccess(function(data) {
console.log("极光登录成功>>>" + JSON.stringify(data));
// 获取买家的消息记录
ajaxJm('jgim/getUserMessages', {
dataId: dataInfo.order.id,
userId: main.f_userId,
order: '',
page: '',
size: ''
}, 'get', function(res) {
console.log("獲取>>>" + JSON.stringify(res));
main.records = [];
for(var i = 0; i < res.length; i++) {
var obj = res[i];
obj.imgUrl = '';
main.records[i] = obj;
(function(obj, index) {
if(obj.msgType === 'image') {
getResource(obj.messageDTO.mediaId, function(imgUrl) {
obj.imgUtl = imgUrl;
main.records[index] = JSON.parse(JSON.stringify(obj));
main.$forceUpdate();
})
}
})(obj, i)
}
mui.previewImage();
main.scrollToBottom();
})
}).onFail(function(data) {
console.log("极光登录失败>>>"+JSON.stringify(data))
})
}
// 极光发送文本消息
function sendSingleMsg(target_username, message, fun) {
JIM.sendSingleMsg({
'target_username': target_username,
'content': message
}).onSuccess(function(data) {
fun(data);
}).onFail(function(data) {
console.log("发送消息失败:", data)
})
}
// 极光发送图片
function sendSinglePic(target_username, image, fun) {
plus.nativeUI.showWaiting(main.langues.waiting);
JIM.sendSinglePic({
'target_username': target_username,
'image': image
}).onSuccess(function(data, res) {
plus.nativeUI.closeWaiting();
fun(data, res)
}).onFail(function(data) {
plus.nativeUI.closeWaiting();
if(data.error.code === 898000){
mui.toast(main.langues.note3);
}else if(data.error.code === 880210){
mui.toast(main.langues.note4);
}else{
console.log("极光发送图片失败:"+ JSON.stringify(data))
mui.toast(main.langues.note5);
}
})
}
//保存用户的消息记录
function saveMessageLog(dataId, targetUserId, fromUserId, msgType, nodeCue, msgBody) {
console.log("111111111111111")
ajaxJm('jgim/saveMessageLog', {
dataId: dataId,
targetUserId: targetUserId,
fromUserId: fromUserId,
msgType: msgType,
nodeCue: nodeCue,
msgBody: msgBody
}, 'post', function(res) {
console.log("保存用户信息成功:" + JSON.stringify(res));
})
}
//获取极光资源路径
function getResource(mediaId, fun) {
ajaxJm('jgim/getResource', {
mediaId: mediaId
}, "get", function(res) {
console.log("返回图片路径成功:" + res.url);
fun(res.url)
})
}
// 本地的messageDTO
function getMsgBody(msg_type, text, mediaId) {
return {
"duration": 0,
"extras": "string",
"fname": "string",
"format": "string",
"fsize": 0,
"height": 0,
"id": 0,
"mediaCrc32": "string",
"mediaId": mediaId,
"msgType": msg_type,
"text": text,
"width": 0
}
}
// 消息主体
function getMsg(msg_type, msgBody, tid, fid, nickName) {
return {
"dataId": dataInfo.order.id,
"fromId": fid,
"fromUser": {
"avatar": "",
"id": "string",
"mobilePhone": "string",
"nickName": nickName,
},
"gmtCreate": new Date().toLocaleTimeString(),
"gmtModified": "string",
"id": 0,
"messageDTO": msgBody,
"msgId": 0,
"msgType": msg_type,
"nodeCue": 0,
"ptype": "string",
"status": "string",
"targetId": tid
}
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,418 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>付款页面</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/payment.css" rel="stylesheet" />
<!--聊天窗口样式css-->
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/appeal_ajax.js"></script>
<script src="../js/ajax/order_ajax.js"></script>
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../js/ajax/ad_ajax.js"></script>
<script src="../js/ajax/config_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
</head>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav" id="header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
</header>
<div class="mui-content">
<div class="had-top-info">
<span class="money">{{order.turnover}} {{order.unitName}}</span>
<!--<span class="anti-money">贰万元整</span>-->
<div class="pay-time">
<a class=" mui-icon-right-nav"><img src="../img/countdown.png" /><label>{{langue.obligation}}</label></a>
<em class="countdown">{{count_down}}</em>
</div>
</div>
<div class="had-info-box">
<div v-show="payInfo.payType == 'WX'">
<span class="info-box-title"><img src="../img/IC_WEIXIN.png"/>{{langue.weixin}}</span>
<span>{{langue.weixinAccount}}<label>{{payInfo.accountInfo}}</label></span>
</div>
<div v-show="payInfo.payType == 'ZFB'">
<span class="info-box-title"><img src="../img/ic_zhifubao.png"/>{{langue.zhifubao}}</span>
<span>{{langue.zhifubaoAccount}}<label>{{payInfo.accountInfo}}</label></span>
</div>
<div v-show="payInfo.payType == 'WX' || payInfo.payType == 'ZFB'">
<span>{{langue.qrCode}}<label id="codeimg"><img src="../img/code.png"/></label></span>
</div>
<div v-show="payInfo.payType == 'BANK'">
<span class="info-box-title"><img src="../img/ic_yinhangka.png"/>{{langue.bank}}</span>
<span>{{langue.bankType}}<label>{{payInfo.bankType}}</label></span>
<span>{{langue.bankUserName}}<label>{{payInfo.bankUserName}}<img id='js-copy-bankusername-tap'
src="../img/fuzhi.png"/></label></span>
<span>{{langue.bankNumber}}<label>{{payInfo.bankNumber}}<img id='js-copy-banknumber-tap'
src="../img/fuzhi.png"/></label></span>
</div>
<span v-if="count_down">{{langue.payContent}} {{order.turnover}} {{order.unitName}}</span>
</div>
<div class="hadbtn-group">
<div class="hadpay-btn" id="hadpay-btn">
{{langue.payFinish}}
</div>
</div>
</div>
<!--取消订单的弹出框-->
<div class="cancelOrder" id="cancelOrder" v-show="btnConfirmStatus" style="display: block;">
<div>
<div class="orderCont">
<p class="popTitle">{{langue.affirmPay}}</p>
<p class="popText popText_1">{{langue.affirmPay2}}</p>
<p class="popText popText_2">{{langue.affirmPay3}}</p>
</div>
<div class="orderHandle">
<div class="btn thinkBtn"><span>{{langue.cancel}}</span></div>
<div class="btn cancelBtn" id="payBtn"><span>{{langue.havePayment}}</span></div>
</div>
</div>
</div>
<!--灰色背景图蒙版-->
<div id="bg" class="bg" v-show='bgStatus'></div>
<!--二维码弹出框-->
<div class="code" id="code" v-show="codeStatus" style="display: block;">
<img :src="base_file_url + payInfo.collectionCodeUrl" />
<span class="mui-icon mui-icon-download" id="saveCode"></span>
</div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
obligation: '待付款',
weixin: '微信',
weixinAccount: '微信账号',
zhifubao: '支付宝',
zhifubaoAccount: '支付宝账号',
qrCode: '二维码',
bank: '银行卡',
bankType: '开户银行',
bankUserName: '持卡人',
bankNumber: '银行卡号',
payContent: '请在规定时间内,向以上收款方式支付 ',
payFinish: '已完成付款',
affirmPay: '确认付款',
affirmPay2: '未付款点击“我已付款”将被冻结账户',
affirmPay3: '请确认已向卖方付款',
cancel: '取消',
havePayment: '我已付款',
saveImgTitle: '是否保存此图片',
saveImgContent: '确认保存?',
saveImgBtn1: '保存',
saveImgBtn2: '不保存',
saveImgSuccess: '保存成功',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '网络异常,请刷新重试!',
logInElse: '您的账号在别处登录!',
copySuccess: '复制成功!',
},
zh_HK: {
obligation: '待付款',
weixin: '微信',
weixinAccount: '微信帳號',
zhifubao: '支付寶',
zhifubaoAccount: '支付寶帳號',
qrCode: '二維碼',
bank: '銀行卡',
bankType: '開戶銀行',
bankUserName: '持卡人',
bankNumber: '銀行卡號',
payContent: '请在规定时间内,向以上收款方式支付 ',
payFinish: '已完成付款',
affirmPay: '確認付款',
affirmPay2: '未付款點擊“我已付款”將被凍結帳戶',
affirmPay3: '請確認已向賣方付款',
cancel: '取消',
havePayment: '我已付款',
saveImgTitle: '是否保存此圖片',
saveImgContent: '確認保存?',
saveImgBtn1: '保存',
saveImgBtn2: '不保存',
saveImgSuccess: '保存成功',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '網路異常,請刷新重試!',
logInElse: '您的帳號在別處登錄!',
copySuccess: '複製成功!',
},
en_US: {
obligation: 'Pending payment',
weixin: 'WeChat',
weixinAccount: 'WeChat account',
zhifubao: 'Alipay',
zhifubaoAccount: 'Alipay Account',
qrCode: 'QR code',
bank: 'Bank card',
bankType: 'Bank of deposit',
bankUserName: 'cardholder',
bankNumber: 'Bank card number',
payContent: 'Please pay to the above method within the specified time ',
payFinish: 'Completed payment',
affirmPay: 'confirm payment',
affirmPay2: 'Unpaid click "I have paid" will be frozen account',
affirmPay3: 'Please confirm that payment has been made to the seller',
cancel: 'cancel',
havePayment: 'I have paid for',
saveImgTitle: 'Do you want to save this picture',
saveImgContent: 'Confirm save?',
saveImgBtn1: 'save',
saveImgBtn2: 'do not save',
saveImgSuccess: 'Successfully saved',
waiting: 'Waiting...',
handleSuccess: 'Successful operation!',
netError: 'The network is abnormal, please refresh and try again!',
logInElse: 'Your account is logged in elsewhere!',
copySuccess: 'Copy success!',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
</script>
<script type="text/javascript">
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
btnConfirmStatus: false, //二次确认框是否显示
codeStatus: false, //二维码是否显示
bgStatus: false, //蒙版是否显示
payInfo: {}, //买家选中的支付信息
order: {}, //订单数据
ad_remark: '', //广告方备注信息
base_file_url: app.walletFileUrl, //访问服务器图片路径前缀
count_down: '', //倒计时剩余时间
},
methods: {
//倒计时逻辑
countDown: function(interval) {
var data = this.order.createTime.replace(new RegExp(/-/gm), "/");
//结束时间戳
var lastTime = Date.parse(new Date(data)) + interval * 60 * 1000;
//当前时间戳
var now = Date.parse(new Date());
//剩余时间戳
var msec = lastTime - now;
//分钟
var min = parseInt(msec / 1000 / 60 % 60);
//秒
var sec = parseInt(msec / 1000 % 60);
//分钟判断
var minStr = min > 9 ? min : '0' + min;
//秒数判断
var secStr = sec > 9 ? sec : '0' + sec;
//时间已结束
if(msec <= 0) {
this.count_down = '';
//倒计时结束,返回上一页
mui.back();
}
//渲染倒计时时间
this.count_down = minStr + ' : ' + secStr;
//递归
var that = this;
setTimeout(function() {
that.countDown(interval);
}, 1000);
}
},
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
var self = plus.webview.currentWebview();
//获取上个页面的订单、支付信息、广告备注信息
dataInfo.order = self.order;
dataInfo.payInfo = self.payInfo;
dataInfo.ad_remark = self.ad_remark;
//开始倒计时,从后端获取倒计时时间
selectAutoCancelInterval();
// 监听保存本地相冊事件
document.getElementById('saveCode').addEventListener('tap', function() {
var imgUrl = dataInfo.base_file_url + dataInfo.payInfo.collectionCodeUrl;
var name = event.target.tagName;
name = name.toLowerCase();
if(name === "span") {
var suffix = cutImageSuffix(imgUrl);
mui.confirm(dataInfo.langue.saveImgTitle, dataInfo.langue.saveImgContent, [dataInfo.langue.saveImgBtn1, dataInfo.langue.saveImgBtn2], function(event) {
var index = event.index;
if(index == 0) {
var downLoader = plus.downloader.createDownload(imgUrl, {
method: 'GET',
filename: '_downloads/image' + suffix
}, function(download, status) {
var fileName = download.filename;
plus.gallery.save(fileName, function() {
mui.toast(dataInfo.langue.saveImgSuccess);
});
});
downLoader.start();
}
});
}
});
// 二維碼点击监听事件
document.getElementById('codeimg').addEventListener("tap", function() {
dataInfo.codeStatus = true;
dataInfo.bgStatus = true;
});
// 点击蒙版调用关闭方法
document.getElementById('bg').addEventListener("tap", function() {
dataInfo.codeStatus = false;
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
});
// 点击二级确认框的取消
mui('.orderHandle').on('tap', '.thinkBtn', function() {
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
});
// 点击已完成付款
document.getElementById("hadpay-btn").addEventListener("tap", function() {
dataInfo.btnConfirmStatus = true;
dataInfo.bgStatus = true;
});
// 点击二级确认收款
document.getElementById("payBtn").addEventListener("tap", function() {
pay();
});
//复制银行持卡人信息
document.getElementById("js-copy-bankusername-tap").addEventListener("tap", function() {
setClipbordText(dataInfo.payInfo.bankUserName);
});
//复制银行卡号信息
document.getElementById("js-copy-banknumber-tap").addEventListener("tap", function() {
setClipbordText(dataInfo.payInfo.bankNumber);
});
});
</script>
<script>
/**function代码块**/
// 确认付款
function pay() {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(orderAjax.PAY.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
},
data: {
orderId: dataInfo.order.id,
payType: dataInfo.payInfo.payType,
},
dataType: 'json',
type: orderAjax.PAY.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
mui.toast(dataInfo.langue.handleSuccess);
//刷新上一页的订单信息
var opoenr = plus.webview.currentWebview().opener();
opoenr.evalJS('reloadOrder()');
mui.back();
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.netError);
}
});
}
//查询定时撤单间隔时间
function selectAutoCancelInterval() {
mui.ajax(otcConfigAjax.SELECT_AUTO_CANCEL_INTERVAL.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
},
dataType: 'json',
type: otcConfigAjax.SELECT_AUTO_CANCEL_INTERVAL.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
if (data.data != null) {
//传入时间间隔,开始倒计时
dataInfo.countDown(data.data);
}
}
}
});
}
// 截取图片后缀用于重命名图片,防止%E5%85%89%E6%98%8E%E8%A1%8C编码的文件不被系统相册识别;
function cutImageSuffix(imageUrl) {
var index = imageUrl.lastIndexOf('.');
return imageUrl.substring(index);
}
//复制txt到手机剪贴板
function setClipbordText(txt) {
if(!window.plus) return;
if(mui.os.android) {
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
plus.android.invoke(clip, "setText", txt);
} else {
var UIPasteboard = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
generalPasteboard.setValueforPasteboardType(txt, "public.utf8-plain-text");
}
mui.toast(dataInfo.langue.copySuccess);
}
</script>
</html>

@ -0,0 +1,302 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>商家申请</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/merchant.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/config_ajax.js"></script>
<script src="../js/ajax/market_apply_ajax.js"></script>
</head>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">{{langue.title}}</h1>
</header>
<div class="mui-content">
<div class="txt-box">
<h4>{{langue.rule}}</h4>
<!--<p>商家服务准则与制度标准会员需通过平台认证获取商家身份及权限。 申请商家条件如下: 1.需确保账户内拥有10000USDT,作为商家保证金,冻结于自身账户内。取消商家资格,将解冻此保证金。
2.商家需遵守按时打款、快速放行、不恶意卡单、不恶意拍单、不随意取消订单等诚信交易的基本原则。 优质的商家应当具备快速打款、快速放行,低申诉率、低取消率,服务态度好、服务意识强等特质。 商家基本准则: (1)、
对自己的广告负责,确认好广告价格、数量再上架;当人离开或者下线 时,定先下架广告。(单价根据实时价幅度的5%) (2)、熟知各个银行的转款规定,在订单有效时间内,高效完成转款。
(3)、当收到买家转款,核对好金额后,及时放行。(收到到账信息后, 放行时间不得超过30分钟) (4)、当有需要时,才申诉订单。不因和对手方发生纠纷,而恶意申诉。 (5)、商家对普通用户应怀有服务意识,反应及时、用语礼貌。
</p>-->
<div v-html='marketFreezeRule'>
{{marketFreezeRule}}
</div>
</div>
<div class="mui-input-row mui-checkbox mui-left">
<input id="agree-radio" name="radio" type="checkbox">
<label for="agree-radio" class="agree-radio">{{langue.checkThePrompt}}</label>
</div>
<div class="btn">
<button id="submitBtn" class="app-btn app-btn-darkly">{{langue.applyImmediately}}</button>
</div>
</div>
<!--弹出框-->
<div class="cancelOrder" v-show='popover_Status'>
<div>
<div class="orderCont">
<p class="popText popText_1">{{langue.marginTitle}}</p>
<p class="popText popText_1">{{langue.margin}}:{{marketFreezeAmount}}{{marketFreezeCoin}}</p>
</div>
<div class="orderHandle">
<div class="btn thinkBtn" id="cancelBtn"><span>{{langue.cancelBtn}}</span></div>
<div class="btn cancelBtn" id="sureBtn"><span>{{langue.affirmBtn}}</span></div>
</div>
</div>
</div>
<!--灰色背景图蒙版-->
<div id="bg" class="bg" v-show='bgStatus'></div>
</div>
</body>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '商家申请',
rule: '商家规则',
note1: "请勾选商家规则",
affirmBtn: '确认',
cancelBtn: '取消',
margin: '保证金',
marginTitle: '申请成为商家审核通过后,需锁定您法币钱包里一部分资金作为保证金,是否确认申请成为商家?',
applyImmediately: '立即申请',
checkThePrompt: '我已查看并同意商家规则',
logInElse: '您的账号在别处登录!',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '网络异常,请刷新重试!',
balanceError: '余额不足!',
},
zh_HK: {
title: '商家申請',
rule: '商家規則',
note1: "請勾選商家規則",
affirmBtn: '確認',
cancelBtn: '取消',
margin: '保證金',
marginTitle: '申請成為商家審核通過後,需鎖定您法幣錢包裡一部分資金作為保證金,是否確認申請成為商家?',
applyImmediately: '立即申請',
checkThePrompt: '我已查看並同意商家規則',
logInElse: '您的帳號在別處登錄!',
waiting: '等待中...',
handleSuccess: '操作成功!',
netError: '網路異常,請刷新重試!',
balanceError: '餘額不足!',
},
en_US: {
title: 'Merchant',
rule: 'Business rules',
note1: "Please tick the merchant rule",
affirmBtn: 'confirm',
cancelBtn: 'cancel',
margin: 'margin',
marginTitle: 'After the application for becoming a merchant is approved, we need to lock a part of the money in your legal coin wallet as a deposit. Do you confirm the application for becoming a merchant?',
applyImmediately: 'Apply immediately',
checkThePrompt: 'I have checked and agreed with the merchant rules',
logInElse: 'Your account is logged in elsewhere!',
waiting: 'Waiting...',
handleSuccess: 'Successful operation!',
netError: 'Network exception, please refresh and try again!',
balanceError: 'not sufficient funds!',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
bgStatus: false, // 蒙版
popover_Status: false, // 彈出框
marketFreezeCoin: 'USDT',
marketFreezeAmount: '-',
marketFreezeRule: '',
freeBalance: 0,
},
methods: {
reload_coin_balances: function reload_coin_balances() { //触发钱包数据列表
var walletWeb = plus.webview.getWebviewById("html/wallet/html/wallet.html");
mui.fire(walletWeb, 'walletSaveEvent', {});
},
}
})
</script>
<script type="text/javascript">
/*主体代码块*/
mui.plusReady(function() {
//查询保证金代币
selectMarketFreezeCoin();
//查询保证金数量
selectMarketFreezeAmount();
//规则查询
selectMarketFreezeRule();
//刷新钱包
dataInfo.reload_coin_balances();
});
</script>
<script type="text/javascript">
/*事件代码块*/
document.getElementById("submitBtn").addEventListener("tap", function() {
if (!document.getElementById("agree-radio").checked) {
mui.toast(dataInfo.langue.note1);
return;
} else {
dataInfo.bgStatus = true;
dataInfo.popover_Status = true;
}
});
//确认提交按钮
document.getElementById("sureBtn").addEventListener("tap", function() {
if (dataInfo.freeBalance * 1 < dataInfo.marketFreezeAmount * 1) {
mui.toast(dataInfo.langue.balanceError);
} else {
marketApply();
}
});
//取消按钮
document.getElementById("cancelBtn").addEventListener("tap", function() {
dataInfo.bgStatus = false;
dataInfo.popover_Status = false;
});
//钱包刷新触发事件
window.addEventListener("saveCoinsEven", function(e) {
var balances = e.detail;
if (balances[dataInfo.marketFreezeCoin]) {
dataInfo.freeBalance = balances[dataInfo.marketFreezeCoin].freeBalance;
}
});
</script>
<script type="text/javascript">
/*function代码块*/
//申请市商
function marketApply() {
plus.nativeUI.showWaiting(dataInfo.langue.waiting);
mui.ajax(marketApplyAjax.MARKET_APPLY.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
dataType: 'json',
type: marketApplyAjax.MARKET_APPLY.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if (data.code == 200) {
dataInfo.bgStatus = false;
dataInfo.popover_Status = false;
mui.toast(dataInfo.langue.handleSuccess);
mui.back();
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
app.toast(data.msg);
mui.back();
}
},
error: function(xhr, type, errorThrown) {
plus.nativeUI.closeWaiting();
app.toast(dataInfo.langue.note15);
}
});
}
//查询保证金代币
function selectMarketFreezeCoin() {
mui.ajax(otcConfigAjax.SELECT_MARKET_FREEZE_COIN.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
dataType: 'json',
type: otcConfigAjax.SELECT_MARKET_FREEZE_COIN.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
if (data.data != null) {
dataInfo.marketFreezeCoin = data.data;
}
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//查询保证金数量
function selectMarketFreezeAmount() {
mui.ajax(otcConfigAjax.SELECT_MARKET_FREEZE_AMOUNT.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
dataType: 'json',
type: otcConfigAjax.SELECT_MARKET_FREEZE_AMOUNT.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
dataInfo.marketFreezeAmount = data.data;
}
}
});
}
//查询市商规则
function selectMarketFreezeRule() {
mui.ajax(otcConfigAjax.SELECT_MARKET_FREEZE_RULE.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
dataType: 'json',
data: {
type: 'business'
},
type: otcConfigAjax.SELECT_MARKET_FREEZE_RULE.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
dataInfo.marketFreezeRule = data.data.textContent;
}
}
});
}
</script>
</html>

@ -0,0 +1,471 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>订单</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/order.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/coin_ajax.js"></script>
<script src="../js/ajax/order_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
</head>
<style>
.no-data-img {
text-align: center;
margin: 2rem 0 0 0;
font-size: 0.25rem;
color: rgb(51, 51, 51);
}
.no-data-img img {
width: 2rem !important;
}
</style>
<body>
<div id='data-info'>
<header class="mui-bar mui-bar-nav" id="header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="font-size: .34rem;">{{langue.title}}</a>
</header>
<div class="mui-content">
<div class="select-box">
<div class="select">
<select name="slct1" v-model="coin_index" @change="coinChange">
<option value="0">{{langue.allCoin}}</option>
<option v-for="(item,index) in coins" :value="index + 1">{{item.coinName}}</option>
</select>
</div>
<div class="select">
<select name="slct2" v-model="order_status" @change="statusChange">
<option value="">{{langue.allStatus}}</option>
<option value="NEW">{{langue.newStatus}}</option>
<option value="UNDERWAY">{{langue.underwayStatus}}</option>
<option value="FINISH">{{langue.finishStatus}}</option>
<option value="CANCEL">{{langue.cancelStatus}}</option>
<option value="APPEAL">{{langue.appealStatus}}</option>
</select>
</div>
<div class="select">
<select name="slct3" v-model="order_type" @change="typeChange">
<option value="">{{langue.allType}}</option>
<option value="BUY">{{langue.buyType}}</option>
<option value="SELL">{{langue.sellType}}</option>
</select>
</div>
</div>
<div class="order-info">
<div class="no-data-img" v-show="orders.length <= 0">
<img src="../img/no_data.png" />
<div>{{langue.notOrder}}</div>
</div>
<ul>
<li class="item-list js-tap-order" v-for="item in orders" :data-orderId='item.id'>
<div class="order-info-left sales" v-if="item.role == 'SELL'">
{{langue.sell}}
</div>
<div class="order-info-left buys" v-if="item.role == 'BUY'">
{{langue.buy}}
</div>
<div class="order-info-right">
<div class="order-info-top">
<span class="order-coin">{{item.coinName}}<label>{{item.modifyTime}}</label></span>
<span class="order-status" :class="{'sure' : sureClass(item.orderStatus),'remove':removeClass(item.orderStatus),'appeal':appealClass(item.orderStatus)}">
<img src="../img/countdown.png" v-if="item.orderStatus == 'NEW' || item.orderStatus == 'UNDERWAY'" />
<img src="../img/sure.png" v-if="item.orderStatus == 'FINISH'" />
<img src="../img/shensu.png" v-if="item.orderStatus == 'APPEAL'" />
<img src="../img/remove.png" v-if="item.orderStatus == 'CANCEL'" />
{{item.orderStatus | orderStauts}}
</span>
</div>
<div class="order-info-bottom">
<h4>{{langue.orderNumber}}:{{item.orderNumber}}</h4>
<div class="order-info-txt">
<span>{{langue.orderNumber}}({{item.unitName}})</span>
<span>{{langue.amount}}({{item.coinName}})</span>
<span>{{langue.turnover}}({{item.unitName}})</span>
</div>
<div class="order-info-num">
<span>{{item.price | toFixNum(coin.unitDecimal)}}</span>
<span>{{item.amount | toFixNum(coin.coinDecimal)}}</span>
<span>{{item.turnover | toFixNum(coin.unitDecimal)}}</span>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</body>
<script type="text/javascript">
//页码
var pageNum = 1;
//上下拉刷新控件
var pullToRefreshObj = null;
</script>
<script type="text/javascript">
var langues = {
zh_CN: {
title: '订单管理',
allCoin: '全部(币种)',
allStatus: '全部(状态)',
newStatus: '待处理',
underwayStatus: '进行中',
finishStatus: '已完成',
cancelStatus: '已取消',
appealStatus: '申诉中',
allType: '全部(类型)',
buyType: '购买',
sellType: '出售',
notOrder: '暂无订单',
buy: '买',
sell: '卖',
orderNumber: '订单号',
price: '单价',
amount: '数量',
turnover: '交易额',
contentinit: '上拉显示更多...',
contentdown: '上拉显示更多',
contentrefresh: '正在加载...',
contentnomore: "- End -",
logInElse: '您的账号在别处登录!',
},
zh_HK: {
title: '訂單管理',
allCoin: '全部(幣種)',
allStatus: '全部(狀態)',
newStatus: '待處理',
underwayStatus: '進行中',
finishStatus: '已完成',
cancelStatus: '已取消',
appealStatus: '申訴中',
allType: '全部(類型)',
buyType: '購買',
sellType: '出售',
notOrder: '暫無訂單',
buy: '買',
sell: '賣',
orderNumber: '訂單號',
price: '單價',
amount: '數量',
turnover: '交易額',
contentinit: '上拉顯示更多...',
contentdown: '上拉顯示更多',
contentrefresh: '正在加載...',
contentnomore: "- End -",
logInElse: '您的帳號在別處登錄!',
},
en_US: {
title: 'Order Management',
allCoin: 'All (coins)',
allStatus: 'All (status)',
newStatus: 'pending',
underwayStatus: 'processing',
finishStatus: 'completed',
cancelStatus: 'Cancelled',
appealStatus: 'Appeal',
allType: 'All (type)',
buyType: 'buy',
sellType: 'sell',
notOrder: 'No order',
buy: 'buy',
sell: 'sell',
orderNumber: 'number',
price: 'price',
amount: 'amount',
turnover: 'turnover',
contentinit: 'Look up shows more...',
contentdown: 'Look up shows more',
contentrefresh: 'loading...',
contentnomore: "- End -",
logInElse: 'Your account is logged in elsewhere!',
}
};
//2、页面上所有需要国际化的文字,包括提示,都通过Vue去引用,例子:
var langueKey = app.getLanguageLocalStorage(); //获取国际化语种
var langue = langues[langueKey]; // 获取国际化语种数据
//3、每个页面都需要加上以下的方法:
window.addEventListener('switchLangueData', function(e) {
//dataInfo为Vue对象的名称
dataInfo.langue = langues[e.detail];
});
</script>
<script type="text/javascript">
/**vue**/
//全局过滤器-保留小数点
Vue.filter('toFixNum', function(value, fix_num) {
return app.formatValueStr(value, fix_num);
});
var dataInfo = new Vue({
el: '#data-info',
data: {
langue: langue,
coins: [], //代币列表
coin_index: 0, //代币下拉控件索引
coin: { //当前选择的代币
coinName: '', //当前选择的代币
unitName: '', //当前代币的交易单位
coinDecimal: 6, //代币小数长度
unitDecimal: 2, //代币交易单位小数长度
},
orders: [], //订单列表
order_status: '', //订单状态
order_type: '', //订单类型
},
methods: {
//币种切换时触发方法
coinChange: function(e) {
//当前下拉框选择索引
var index = this.coin_index;
//索引为0的时候,币种是选择全部
if (index == 0) {
this.coin.coinName = '';
this.coin.unitName = '';
this.coin.coinDecimal = 6;
this.coin.unitDecimal = 2;
//查询用户订单
listUserOrders();
return;
}
//更换当前币种
this.coin = JSON.parse(JSON.stringify(this.coins[index - 1]));
//查询用户订单
listUserOrders();
},
//查询订单状态改变
statusChange: function(e) {
//查询用户订单
listUserOrders();
},
//查询订单类型改变
typeChange: function(e) {
//查询用户订单
listUserOrders();
},
//是否显示 sure 样式
sureClass: function(status) {
if (status == 'NEW' || status == 'UNDERWAY' || status == 'FINISH') {
return true;
}
return false;
},
//是否显示 remove 样式
removeClass: function(status) {
if (status == 'CANCEL') {
return true;
}
return false;
},
//是否显示 appeal 样式
appealClass: function(status) {
if (status == 'APPEAL') {
return true;
}
return false;
}
},
filters: {
//根据订单状态返回订单中文标识
orderStauts: function(val) {
if (val == 'NEW') {
return this.langue.newStatus;
}
if (val == 'UNDERWAY') {
return this.langue.underwayStatus;
}
if (val == 'FINISH') {
return this.langue.finishStatus;
}
if (val == 'CANCEL') {
return this.langue.cancelStatus;
}
if (val == 'APPEAL') {
return this.langue.appealStatus;
}
},
}
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
getCoins();
listUserOrders();
//下拉刷新
pullToRefreshObj = mui(".mui-content").pullToRefresh({
down: {
callback: function() {
var self = this;
listUserOrders();
pageNum = 1;
self.refresh(true);
setTimeout(function() {
self.endPullDownToRefresh();
}, 1000);
}
},
up: {
callback: function() {
var self = this;
setTimeout(function() {
pullUpFunction(self);
}, 1000);
},
contentinit: dataInfo.langue.contentinit,
contentdown: dataInfo.langue.contentdown,
contentrefresh: dataInfo.langue.contentrefresh,
contentnomore: dataInfo.langue.contentnomore
}
});
});
</script>
<script type="text/javascript">
/**事件绑定**/
//订单列表跳转订单详情页
mui('.order-info').on('tap', '.js-tap-order', function() {
var orderId = this.getAttribute("data-orderId");
app.openWin('payment.html', 'payment.html', {}, {
orderId: orderId
});
});
</script>
<script type="text/javascript">
/**function**/
//查询法币币种列表
function getCoins() {
mui.ajax(coinAjax.GET_COINS.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {},
dataType: 'json',
type: coinAjax.GET_COINS.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
//渲染数据
dataInfo.coins = data.data;
}
}
});
}
//查询用户订单
function listUserOrders() {
mui.ajax(orderAjax.LIST_USER_ORDER.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
orderType: dataInfo.order_type,
orderStatus: dataInfo.order_status,
},
dataType: 'json',
type: orderAjax.LIST_USER_ORDER.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if (data.code == 200) {
//渲染数据
dataInfo.orders = data.data;
//数据小于10条,禁用上拉
if (data.data.length < 10) {
pullToRefreshObj.endPullUpToRefresh(true);
} else {
pullToRefreshObj.refresh(true);
}
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
/**
* 上拉加载事件
*/
function pullUpFunction(_self) {
mui.ajax(orderAjax.LIST_USER_ORDER.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
orderType: dataInfo.order_type,
orderStatus: dataInfo.order_status,
pageNum: pageNum + 1
},
dataType: 'json', //服务器返回json格式数据
type: orderAjax.LIST_USER_ORDER.getType, //HTTP请求类型
timeout: 10000,
success: function(data) {
if (data.code == "200") {
if (data.data.length > 0) {
//渲染数据
dataInfo.orders = dataInfo.orders.concat(data.data);
//插入数据,渲染数据
pageNum += 1;
}
//如果数据小于10条
if (data.data.length < 10) {
_self.endPullUpToRefresh(true); //关闭上拉,并禁用,显示没有更多数据了
} else {
_self.endPullUpToRefresh(false);
}
} else if (data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if (data.code == 202) {
mui.toast(dataInfo.langue.logInElse);
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
},
error: function(xhr, type, errorThrown) {
_self.endPullUpToRefresh(false);
}
});
}
</script>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,249 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>訂單</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/order.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/coin_ajax.js"></script>
<script src="../js/ajax/ad_ajax.js"></script>
</head>
<body>
<header class="mui-bar mui-bar-nav" id="header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="font-size: .34rem;">广告管理</a>
</header>
<div class="mui-content" id='data-info'>
<div class="select-box">
<div class="select">
<select name="slct1" v-model="coin_index" @change="coinChange">
<option value="0">全部</option>
<option v-for="(item,index) in coins" :value="index + 1">{{item.coinName}}</option>
</select>
</div>
<div class="select" v-model="ad_statsu" @change="statusChange">
<select name="slct2">
<option value="">全部</option>
<option value="UNDERWAY">进行中</option>
<option value="FINISH">已完成</option>
<option value="CANCEL">已撤销</option>
</select>
</div>
<div class="select" v-model="ad_type" @change="typeChange">
<select name="slct3">
<option value="">全部</option>
<option value="BUY">购买</option>
<option value="SELL">出售</option>
</select>
</div>
</div>
<div class="order-info">
<ul>
<li class="item-list" v-for="item in ads">
<div class="order-info-left sales" v-if='item.adType == "SELL"'>
</div>
<div class="order-info-left buys" v-if='item.adType == "BUY"'>
</div>
<div class="order-info-right">
<div class="order-info-top">
<span class="order-coin">{{item.coinName}}<label >{{item.modifyTime}}</label></span>
<span class="order-status" :class="{'sure' : sureClass(item.adStatus),'remove':removeClass(item.adStatus)}">
<img src="../img/countdown.png" v-if="item.adStatus == 'UNDERWAY'"/>
<img src="../img/sure.png" v-if="item.adStatus == 'FINISH'"/>
<img src="../img/remove.png" v-if="item.adStatus == 'CANCEL'"/>
{{item.adStatus | adStautsF}}
</span>
<span class="order-status" v-if="item.adStatus == 'UNDERWAY'">撤销</span>
</div>
<div class="order-info-bottom">
<h4>流水号:{{item.adNumber}}</h4>
<div class="order-info-txt">
<span>单价({{item.unitName}})</span>
<span>剩余({{item.coinName}})</span>
<span>总量({{item.coinName}})</span>
</div>
<div class="order-info-num">
<span>{{item.price | toFixNum(coin.unitDecimal)}}</span>
<span>{{item.lastNum | toFixNum(coin.coinDecimal)}}</span>
<span>{{item.totalNum | toFixNum(coin.coinDecimal)}}</span>
</div>
</div>
</div>
</li>
</ul>
</div>
</div>
</body>
<script type="text/javascript">
/**vue**/
//全局过滤器-保留小数点
Vue.filter('toFixNum', function(value, fix_num) {
//出现NaN的情况
if(isNaN(value)) {
return Number(0).toFixed(fix_num);
}
//需要保留的小数位 + 1,用于不四舍五入
var floatNum = parseFloat(value).toFixed(fix_num + 1);
//截取数据,保留小数并不用四舍五入
var realNum = floatNum.substring(0, floatNum.length - 1);
return realNum;
});
var dataInfo = new Vue({
el: '#data-info',
data: {
coins: [], //代币列表
coin_index: 0, //代币下拉控件索引
coin: { //当前选择的代币
coinName: '', //当前选择的代币
unitName: '', //当前代币的交易单位
coinDecimal: 6, //代币小数长度
unitDecimal: 2, //代币交易单位小数长度
},
ads: [], //广告列表
ad_status: '', //广告状态
ad_type: '', //广告类型
},
methods: {
//币种切换时触发方法
coinChange: function(e) {
//当前下拉框选择索引
var index = this.coin_index;
//索引为0的时候,币种是选择全部
if(index == 0) {
this.coin.coinName = '';
this.coin.unitName = '';
this.coin.coinDecimal = 6;
this.coin.unitDecimal = 2;
//查询用户广告
listUserAds();
return;
}
//更换当前币种
this.coin = JSON.parse(JSON.stringify(this.coins[index - 1]));
//查询用户广告
listUserAds();
},
//查询广告状态改变
statusChange: function() {
listUserAds();
},
//查询广告类型改变
typeChange: function() {
listUserAds();
},
//是否显示 sure 样式
sureClass: function(status) {
if(status == 'UNDERWAY' || status == 'FINISH') {
return true;
}
return false;
},
//是否显示 remove 样式
removeClass: function(status) {
if(status == 'CANCEL') {
return true;
}
return false;
},
},
filters: {
//根据广告状态返回广告中文标识
adStautsF: function(val) {
if(val == 'UNDERWAY') {
return '进行中';
}
if(val == 'FINISH') {
return '已完成';
}
if(val == 'CANCEL') {
return '已取消';
}
},
}
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
getCoins();
listUserAds();
});
</script>
<script type="text/javascript">
/**事件绑定**/
</script>
<script type="text/javascript">
/**function**/
//查询法币币种列表
function getCoins() {
mui.ajax(coinAjax.GET_COINS.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {},
dataType: 'json',
type: coinAjax.GET_COINS.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//渲染数据
dataInfo.coins = data.data;
}
}
});
}
//查询用户广告列表
function listUserAds() {
mui.ajax(adAjax.LIST_USER_AD.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
coinName: dataInfo.coin.coinName,
unitName: dataInfo.coin.unitName,
adType: dataInfo.ad_type,
adStatus: dataInfo.ad_status,
userId: '18925792125'
},
dataType: 'json',
type: adAjax.LIST_USER_AD.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//渲染数据
dataInfo.ads = data.data;
}
}
});
}
</script>
</html>

@ -0,0 +1,789 @@
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>付款页面</title>
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover">
<link href="../../../lib/css/mui.min.css" rel="stylesheet" />
<!--引入公共样式-->
<link href="../../../lib/css/mui.pullToRefresh.css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../../../lib/css/icons-extra2.css" />
<link href="../../../lib/css/basic.css" rel="stylesheet" />
<link href="../css/payment.css" rel="stylesheet" />
<!--下拉刷新上拉加载css-->
<script src="../../../lib/js/rem-layout.js"></script>
<script src="../../../lib/js/mui.min.js"></script>
<script src="../../../lib/js/vue.js"></script>
<script src="../../../lib/js/app.js"></script>
<!--下拉刷新上拉加载js-->
<script src="../../../lib/js/mui.pullToRefresh.js"></script>
<script src="../../../lib/js/mui.pullToRefresh.material.js"></script>
<!--baseJs-->
<script src="../js/ajax/appeal_ajax.js"></script>
<script src="../js/ajax/order_ajax.js"></script>
<script src="../js/ajax/userpay_ajax.js"></script>
<script src="../js/ajax/ad_ajax.js"></script>
<script src="../js/ajax/config_ajax.js"></script>
<script src="../js/base/requestUrl.js"></script>
<script src="../../../lib/js/jsencrypt.min.js"></script>
<script src="../../wallet/js/wallet.inner.js"></script>
</head>
<body>
<div id="data-info">
<header class="mui-bar mui-bar-nav" id="header">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left" style="font-size: .34rem;">{{order.role | roleAlertF}} {{order.turnover}}<label>{{order.unitName}}</label></a>
<!--订单状态等于“新建”并且“用户角色”等于“买方”:显示待付款-->
<a class=" mui-icon-right-nav" v-if='orderNew && roleBuy'><img src="../img/countdown.png" /><label>待付款</label></a>
<!--订单状态等于“进行中”并且“用户角色”等于“买方”:显示已付款-->
<a class=" mui-icon-right-nav" v-if='orderUnderway && roleBuy'><img src="../img/countdown.png" /><label>已付款</label></a>
<!--订单状态等于“新建”并且“用户角色”等于“卖方”:显示等待买家付款-->
<a class=" mui-icon-right-nav" v-if='orderNew && roleSell'><img src="../img/countdown.png" /><label>等待买家付款</label></a>
<!--订单状态等于“进行中”并且“用户角色”等于“卖方”:显示买家已付款-->
<a class=" mui-icon-right-nav" v-if='orderUnderway && roleSell'><img src="../img/countdown.png" /><label>买家已付款</label></a>
<!--订单状态等于“已完成”:显示已完成-->
<a class=" mui-icon-right-nav" v-if='orderFinish'><img src="../img/sure.png" /><label>已完成</label></a>
<!--订单状态等于“已取消”:显示已取消-->
<a class=" mui-icon-right-nav" v-if='orderCancel'><img src="../img/remove.png" /><label style="color: #78C4DF">已取消</label></a>
<!--订单状态等于“申诉”:显示申诉中-->
<a class=" mui-icon-right-nav" v-if='orderAppeal'><img src="../img/shensu.png" /><label style="color: #9D71EA">申诉中</label></a>
</header>
<div class="mui-content">
<div class="top-info">
<span>{{order.role | roleF}}<label class="person-name">{{roleUserName}}</label></span>
<span>单价<label>{{order.price}} {{order.unitName}}</label></span>
<span>数量<label>{{order.amount}} {{order.coinName}}</label></span>
<em class="countdown" v-if="orderNew">{{count_down}}</em>
<em class="mui-icon fold" :class="{'mui-icon-arrowup' : !arrowStatus,'mui-icon-arrowdown' : arrowStatus}" id="fold" v-show='paymentStatus'></em>
</div>
<div class="payment" id="payment" v-show='arrowStatus && paymentStatus'>
<ul class="mui-table-view">
<li class="mui-table-view-cell">
<a :class="{'mui-navigate-right' : orderNew && roleBuy}">
<!--根据卖家支付类型渲染可选支付方式-->
<span class="mui-icon iconfont icon-zhifubap" style="color: #0062CC;" v-show='payZFB'><label>支付宝</label></span>
<span class="mui-icon iconfont icon-weixin-copy" style="color: #007849;" v-show='payWX'><label>微信</label></span>
<span class="mui-icon iconfont icon-yinhangka" style="color: #F4A41F;" v-show='payBANK'><label>银行卡</label></span>
<label class="switth" id="switch" v-show="orderNew && roleBuy">切换支付方式</label>
</a>
</li>
<!--卖家支付类型等于“银行卡”:持卡人-->
<li class="mui-table-view-cell" v-show='payBANK'>
<a class="payment-txt">持卡人</a>
<label>{{payInfo.bankUserName}}</label>
</li>
<!--卖家支付类型等于“银行卡”:开户银行-->
<li class="mui-table-view-cell" v-show='payBANK'>
<a class="payment-txt">开户银行</a>
<label>{{payInfo.bankType}}</label>
</li>
<!--卖家支付类型等于“银行卡”:显示卡号-->
<li class="mui-table-view-cell" v-show='payBANK'>
<a class="payment-txt">卡号</a>
<label>{{payInfo.bankNumber}}<img src="../img/fuzhi.png"/></label>
</li>
<!--卖家支付类型等于“微信”和“支付宝”:显示收款账户-->
<li class="mui-table-view-cell" v-show='payWX || payZFB'>
<a class="payment-txt">账号</a>
<label>{{payInfo.accountInfo}}</label>
</li>
<!--卖家支付类型等于“微信”和“支付宝”:显示二维码按钮-->
<li class="mui-table-view-cell" v-show='payWX || payZFB'>
<a class="payment-txt">二维码</a>
<label id="codeimg"><img src="../img/code.png"/></label>
</li>
</ul>
</div>
<div>
<!--订单状态等于“进行中”或者等于“申诉”并且“用户角色”等于“卖方”:显示对方从何处付款提示-->
<ul class="mui-table-view" v-show="(orderUnderway || orderAppeal) && roleSell">
<li class="mui-table-view-cell">
<a class="payment-txt">对方已从 “{{order.orderPayType | payTypeF}}” 付款</a>
</li>
</ul>
<!--订单状态 等于“新建”并且 “用户角色”等于“买方”:显示选择支付方式提示-->
<ul class="mui-table-view" v-show="orderNew && roleBuy">
<li class="mui-table-view-cell">
<a class="payment-txt">请选择其中一种支付方式进行付款!</a>
</li>
</ul>
<!--订单状态等于“取消”:显示订单取消提示-->
<ul class="mui-table-view" v-show="orderCancel">
<li class="mui-table-view-cell">
<a class="payment-txt">订单已取消,无法查看支付信息</a>
</li>
</ul>
<!--订单状态不等于“取消”或者不等于“完成”并且“申诉信息”不等于空:显示申诉结果-->
<ul class="mui-table-view" v-if="(orderCancel || orderFinish) && appealInfo != null">
<li class="mui-table-view-cell">
<a class="payment-txt">申诉结果:{{appealInfo.remark}}</a>
</li>
</ul>
<!--订单状态 不等于'取消' 并且 不等于'完成':显示广告备注-->
<ul class="mui-table-view" v-if="!orderCancel && !orderFinish">
<li class="mui-table-view-cell">
<p style="color: #333333" v-if="ad_remark != null && ad_remark != '' ">广告备注:{{ad_remark}}</p>
<p style="color: #333333;" v-else>广告备注:暂无</p>
</li>
</ul>
</div>
<div class="btn-group">
<div class="cancel-btn" id="cancel-btn" v-show="cancelBtn">
取消订单
</div>
<div class="yes-btn" id="pay-btn" v-show="payBtn">
我已付款
</div>
<div class="yes-btn" id="receipt-btn" v-show="receiptBtn">
确认收款
</div>
<div class="yes-btn" id="appeal-btn" v-show="appealBtn">
申诉
</div>
</div>
</div>
<!--支付方式弹出框-->
<div id="switch-popover" class="mui-popover mui-popover-action">
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<ul class="mui-table-view">
<li class="mui-table-view-cell" v-for='(item,index) in sellPays' :data-pay-index='index'>{{item.payType | payTypeF}}</li>
</ul>
</div>
</div>
</div>
<!--灰色背景图蒙版-->
<div id="bg" class="bg" v-show='bgStatus' style="display: block;"></div>
<!--买入卖出交易密码确认-->
<div class="confirm animated bounceInUp" v-show="pass_status">
<form class="input-group">
<div class="title-top">
<span class="mui-icon mui-icon-closeempty icon js-tap-pass-close"></span>
<span id="title" class="title">确认收款</span>
</div>
<div class="mui-input-row">
<label for="cosnfirm-password">密码</label>
<input type="password" class="mui-input-password" placeholder="请输入密码" v-model="pass">
</div>
<div class="mui-button-row">
<button id="confirmBtn" type="button" class="mui-btn mui-btn-primary">确认</button>
</div>
</form>
</div>
<!--取消订单的弹出框-->
<div class="cancelOrder" id="cancelOrder" v-show="btnConfirmStatus" style="display: block;">
<div v-show='btnConfirmType == "PAY"'>
<div class="orderCont">
<p class="popTitle">确认付款</p>
<p class="popText popText_1">未付款点击“我已付款”将被冻结账户</p>
<p class="popText popText_2">请确认已向卖方付款</p>
</div>
<div class="orderHandle">
<div class="btn thinkBtn"><span>取消</span></div>
<div class="btn cancelBtn" id="payBtn"><span>我已付款</span></div>
</div>
</div>
<div v-show='btnConfirmType == "CANCEL"'>
<div class="orderCont">
<p class="popTitle">取消订单</p>
<p class="popText popText_1">如您已向卖家付款,取消订单您将会损失付款资金!</p>
<p class="popText popText_2"></p>
</div>
<div class="orderHandle">
<div class="btn thinkBtn"><span>取消</span></div>
<div class="btn cancelBtn" id="cancelBtn"><span>确认取消</span></div>
</div>
</div>
<div v-show='btnConfirmType == "RECEIPT"'>
<div class="orderCont">
<p class="popTitle">确认收款</p>
<p class="popText popText_1">请确认已收到买家付款</p>
<p class="popText popText_2">点击“确认收款”放币给买家</p>
</div>
<div class="orderHandle">
<div class="btn thinkBtn"><span>取消</span></div>
<div class="btn cancelBtn" id="receiptBtn"><span>确认收款</span></div>
</div>
</div>
</div>
<!--二维码弹出框-->
<div class="code" id="code" v-show="codeStatus" style="display: block;">
<img :src="base_file_url + payInfo.collectionCodeUrl" />
<span class="mui-icon mui-icon-download"></span>
</div>
</div>
</body>
<script type="text/javascript">
var dataInfo = new Vue({
el: '#data-info',
data: {
btnConfirmStatus: false, //二次确认框是否显示
btnConfirmType: '', //二次确认框显示的内容
codeStatus: false, //二维码是否显示
bgStatus: false, //蒙版是否显示
arrowStatus: true, //折叠面板状态
payIsShow: true, //折叠面板是否显示
pass_status: false, //密码框是否显示
sellPays: [], //卖家支付信息
payInfo: {}, //买家选中的支付信息
order: {}, //订单数据
appealInfo: {}, //申诉结果信息
ad_remark: '', //广告方备注信息
pass: '', //支付密码
public_pass: '', //公钥加密的资金密码
base_file_url: app.walletFileUrl, //访问服务器图片路径前缀
count_down: '00:00', //倒计时剩余时间
},
computed: {
//角色:买方
roleBuy: function() {
return this.order.role == 'BUY';
},
//角色:卖方
roleSell: function() {
return this.order.role == 'SELL';
},
//订单状态:新建
orderNew: function() {
return this.order.orderStatus == 'NEW';
},
//订单状态:进行中
orderUnderway: function() {
return this.order.orderStatus == 'UNDERWAY';
},
//订单状态:取消
orderCancel: function() {
return this.order.orderStatus == 'CANCEL';
},
//订单状态:申诉
orderAppeal: function() {
return this.order.orderStatus == 'APPEAL';
},
//订单状态:已完成
orderFinish: function() {
return this.order.orderStatus == 'FINISH';
},
//订单类型:买入
orderBuy: function() {
return this.order.orderType == 'BUY'
},
//订单类型:卖出
orderSell: function() {
return this.order.otderType == 'SELL'
},
//支付类型:微信
payWX: function() {
return this.payInfo.payType == 'WX';
},
//支付类型:支付宝
payZFB: function() {
return this.payInfo.payType == 'ZFB';
},
//支付类型:银行卡
payBANK: function() {
return this.payInfo.payType == 'BANK';
},
//支付信息是否显示
paymentStatus: function() {
if(this.order.orderStatus == 'FINISH' || this.order.orderStatus == 'CANCEL' || this.order.role == 'SELL') {
return false;
}
return true;
},
//申诉按钮显示规则
appealBtn: function() {
//订单状态进行中或者申诉中
return this.orderUnderway || this.orderAppeal;
},
//确认付款按钮显示规则
payBtn: function() {
//订单状态新建并且角色是买方
return this.orderNew && this.roleBuy;
},
//确认收款按钮显示规则
receiptBtn: function() {
//订单状态新建或者申诉中并且角色是卖方
return(this.orderUnderway || this.orderAppeal) && this.roleSell;
},
//取消按钮显示规则
cancelBtn: function() {
//订单状态是新建或者进行中,并且角色是买方并且订单类型是买入
return(this.orderNew || this.orderUnderway) && this.roleBuy && this.orderBuy;
},
//根据身份显示对方的账户
roleUserName: function() {
if(this.order.role == 'BUY') {
return this.order.sellUserName;
}
if(this.order.role == 'SELL') {
return this.order.buyUserName;
}
},
},
methods: {
//倒计时逻辑
countDown: function(interval) {
var data = this.order.createTime.replace(new RegExp(/-/gm), "/");
//结束时间戳
var lastTime = Date.parse(new Date(data)) + interval * 60 * 1000;
//当前时间戳
var now = Date.parse(new Date());
//剩余时间戳
var msec = lastTime - now;
//分钟
var min = parseInt(msec / 1000 / 60 % 60);
//秒
var sec = parseInt(msec / 1000 % 60);
//分钟判断
var minStr = min > 9 ? min : '0' + min;
//秒数判断
var secStr = sec > 9 ? sec : '0' + sec;
//时间已结束
if(msec <= 0) {
this.count_down = '';
//倒计时结束,查询订单
selectByOrderId(this.order.id);
return;
}
//渲染倒计时时间
this.count_down = minStr + ':' + secStr;
//递归
var that = this;
setTimeout(function() {
that.countDown(interval);
}, 1000);
}
},
filters: {
payTypeF: function(val) {
if(val == 'WX') {
return '微信'
}
if(val == 'ZFB') {
return '支付宝'
}
if(val == 'BANK') {
return '银行卡'
}
},
//根据身份显示对方账户
roleF: function(val) {
if(val == 'BUY') {
return '卖家'
}
if(val == 'SELL') {
return '买家'
}
},
//根据身份显示提示
roleAlertF: function(val) {
if(val == 'BUY') {
return '请付款';
}
if(val == 'SELL') {
return '请收款';
}
},
}
});
</script>
<script type="text/javascript">
/**mui.plusReady**/
mui.plusReady(function() {
var self = plus.webview.currentWebview();
selectByOrderId(self.orderId);
});
</script>
<script type="text/javascript">
/**事件绑定**/
//折叠面板的监听
document.getElementById('fold').addEventListener('tap', function() {
if(dataInfo.arrowStatus) {
dataInfo.arrowStatus = false;
} else {
dataInfo.arrowStatus = true;
}
});
//点击切换方式的显示选择框
document.getElementById('switch').addEventListener('tap', function() {
mui('#switch-popover').popover('toggle');
});
// 点击蒙版调用关闭方法
document.getElementById('bg').addEventListener("tap", function() {
dataInfo.codeStatus = false;
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
dataInfo.pass_status = false;
});
//密码框取消按钮监听
mui(".confirm").on('tap', '.input-group .js-tap-pass-close', function() {
dataInfo.bgStatus = false;
dataInfo.pass_status = false;
});
// 点击二级确认框的取消
mui('.orderHandle').on('tap', '.thinkBtn', function() {
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
});
// 点击取消订单
document.getElementById("cancel-btn").addEventListener("tap", function() {
dataInfo.btnConfirmStatus = true;
dataInfo.bgStatus = true;
dataInfo.btnConfirmType = 'CANCEL';
});
// 点击我已付款
document.getElementById("pay-btn").addEventListener("tap", function() {
dataInfo.btnConfirmStatus = true;
dataInfo.bgStatus = true;
dataInfo.btnConfirmType = 'PAY';
});
// 点击确认收款
document.getElementById("receipt-btn").addEventListener("tap", function() {
dataInfo.btnConfirmStatus = true;
dataInfo.bgStatus = true;
dataInfo.btnConfirmType = 'RECEIPT';
});
// 点击申诉
document.getElementById("appeal-btn").addEventListener("tap", function() {
//跳转申诉页
app.openWin('appeal.html', 'appeal.html', {}, {
orderId: dataInfo.order.id
});
});
// 点击二级确认收款
document.getElementById("payBtn").addEventListener("tap", function() {
pay();
});
// 点击二级取消订单
document.getElementById("cancelBtn").addEventListener("tap", function() {
cancelBuyOrder();
});
// 点击二级确认付款
document.getElementById("receiptBtn").addEventListener("tap", function() {
//显示密码框,隐藏二级确认框
dataInfo.bgStatus = true;
dataInfo.pass_status = true;
dataInfo.btnConfirmStatus = false;
});
// 点击二级确认付款的密码输入确认
document.getElementById("confirmBtn").addEventListener("tap", function() {
if(dataInfo.pass == '') {
mui.toast("请输入密码!");
return;
}
//获取非对称加密的公钥
walletApi.getPublicKey(dataInfo.pass, function(data) {
dataInfo.public_pass = data;
//确认收款
receipt();
});
});
// 二維碼监听事件
document.getElementById('codeimg').addEventListener("tap", function() {
dataInfo.codeStatus = true;
dataInfo.bgStatus = true;
});
//支付宝,微信,银行卡切换事件
mui("#switch-popover").on("tap", "li", function() {
//当前选择的所引
var index = this.getAttribute('data-pay-index');
//切换支付信息对象
dataInfo.payInfo = dataInfo.sellPays[index];
mui('#switch-popover').popover("hide");
});
</script>
<script type="text/javascript">
/**funtion**/
//根据订单id查询订单
function selectByOrderId(orderId) {
mui.ajax(orderAjax.SELECT_BY_ORDER_ID.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderId: orderId,
},
dataType: 'json',
type: orderAjax.SELECT_BY_ORDER_ID.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
dataInfo.order = data.data;
//订单状态新建,并且角色是买方,开始倒计时
if(dataInfo.orderNew && dataInfo.roleBuy) {
//查询撤单时间间隔,开始倒计时
selectAutoCancelInterval();
}
//订单状态不是已完成和撤销并,查询广告备注信息
if(!dataInfo.orderFinish && !dataInfo.orderCancel) {
//角色是买家,查询卖家支付信息
if(dataInfo.roleBuy) {
//查询卖家支付信息
selectSellPayType(orderId);
}
//查询广告信息
selectAdById();
}
//订单已完成或者撤销状态,查询申诉结果
if(dataInfo.orderFinish || dataInfo.orderCancel) {
selectAppealHandleLog();
}
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//刷新订单信息,用于申诉完之后回调
function reloadOrder() {
selectByOrderId(dataInfo.order.id);
}
//查询卖家支付信息
function selectSellPayType(orderId) {
mui.ajax(userpayAjax.SELECT_SELL_PAY_TYPE.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderId: orderId,
},
dataType: 'json',
type: userpayAjax.SELECT_SELL_PAY_TYPE.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//选项支付方式选择框
dataInfo.sellPays = data.data;
//默认选中第一个支付方式
dataInfo.payType = data.data[0].payType;
//默认选中第一个支付信息
dataInfo.payInfo = data.data[0];
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//取消买单
function cancelBuyOrder() {
plus.nativeUI.showWaiting("等待中...");
mui.ajax(orderAjax.CANCEL_BUY_ORDER.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderId: dataInfo.order.id,
},
dataType: 'json',
type: orderAjax.CANCEL_BUY_ORDER.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
mui.toast("操作成功!");
//重新查询订单
selectByOrderId(dataInfo.order.id);
//关闭蒙版、二级确认框
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
//确认付款
function pay() {
plus.nativeUI.showWaiting("等待中...");
mui.ajax(orderAjax.PAY.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderId: dataInfo.order.id,
payType: dataInfo.payInfo.payType,
},
dataType: 'json',
type: orderAjax.PAY.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
mui.toast("操作成功!");
//重新查询订单
selectByOrderId(dataInfo.order.id);
//关闭蒙版、二级确认框
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
//确认付款
function receipt() {
plus.nativeUI.showWaiting("等待中...");
mui.ajax(orderAjax.RECEIPT.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderId: dataInfo.order.id,
pass: dataInfo.public_pass,
},
dataType: 'json',
type: orderAjax.RECEIPT.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
plus.nativeUI.closeWaiting();
if(data.code == 200) {
mui.toast("操作成功!");
//重新查询订单
selectByOrderId(dataInfo.order.id);
//关闭蒙版、二级确认框
dataInfo.bgStatus = false;
dataInfo.btnConfirmStatus = false;
dataInfo.pass_status = false;
dataInfo.pass = '';
dataInfo.public_pass = '';
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else {
mui.toast(data.msg);
}
}
});
}
//查询申诉结果
function selectAppealHandleLog() {
mui.ajax(appealAjax.SELECT_APPEAL_HANDLE_LOG.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
orderNumber: dataInfo.order.orderNumber,
},
dataType: 'json',
type: appealAjax.SELECT_APPEAL_HANDLE_LOG.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
dataInfo.appealInfo = data.data;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//查询广告信息
function selectAdById() {
mui.ajax(adAjax.SELECT_BY_ID.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
data: {
adId: dataInfo.order.adId,
},
dataType: 'json',
type: adAjax.SELECT_BY_ID.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//设置广告方备注信息
dataInfo.ad_remark = data.data.adRemark;
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
//查询定时撤单间隔时间
function selectAutoCancelInterval() {
mui.ajax(configAjax.SELECT_AUTO_CANCEL_INTERVAL.getUrl, {
headers: {
"X-Requested-Token": app.getTokenStorage(), // token头部
"locale": app.getLanguageLocalStorage() // 语种头部
},
dataType: 'json',
type: configAjax.SELECT_AUTO_CANCEL_INTERVAL.getType,
timeout: 10000, //超时时间设置为10秒
success: function(data) {
if(data.code == 200) {
//传入时间间隔,开始倒计时
dataInfo.countDown(data.data);
} else if(data.code == 201) {
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
} else if(data.code == 202) {
mui.toast("您的账号在别处登录!");
//未登录,跳转登录页面
app.openWin(requestUrl.LOGIN.getUrl, requestUrl.LOGIN.getId);
}
}
});
}
</script>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,48 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//查询广告买入列表
obj.LIST_BUY_ADS = {
getUrl: baseUrl + "ad/listBuyAd",
getType: "GET"
};
//查询广告卖出列表
obj.LIST_SELL_ADS = {
getUrl: baseUrl + "ad/listSellAd",
getType: "GET"
};
//发布广告买单
obj.PUBLISH_BUY_AD = {
getUrl: baseUrl + "ad/publishBuyAd",
getType: "POST"
};
//发布广告卖单
obj.PUBLISH_SELL_AD = {
getUrl: baseUrl + "ad/publishSellAd",
getType: "POST"
};
//撤销广告
obj.CANCEL_AD = {
getUrl: baseUrl + "ad/cancelAd",
getType: "POST"
};
//上架广告
obj.DEFAULT_AD = {
getUrl: baseUrl + "ad/defaultAd",
getType: "POST"
};
//下架广告
obj.PENDING_AD = {
getUrl: baseUrl + "ad/pendingAd",
getType: "POST"
};
//查询用户广告列表
obj.LIST_USER_AD = {
getUrl: baseUrl + "ad/listUserAd",
getType: "GET"
};
//根据广告id查询广告
obj.SELECT_BY_ID = {
getUrl: baseUrl + "ad/selectById",
getType: "GET"
};
}(window.adAjax = {}))

@ -0,0 +1,18 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//上传申诉文件
obj.UPLOAD_APPEAL_FILE = {
getUrl: baseUrl + "appeal/uploadAppealFile",
getType: "POST"
};
//提交申诉
obj.APPEAL = {
getUrl: baseUrl + "appeal/handleAppeal",
getType: "POST"
};
//查询申诉结果
obj.SELECT_APPEAL_HANDLE_LOG = {
getUrl: baseUrl + "appeal/selectAppealHandleLog",
getType: "GET"
};
}(window.appealAjax = {}))

@ -0,0 +1,13 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//获取法币交易币种
obj.GET_COINS = {
getUrl: baseUrl + "coin/listCoin",
getType: "GET"
};
//获取法币币种手续费列表
obj.LIST_COIN_SERVICE_CHARGE = {
getUrl: baseUrl + "coin/listCoinServiceCharge",
getType: "GET"
};
}(window.coinAjax = {}))

@ -0,0 +1,29 @@
var baseUrl = app.C2CUrl;
var confBaseUrl = app.confBaseUrl;
(function(obj) {
//查询实时撤单时间间隔
obj.SELECT_AUTO_CANCEL_INTERVAL = {
getUrl: baseUrl + "config/selectAutoCancelInterval",
getType: "GET"
};
//查询手续费配置
obj.SELECT_SERVICE_CHARGE = {
getUrl: baseUrl + "config/selectServiceCharge",
getType: "GET"
};
//查询市商保证金代币
obj.SELECT_MARKET_FREEZE_COIN = {
getUrl: baseUrl + "config/selectMarketFreezeCoin",
getType: "GET"
};
//查询市商保证金数量
obj.SELECT_MARKET_FREEZE_AMOUNT = {
getUrl: baseUrl + "config/selectMarketFreezeAmount",
getType: "GET"
};
//查询市商规则
obj.SELECT_MARKET_FREEZE_RULE = {
getUrl: confBaseUrl + "agreement/findAgreement",
getType: "GET"
};
}(window.otcConfigAjax = {}))

@ -0,0 +1,13 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//申请取消市商
obj.CANCEL_APPLY = {
getUrl: baseUrl + "marketApply/cancelApply",
getType: "POST"
};
//申请成为市商
obj.MARKET_APPLY = {
getUrl: baseUrl + "marketApply/marketApply",
getType: "POST"
};
}(window.marketApplyAjax = {}))

@ -0,0 +1,8 @@
var baseUrl = app.C2CUrl;
(function (obj) {
//根据用户查询状态
obj.GET_STATUS_BY_USER = {
getUrl: baseUrl + "marketUser/getStatusByUserId",
getType: "GET"
};
}(window.marketUserAjax = {}))

@ -0,0 +1,38 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//下单买单
obj.BUY_ORDER = {
getUrl: baseUrl + "order/buyOrder",
getType: "POST"
};
//下单卖单
obj.SELL_ORDER = {
getUrl: baseUrl + "order/sellOrder",
getType: "POST"
};
//查询用户订单
obj.LIST_USER_ORDER = {
getUrl: baseUrl + "order/listUserOrder",
getType: "GET"
};
//根据订单id查询订单
obj.SELECT_BY_ORDER_ID = {
getUrl: baseUrl + "order/selectByUserIdAndId",
getType: "GET"
};
//取消买单
obj.CANCEL_BUY_ORDER = {
getUrl: baseUrl + "order/cancelBuyOrder",
getType: "POST"
};
//确认付款
obj.PAY = {
getUrl: baseUrl + "order/pay",
getType: "POST"
};
//确认付款
obj.RECEIPT = {
getUrl: baseUrl + "order/receipt",
getType: "POST"
};
}(window.orderAjax = {}))

@ -0,0 +1,58 @@
var baseUrl = app.C2CUrl;
(function(obj) {
//查询卖家支付信息
obj.SELECT_SELL_PAY_TYPE = {
getUrl: baseUrl + "userPay/selectByAdPayType",
getType: "GET"
};
//根据支付类型查询用户支付信息
obj.SELECT_BY_PAY_TYPE = {
getUrl: baseUrl + "userPay/selectByPayType",
getType: "GET"
};
//查询用户支付信息
obj.LIST_USER_PAY = {
getUrl: baseUrl + "userPay/listUserPay",
getType: "GET"
};
//新增微信支付信息
obj.INSERT_WX = {
getUrl: baseUrl + "userPay/insertWX",
getType: "POST"
};
//新增支付宝支付信息
obj.INSERT_ZFB = {
getUrl: baseUrl + "userPay/insertZFB",
getType: "POST"
};
//新增支付宝支付信息
obj.INSERT_BANK = {
getUrl: baseUrl + "userPay/insertBank",
getType: "POST"
};
//更新微信支付信息
obj.UPDATE_WX = {
getUrl: baseUrl + "userPay/updateWX",
getType: "POST"
};
//更新支付宝支付信息
obj.UPDATE_BANK = {
getUrl: baseUrl + "userPay/updateBank",
getType: "POST"
};
//更新银行卡支付信息
obj.UPDATE_ZFB = {
getUrl: baseUrl + "userPay/updateZFB",
getType: "POST"
};
//上传支付宝信息
obj.UPLOAD_ZFB = {
getUrl: baseUrl + "userPay/uploadZFB",
getType: "POST"
};
//上传支付宝信息
obj.UPLOAD_WX = {
getUrl: baseUrl + "userPay/uploadWX",
getType: "POST"
};
}(window.userpayAjax = {}))

File diff suppressed because it is too large Load Diff

@ -0,0 +1,73 @@
var compute = {
/*
函数加法函数用来得到精确的加法结果
说明javascript的加法结果会有误差在两个浮点数相加的时候会比较明显这个函数返回较为精确的加法结果
参数arg1第一个加数arg2第二个加数d要保留的小数位数可以不传此参数如果不传则不处理小数位数
调用Calc.Add(arg1,arg2,d)
返回值两数相加的结果
*/
Add: function(arg1, arg2, d) {
arg1 = arg1.toString(), arg2 = arg2.toString();
var arg1Arr = arg1.split("."),
arg2Arr = arg2.split("."),
d1 = arg1Arr.length == 2 ? arg1Arr[1] : "",
d2 = arg2Arr.length == 2 ? arg2Arr[1] : "";
var maxLen = Math.max(d1.length, d2.length);
var m = Math.pow(10, maxLen);
var result = Number(((arg1 * m + arg2 * m) / m).toFixed(maxLen));
var d = arguments[2];
return typeof d === "number" ? Number((result).toFixed(d)) : result;
},
/*
函数减法函数用来得到精确的减法结果
说明函数返回较为精确的减法结果
参数arg1第一个加数arg2第二个加数d要保留的小数位数可以不传此参数如果不传则不处理小数位数
调用Calc.Sub(arg1,arg2)
返回值两数相减的结果
*/
Sub: function(arg1, arg2, d) {
return this.Add(arg1, -Number(arg2), arguments[2]);
},
/*
函数乘法函数用来得到精确的乘法结果
说明函数返回较为精确的乘法结果
参数arg1第一个乘数arg2第二个乘数d要保留的小数位数可以不传此参数如果不传则不处理小数位数)
调用Calc.Mul(arg1,arg2)
返回值两数相乘的结果
*/
Mul: function(arg1, arg2, d) {
var r1 = arg1.toString(),
r2 = arg2.toString(),
m, resultVal, d = arguments[2];
m = (r1.split(".")[1] ? r1.split(".")[1].length : 0) + (r2.split(".")[1] ? r2.split(".")[1].length : 0);
resultVal = Number(r1.replace(".", "")) * Number(r2.replace(".", "")) / Math.pow(10, m);
if(typeof d !== "number") {
return Number(resultVal)
} else {
var beiTen = Math.pow(10, parseInt(d));
resultVal = (parseInt(resultVal * beiTen) / beiTen).toFixed(parseInt(d));
return Number(resultVal);
}
},
/*
函数除法函数用来得到精确的除法结果
说明函数返回较为精确的除法结果
参数arg1除数arg2被除数d要保留的小数位数可以不传此参数如果不传则不处理小数位数)
调用Calc.Div(arg1,arg2)
返回值arg1除于arg2的结果
*/
Div: function(arg1, arg2, d) {
var r1 = arg1.toString(),
r2 = arg2.toString(),
m, resultVal, d = arguments[2];
m = (r2.split(".")[1] ? r2.split(".")[1].length : 0) - (r1.split(".")[1] ? r1.split(".")[1].length : 0);
resultVal = Number(r1.replace(".", "")) / Number(r2.replace(".", "")) * Math.pow(10, m);
if(typeof d !== "number") {
return Number(resultVal)
} else {
var beiTen = Math.pow(10, parseInt(d));
resultVal = (parseInt(resultVal * beiTen) / beiTen).toFixed(parseInt(d));
return Number(resultVal);
}
}
};

@ -0,0 +1,27 @@
(function(obj) {
//首页
obj.INDEX = {
getId: '',
getUrl: '../../../mine/html'
};
//登录页
obj.LOGIN = {
getId: 'mine/html/wallet_login.html',
getUrl: '../../../mine/html/wallet_login.html'
};
//认证页
obj.IDENTITY = {
getId: 'mine/html/my/my_identity.html',
getUrl: '../../../mine/html/my/my_identity.html'
};
//设置支付密码页
obj.PAY_PASS = {
getId: 'wallet/html/funding_password.html',
getUrl: '../../wallet/html/funding_password.html'
};
//设置支付方式页
obj.USER_PAY_LIST = {
getId: 'mine/html/user/pay/user_pay.html',
getUrl: '../../../mine/html/user/pay/user_pay.html'
};
}(window.requestUrl = {}))

@ -0,0 +1,415 @@
@charset "UTF-8";
.top-box {
display: flex;
height: 5.4rem;
background: #FFFFFF;
margin-bottom: .2rem; }
.popover {
transition: all 0.3s;
transform: translate(-100%, 0);
width: 3.88rem;
height: 100%;
background: #FFFFFF;
position: fixed;
top: 1.1rem;
bottom: 0;
z-index: 5; }
.popover .popover-top {
width: 100%;
height: .65rem;
border-top: 1px solid #EEEEEE;
font-size: .24rem;
font-weight: 400;
color: #666666;
line-height: .2rem; }
.popover .popover-top .mui-segmented-control {
width: 100%;
overflow-x: auto;
display: flex;
overflow: auto; }
.popover .popover-top .mui-segmented-control::-webkit-scrollbar {
display: none; }
.popover .popover-top .mui-segmented-control .mui-control-item {
overflow: visible;
flex: 1;
width: unset;
margin-right: .5rem; }
.popover .popover-top .mui-segmented-control .mui-control-item:first-child {
padding-left: .3rem; }
.popover .popover-top .mui-segmented-control .mui-control-item:last-child {
padding-right: .3rem; }
.popover .mui-table-view {
background: #FFFFFF; }
.popover .mui-table-view:before {
background-color: #EEEEEE; }
.popover .mui-table-view:after {
height: 0; }
.popover .mui-table-view-cell {
width: 100%;
height: .65rem;
display: flex;
justify-content: space-between; }
.popover .mui-table-view-cell:after {
left: 0;
background-color: #EEEEEE; }
.popover .mui-table-view-cell .popover-coin {
font-size: .24rem;
color: #666666; }
.popover .mui-table-view-cell .popover-coin span {
color: #999999;
font-size: .17rem; }
.popover .mui-table-view-cell .popover-price {
font-size: .24rem;
color: #4CD49B; }
.mui-table-view .mui-active {
background-color: #EEEEEE !important; }
.left-box {
flex: 1;
position: relative; }
.left-box .left-box-btn-group {
width: 100%;
display: flex;
margin: .2rem 0 .1rem .2rem; }
.left-box .left-box-btn-group .btn-group-buy {
width: 1.48rem;
height: .6rem;
border-radius: 4px 0px 0px 4px;
position: relative;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center; }
.left-box .left-box-btn-group .btn-group-buy:after {
position: absolute;
border-left: .27rem solid transparent;
border-right: .34rem solid transparent;
border-bottom: .3rem solid #FFFFFF;
content: " ";
display: block;
width: 0;
height: 0;
top: .17rem;
left: 1.05rem;
transform: rotate(270deg);
-webkit-transform: rotate(270deg); }
.left-box .left-box-btn-group .transfer {
height: .6rem; }
.left-box .left-box-btn-group .transfer img {
width: .4rem;
height: .4rem;
vertical-align: -webkit-baseline-middle; }
.left-box .left-box-btn-group .btn-group-sale {
width: 1.48rem;
height: .6rem;
border-radius: 0px 4px 4px 0px;
position: relative;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center; }
.left-box .left-box-btn-group .btn-group-sale:before {
position: absolute;
border-left: .27rem solid transparent;
border-right: .34rem solid transparent;
border-bottom: .27rem solid #FFFFFF;
content: " ";
display: block;
width: 0;
height: 0;
top: .17rem;
left: -.19rem;
transform: rotate(90deg);
-webkit-transform: rotate(90deg); }
.left-box .inputInfo .mui-btn-block {
font-size: 10px;
display: inline-block;
width: 40%;
margin-bottom: 0;
padding: 6px 12px;
background: #182842;
color: #fff;
float: right; }
.left-box .inputInfo .limit-buy {
width: 3.36rem;
height: .6rem;
background: #F1F1F1;
border: 1px solid #F1F1F1;
border-radius: 4px;
color: #333333;
font-size: .22rem;
padding: 0;
padding-left: .2rem;
margin: .1rem 0 .1rem .2rem; }
.left-box .inputInfo .limit-buy::-webkit-input-placeholder {
font-size: .2rem;
font-weight: 400;
color: #BBBBBB; }
.left-box .inputInfo .inputInfo-item1 {
margin-top: .2rem; }
.left-box .inputInfo .inputInfo-item1 a {
width: 100%;
font-size: .27rem;
color: #333333;
line-height: .2rem;
margin: .2rem 0 .2rem .2rem; }
.left-box .inputInfo .inputInfo-item1 a .icon_more {
display: inline-block;
vertical-align: middle;
width: 0;
height: 0;
border: 5px solid transparent;
/*5px 足够了*/
border-top-color: #666666;
/*top箭头向下 bottom箭头向上*/ }
.left-box .inputInfo .inputInfo-item1 .buy-rate {
font-size: .2rem;
font-weight: 400;
color: #999999;
line-height: .2rem;
margin: .1rem 0 .1rem .2rem; }
.left-box .inputInfo .inputInfo-item2 p {
width: 3.36rem;
font-size: .2rem;
font-weight: 400;
color: #999999;
line-height: .2rem;
position: relative;
margin: .1rem 0 .1rem .2rem; }
.left-box .inputInfo .inputInfo-item2 p span {
position: absolute;
right: 0; }
.left-box .inputInfo .inputInfo-item3 {
position: absolute;
bottom: 0; }
.left-box .inputInfo .inputInfo-item3 .buy {
width: 3.36rem;
height: .6rem;
background: #73D13D;
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
margin: .2rem 0 .1rem .2rem;
border: 1px solid #73D13D; }
.left-box .inputInfo .inputInfo-item3 .sales {
width: 3.36rem;
height: .6rem;
background: #E32E33;
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
margin: .2rem 0 .1rem .2rem;
border: 1px solid #E32E33; }
.right-box {
position: relative;
margin-right: .1rem; }
.right-box .right-box-btn-group {
display: flex;
margin: .2rem 0 .1rem .2rem; }
.right-box .right-box-btn-group .pending-order {
width: 1.13rem;
height: .6rem;
background: linear-gradient(90deg, #228cfa 0%, #04b8d3 98%);
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center;
margin-right: .2rem; }
.right-box .right-box-btn-group .history {
width: 1.13rem;
height: .6rem;
background: linear-gradient(90deg, #ff9d00 0%, #ffcd34 100%);
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center; }
.right-box .handicap-ul {
position: absolute;
top: 55%; }
.right-box .item-list {
margin: 0 .2rem; }
.right-box .item-list:last-child {
position: absolute;
bottom: 0;
width: 86%; }
.right-box .item-list:first-child {
position: absolute;
top: 0; }
.right-box .item-list li {
display: flex;
justify-content: space-between;
font-size: .2rem;
font-weight: 400;
line-height: .35rem; }
.right-box .item-list li span:nth-child(1) {
color: #FD595D; }
.right-box .item-list li span:nth-child(2) {
color: #6584AB; }
.right-box .item-list li .gspan {
color: #4CD49B !important; }
.right-box .item-list .list-title span {
color: #4B627F !important; }
.right-box .item-list .handicap {
display: block;
justify-content: initial; }
.right-box .item-list .handicap .handicap-num {
font-size: .27rem;
display: block; }
.right-box .item-list .handicap .handicap-rate {
font-size: .18rem;
display: block;
color: #4B627F; }
.bottom-content {
width: 100%;
background: #FFFFFF; }
.bottom-content h3 {
width: 100%;
height: .8rem;
font-size: .27rem;
font-weight: 400;
color: #333333;
padding-left: .2rem;
line-height: .8rem;
border-bottom: 1px solid #EEEEEE; }
.bottom-content .bottom-content-list .buys,
.bottom-content .bottom-content-list .sales {
display: flex;
font-size: .27rem;
font-weight: 400;
color: #73D13D;
margin: 0 .2rem .1rem .2rem;
padding-top: .2rem; }
.bottom-content .bottom-content-list .buys span,
.bottom-content .bottom-content-list .sales span {
color: #666666; }
.bottom-content .bottom-content-list .buys span:nth-child(1),
.bottom-content .bottom-content-list .sales span:nth-child(1) {
flex: 1;
margin-left: .1rem; }
.bottom-content .bottom-content-list .buys span:nth-child(2),
.bottom-content .bottom-content-list .sales span:nth-child(2) {
width: .6rem;
height: .3rem;
color: #208EF8;
font-size: .2rem;
text-align: right; }
.bottom-content .bottom-content-list .sales {
color: #E32E33; }
.bottom-content .bottom-content-list .list-bottom {
border-bottom: 1px solid #EEEEEE;
margin: 0 .2rem; }
.bottom-content .bottom-content-list .list-bottom .item-list {
display: flex; }
.bottom-content .bottom-content-list .list-bottom .item-list li {
flex: 1;
white-space: nowrap; }
.bottom-content .bottom-content-list .list-bottom .item-list li:nth-child(2) {
padding-left: .3rem; }
.bottom-content .bottom-content-list .list-bottom .item-list li span {
display: block;
margin: .2rem 0; }
.bottom-content .bottom-content-list .list-bottom .item-list li span:nth-child(1) {
font-size: .24rem;
color: #999999;
line-height: 12px; }
.bottom-content .bottom-content-list .list-bottom .item-list li span:nth-child(2) {
font-size: .2rem;
color: #333333;
line-height: 12px; }
.bottom-content .bottom-content-list .list-bottom .item-list li:nth-child(3) {
text-align: right; }
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
display: none;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 3;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset; }
.confirm .input-group {
position: relative;
text-align: center;
overflow: hidden; }
.confirm .input-group .title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1; }
.confirm .input-group .icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333; }
.confirm .input-group .mui-input-row {
padding: 0 .3rem;
margin-top: .4rem; }
.confirm .input-group .mui-input-row label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem; }
.confirm .input-group .mui-input-row .mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem; }
.confirm .input-group .mui-input-row .mui-input-password::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999; }
.confirm .input-group .mui-input-row .mui-icon-eye {
top: .5rem;
right: .29rem; }
.confirm .input-group .mui-button-row button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem; }
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.8);
z-index: 2;
display: none; }
#popover2 {
height: 2rem;
width: 100%; }
#popover2 ul li {
padding: 0.25rem;
font-size: 0.3rem; }
/*# sourceMappingURL=cct_index.css.map */

File diff suppressed because one or more lines are too long

@ -0,0 +1,514 @@
@charset "UTF-8";
//包含顶部内容的容器
.top-box {
display: flex;
height: 5.4rem;
background: #FFFFFF;
margin-bottom: .2rem;
}
//弹出菜单
.popover {
transition: all 0.3s;
transform: translate(-100%, 0);
width: 3.88rem;
height: 100%;
background: #FFFFFF;
position: fixed;
top: 1.1rem;
bottom: 0;
z-index: 5;
.popover-top {
width: 100%;
height: .65rem;
border-top: 1px solid #EEEEEE;
font-size: .24rem;
font-weight: 400;
color: #666666;
line-height: .2rem;
.mui-segmented-control {
width: 100%;
overflow-x: auto;
display: flex;
overflow: auto;
&::-webkit-scrollbar {
display: none;
}
.mui-control-item {
overflow: visible;
flex: 1;
width: unset;
margin-right: .5rem;
&:first-child {
padding-left: .3rem;
}
&:last-child {
padding-right: .3rem;
}
}
}
}
.mui-table-view {
background: #FFFFFF;
&:before {
background-color: #EEEEEE;
}
&:after {
height: 0;
}
}
.mui-table-view-cell {
width: 100%;
height: .65rem;
display: flex;
justify-content: space-between;
&:after {
left: 0;
background-color: #EEEEEE;
}
.popover-coin {
font-size: .24rem;
color: #666666;
span {
color: #999999;
font-size: .17rem;
}
}
.popover-price {
font-size: .24rem;
color: #4CD49B;
}
}
}
.mui-table-view .mui-active {
background-color: #EEEEEE !important;
}
//左边买入卖出样式
.left-box {
flex: 1;
position: relative;
.left-box-btn-group {
width: 100%;
display: flex;
margin: .2rem 0 .1rem .2rem;
.btn-group-buy {
width: 1.48rem;
height: .6rem;
border-radius: 4px 0px 0px 4px;
position: relative;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center;
&:after {
position: absolute;
border-left: .27rem solid transparent;
border-right: .34rem solid transparent;
border-bottom: .3rem solid #FFFFFF;
content: " ";
display: block;
width: 0;
height: 0;
top: .17rem;
left: 1.05rem;
transform: rotate(270deg);
-webkit-transform: rotate(270deg);
}
}
.transfer {
height: .6rem;
img {
width: .4rem;
height: .4rem;
vertical-align: -webkit-baseline-middle;
}
}
.btn-group-sale {
width: 1.48rem;
height: .6rem;
border-radius: 0px 4px 4px 0px;
position: relative;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center;
&:before {
position: absolute;
border-left: .27rem solid transparent;
border-right: .34rem solid transparent;
border-bottom: .27rem solid #FFFFFF;
content: " ";
display: block;
width: 0;
height: 0;
top: .17rem;
left: -.19rem;
transform: rotate(90deg);
-webkit-transform: rotate(90deg);
}
}
}
.inputInfo {
.mui-btn-block {
font-size: 10px;
display: inline-block;
width: 40%;
margin-bottom: 0;
padding: 6px 12px;
background: #182842;
color: #fff;
float: right;
}
.limit-buy {
width: 3.36rem;
height: .6rem;
background: #F1F1F1;
border: 1px solid #F1F1F1;
border-radius: 4px;
color: #333333;
font-size: .22rem;
padding: 0 ;
padding-left: .2rem;
margin: .1rem 0 .1rem .2rem;
&::-webkit-input-placeholder {
font-size: .2rem;
font-weight: 400;
color: #BBBBBB;
}
}
.inputInfo-item1 {
margin-top: .2rem;
a {
width: 100%;
font-size: .27rem;
color: #333333;
line-height: .2rem;
margin: .2rem 0 .2rem .2rem;
.icon_more {
display: inline-block;
vertical-align: middle;
width: 0;
height: 0;
border: 5px solid transparent;
/*5px 足够了*/
border-top-color: #666666;
/*top箭头向下 bottom箭头向上*/
}
}
.buy-rate {
font-size: .2rem;
font-weight: 400;
color: #999999;
line-height: .2rem;
margin: .1rem 0 .1rem .2rem;
}
}
.inputInfo-item2 {
// margin-top: .2rem;
p {
width: 3.36rem;
font-size: .2rem;
font-weight: 400;
color: #999999;
line-height: .2rem;
position: relative;
margin: .1rem 0 .1rem .2rem;
span {
position: absolute;
right: 0;
}
}
}
.inputInfo-item3 {
position: absolute;
bottom: 0;
.buy {
width: 3.36rem;
height: .6rem;
background: #73D13D;
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
margin: .2rem 0 .1rem .2rem;
border: 1px solid #73D13D;
}
.sales {
width: 3.36rem;
height: .6rem;
background: #E32E33;
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
margin: .2rem 0 .1rem .2rem;
// display: none;
border: 1px solid #E32E33;
}
}
}
}
//右边挂单历史样式
.right-box {
// flex: 1;
position: relative;
margin-right: .1rem;
.right-box-btn-group {
display: flex;
margin: .2rem 0 .1rem .2rem;
.pending-order {
width: 1.13rem;
height: .6rem;
background: linear-gradient(90deg, rgba(34, 140, 250, 1) 0%, rgba(4, 184, 211, 1) 98%);
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center;
margin-right: .2rem;
}
.history {
width: 1.13rem;
height: .6rem;
background: linear-gradient(90deg, rgba(255, 157, 0, 1) 0%, rgba(255, 205, 52, 1) 100%);
border-radius: 4px;
font-size: .27rem;
font-weight: 400;
color: #FFFFFF;
line-height: .6rem;
text-align: center;
}
}
.handicap-ul {
position: absolute;
top: 55%;
}
.item-list {
margin: 0 .2rem;
&:last-child {
position: absolute;
bottom: 0;
width: 86%;
}
&:first-child {
position: absolute;
top: 0;
}
li {
display: flex;
justify-content: space-between;
font-size: .2rem;
font-weight: 400;
line-height: .35rem;
span {
&:nth-child(1) {
color: #FD595D;
}
&:nth-child(2) {
color: #6584AB;
}
}
.gspan {
color: #4CD49B !important;
}
}
.list-title {
span {
color: #4B627F !important;
}
}
.handicap {
display: block;
justify-content: initial;
.handicap-num {
font-size: .27rem;
display: block;
}
.handicap-rate {
font-size: .18rem;
display: block;
color: #4B627F;
}
}
}
}
//底部最近委托页面样式
.bottom-content {
width: 100%;
background: #FFFFFF;
h3 {
width: 100%;
height: .8rem;
font-size: .27rem;
font-weight: 400;
color: #333333;
padding-left: .2rem;
line-height: .8rem;
border-bottom: 1px solid #EEEEEE;
}
.bottom-content-list {
.buys,
.sales {
display: flex;
font-size: .27rem;
font-weight: 400;
color: #73D13D;
margin: 0 .2rem .1rem .2rem;
padding-top: .2rem;
span {
color: #666666;
&:nth-child(1) {
flex: 1;
margin-left: .1rem;
}
&:nth-child(2) {
width: .6rem;
height: .3rem;
color: #208EF8;
font-size: .2rem;
text-align: right;
}
}
}
.sales {
color: #E32E33;
}
.list-bottom {
border-bottom: 1px solid #EEEEEE;
margin: 0 .2rem;
.item-list {
display: flex;
li {
flex: 1;
white-space: nowrap;
&:nth-child(2) {
padding-left: .3rem;
}
span {
display: block;
margin: .2rem 0;
&:nth-child(1) {
font-size: .24rem;
color: #999999;
line-height: 12px;
}
&:nth-child(2) {
font-size: .2rem;
color: #333333;
line-height: 12px;
}
}
&:nth-child(3) {
text-align: right;
}
}
}
}
}
}
//<!--买入卖出交易密码确认样式-->
.confirm {
width: 5.42rem;
height: 3.54rem;
border-radius: 4px;
display: none;
position: fixed;
left: 50%;
top: 50%;
margin-left: -2.71rem;
margin-top: -1.77rem;
background: #FFFFFF;
border-radius: .2rem;
z-index: 3;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.06) inset;
.input-group {
position: relative;
text-align: center;
overflow: hidden;
.title-top {
height: .8rem;
border-bottom: 1px solid #F1F1F1;
}
.icon {
position: absolute;
left: .1rem;
padding-top: .2rem;
color: #333333;
}
.title {
display: inline-block;
width: 100%;
padding-top: .2rem;
color: #333333;
}
.mui-input-row {
padding: 0 .3rem;
margin-top: .4rem;
label {
font-size: .24rem;
font-weight: 400;
color: #333333;
text-align: left;
padding: 0;
margin-bottom: .17rem;
}
.mui-input-password {
width: 100%;
height: .6rem;
border: none;
background-color: #F1F1F1;
color: #333333;
padding-left: .2rem;
&::-webkit-input-placeholder {
font-size: .22rem;
font-weight: 400;
color: #999999;
}
}
.mui-icon-eye {
top: .5rem;
right: .29rem;
}
}
.mui-button-row {
button {
width: 89%;
height: .6rem;
background: #D43436;
border-radius: 4px;
border: 1px solid #D43436;
margin-top: .2rem;
}
}
}
}
//灰色背景图蒙版样式
.bg {
position: fixed;
left: 0;
bottom: 0;
right: 0;
top: 0;
background: rgba(21, 33, 54, 0.8);
z-index: 2;
display: none;
}
//底部弹出框
#popover2 {
height: 2rem;
width: 100%;
}
#popover2 ul li {
padding: 0.25rem;
font-size: 0.3rem;
}

@ -0,0 +1,21 @@
.transaction-details {
background: #FFFFFF;
margin: .2rem 0;
padding: 0 .2rem; }
.transaction-details li {
font-size: .24rem; }
.transaction-details li div {
display: flex;
justify-content: space-between;
padding: .1rem 0;
border-bottom: 1px solid #EEEEEE; }
.transaction-details li div:last-child {
border-bottom: none; }
.transaction-details li div span {
padding: .1rem 0; }
.transaction-details li div .transaction-details-txt {
color: #333333; }
.transaction-details li div .transaction-details-num {
color: #999999; }
/*# sourceMappingURL=transaction_details.css.map */

@ -0,0 +1,7 @@
{
"version": 3,
"mappings": "AAEA,oBAAqB;EACjB,UAAU,EAAE,OAAO;EACnB,MAAM,EAAE,OAAO;EACf,OAAO,EAAE,OAAO;EAChB,uBAAG;IACC,SAAS,EAAE,MAAM;IACjB,2BAAI;MACA,OAAO,EAAE,IAAI;MACb,eAAe,EAAE,aAAa;MAC9B,OAAO,EAAE,OAAO;MAChB,aAAa,EAAE,iBAAiB;MAChC,sCAAY;QACP,aAAa,EAAE,IAAI;MAExB,gCAAK;QACD,OAAO,EAAE,OAAO;MAEpB,oDAAyB;QACrB,KAAK,EAAE,OAAO;MAElB,oDAAyB;QACrB,KAAK,EAAE,OAAO",
"sources": ["transaction_details.scss"],
"names": [],
"file": "transaction_details.css"
}

@ -0,0 +1,28 @@
@charset "UTF-8";
//成交明细页面样式
.transaction-details {
background: #FFFFFF;
margin: .2rem 0;
padding: 0 .2rem;
li {
font-size: .24rem;
div {
display: flex;
justify-content: space-between;
padding: .1rem 0;
border-bottom: 1px solid #EEEEEE;
&:last-child{
border-bottom: none;
}
span {
padding: .1rem 0;
}
.transaction-details-txt {
color: #333333;
}
.transaction-details-num {
color: #999999;
}
}
}
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save