Browse Source

更新

master
j1ack 2 years ago
parent
commit
afdbc008cb
  1. 12
      src/App.vue
  2. 8
      src/api/form.js
  3. 3
      src/assets/icons/svg/Frame-1.svg
  4. 10
      src/assets/icons/svg/Frame-2.svg
  5. 3
      src/assets/icons/svg/Frame-3.svg
  6. 3
      src/assets/icons/svg/Frame-4.svg
  7. 3
      src/assets/icons/svg/Frame-5.svg
  8. 3
      src/assets/icons/svg/Frame-6.svg
  9. 3
      src/assets/icons/svg/Frame-7.svg
  10. 3
      src/assets/icons/svg/Frame.svg
  11. BIN
      src/assets/images/Ellipse291.png
  12. 35
      src/router/index.js
  13. 6
      src/views/dashboard/PanelGroup.vue
  14. 528
      src/views/dashboard/PieChartCreate.vue
  15. 218
      src/views/dashboard/radialindicator.vue
  16. 27
      src/views/index_v1.vue
  17. 8
      src/views/login.vue
  18. 50
      src/views/monitor/job/index.vue
  19. 34
      src/views/monitor/logininfor/index.vue
  20. 14
      src/views/monitor/online/index.vue
  21. 34
      src/views/monitor/operlog/index.vue
  22. 45
      src/views/otc/otcAppealConfig/index.vue
  23. 507
      src/views/otc/otcAppealOrder/appealDetail.vue
  24. 105
      src/views/otc/otcAppealOrder/index.vue
  25. 89
      src/views/otc/otcCoin/index.vue
  26. 36
      src/views/otc/otcCurrencyCoin/index.vue
  27. 34
      src/views/otc/otcFinance/index.vue
  28. 44
      src/views/otc/otcOrder/index.vue
  29. 34
      src/views/otc/otcPaymentType/index.vue
  30. 33
      src/views/otc/otcStoreDaiFuOrder/index.vue
  31. 40
      src/views/otc/otcStoreOrder/index.vue
  32. 40
      src/views/otc/otcStoreRechargeOrder/index.vue
  33. 42
      src/views/otc/otcSysDict/index.vue
  34. 44
      src/views/system/config/index.vue
  35. 28
      src/views/system/dept/index.vue
  36. 44
      src/views/system/dict/index.vue
  37. 26
      src/views/system/menu/index.vue
  38. 33
      src/views/system/notice/index.vue
  39. 39
      src/views/system/post/index.vue
  40. 30
      src/views/system/role/index.vue
  41. 51
      src/views/system/user/index.vue
  42. 72
      src/views/user/UserCertification/index.vue
  43. 467
      src/views/user/UserCertification/userDetail.vue
  44. 46
      src/views/user/ad/index.vue
  45. 39
      src/views/user/coin/index.vue
  46. 48
      src/views/user/mail/index.vue
  47. 43
      src/views/user/position/index.vue
  48. 42
      src/views/user/type/index.vue
  49. 32
      src/views/user/userCustomer/index.vue
  50. 42
      src/views/user/wallet/index.vue
  51. 48
      src/views/user/walletAssetsRecord/index.vue

12
src/App.vue

@ -27,6 +27,15 @@ export default {
}
</style>
<style>
.nest-menu .el-menu-item{
padding-left: 48px !important;
}
.nest-menu svg{
display: none;
}
.router-link-active .is-active .svg-icon{
fill: #fff;
}
.el-submenu.is-opened > .el-submenu__title .el-submenu__icon-arrow {
color: #fff;
}
@ -67,6 +76,9 @@ export default {
.m-b-16{
margin-bottom: 16px;
}
.m-r-16{
margin-right: 16px;
}
.m-b-28{
margin-bottom: 28px;
}

8
src/api/form.js

@ -289,4 +289,12 @@ export const paymentDaiFuRecord = {
params: query,
})
},
// otc订单统计
orderStatistics: (query) => {
return request({
url: '/otc/otcOrder/orderStatistics',
method: 'get',
params: query,
})
},
}

3
src/assets/icons/svg/Frame-1.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M17.4706 5.82353C17.4708 6.50597 17.2511 7.17031 16.8442 7.71818C16.4373 8.26605 15.8648 8.66831 15.2114 8.86539C14.5581 9.06247 13.8586 9.04389 13.2166 8.8124C12.5747 8.58091 12.0243 8.14882 11.6471 7.58012C11.3574 8.017 10.9641 8.37533 10.5022 8.6231C10.0403 8.87087 9.52418 9.00036 9.00001 9C8.47584 9.00036 7.95975 8.87087 7.49783 8.6231C7.03592 8.37533 6.64258 8.017 6.35295 7.58012C5.97572 8.14882 5.42536 8.58091 4.78338 8.8124C4.1414 9.04389 3.44194 9.06247 2.78857 8.86539C2.13521 8.66831 1.56269 8.26605 1.15579 7.71818C0.748895 7.17031 0.529263 6.50597 0.529419 5.82353C0.529419 5.50218 0.820595 4.19029 1.40401 1.88788C1.45627 1.65276 1.58715 1.44248 1.77502 1.29175C1.9629 1.14103 2.19655 1.05886 2.43742 1.05882H15.5626C15.8035 1.05886 16.0371 1.14103 16.225 1.29175C16.4129 1.44248 16.5437 1.65276 16.596 1.88788C17.1789 4.19029 17.4706 5.50218 17.4706 5.82353ZM6.35295 9.12971C7.10342 9.73241 8.03748 10.0603 9.00001 10.0588C10.0017 10.0588 10.9218 9.711 11.6471 9.12971C12.3975 9.73241 13.3316 10.0603 14.2941 10.0588C15.0655 10.0588 15.7887 9.85235 16.4118 9.49235V14.9866C16.4118 16.0316 15.7971 16.9412 14.8992 16.9412H3.10077C2.20289 16.9412 1.58824 16.0316 1.58824 14.9866V9.49235C2.23182 9.86461 2.96241 10.06 3.70589 10.0588C4.70754 10.0588 5.62766 9.711 6.35295 9.12971ZM5.29413 11.6471C5.2246 11.6471 5.15576 11.6608 5.09153 11.6874C5.0273 11.714 4.96894 11.753 4.91977 11.8021C4.87061 11.8513 4.83162 11.9096 4.80501 11.9739C4.77841 12.0381 4.76471 12.1069 4.76471 12.1765V13.7647C4.76471 13.9051 4.82049 14.0398 4.91977 14.1391C5.01906 14.2383 5.15372 14.2941 5.29413 14.2941C5.43453 14.2941 5.56919 14.2383 5.66848 14.1391C5.76776 14.0398 5.82354 13.9051 5.82354 13.7647V12.1765C5.82354 12.0361 5.76776 11.9014 5.66848 11.8021C5.56919 11.7028 5.43453 11.6471 5.29413 11.6471Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

10
src/assets/icons/svg/Frame-2.svg

@ -0,0 +1,10 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_15_126)">
<path d="M8.73227 0.457334C6.60815 0.582228 4.85888 2.31291 4.71609 4.43611C4.55544 6.934 6.51891 9.02152 8.98216 9.02152C11.3562 9.02152 13.2661 7.09457 13.2661 4.73942C13.2839 2.27722 11.2134 0.314597 8.73227 0.457334ZM9.00001 10.4132C6.14406 10.4132 0.450012 11.8406 0.450012 14.6953V16.8363C0.450012 17.2289 0.771307 17.55 1.164 17.55H16.836C17.2287 17.55 17.55 17.2289 17.55 16.8363V14.6774C17.55 11.8406 11.856 10.4132 9.00001 10.4132Z"/>
</g>
<defs>
<clipPath id="clip0_15_126">
<rect width="18" height="18"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 664 B

3
src/assets/icons/svg/Frame-3.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M16.1579 7.48276H7.42105C6.78947 7.48276 6.57895 7.68966 6.57895 8.31035V10.6897C6.57895 11.3103 6.78947 11.5172 7.42105 11.5172H16.1579C16.7895 11.5172 17 11.3103 17 10.6897V8.31035C17 7.68966 16.7895 7.48276 16.1579 7.48276ZM16.1579 2H7.42105C6.78947 2 6.57895 2.2069 6.57895 2.82759V5.2069C6.57895 5.82759 6.78947 6.03448 7.42105 6.03448H16.1579C16.7895 6.03448 17 5.82759 17 5.2069V2.82759C17 2.2069 16.7895 2 16.1579 2ZM4.15789 7.48276H1.84211C1.21053 7.48276 1 7.68966 1 8.31035V10.6897C1 11.3103 1.21053 11.5172 1.84211 11.5172H4.26316C4.89474 11.5172 5.10526 11.3103 5.10526 10.6897V8.31035C5 7.68966 4.78947 7.48276 4.15789 7.48276ZM4.15789 2H1.84211C1.21053 2 1 2.2069 1 2.82759V5.2069C1 5.82759 1.21053 6.03448 1.84211 6.03448H4.26316C4.89474 6.03448 5.10526 5.82759 5.10526 5.2069V2.82759C5 2.2069 4.78947 2 4.15789 2ZM16.1579 13.069H7.42105C6.78947 13.069 6.57895 13.2759 6.57895 13.8966V16.1724C6.57895 16.7931 6.78947 17 7.42105 17H16.1579C16.7895 17 17 16.7931 17 16.1724V13.7931C17 13.2759 16.7895 13.069 16.1579 13.069ZM4.15789 13.069H1.84211C1.21053 13.069 1 13.2759 1 13.8966V16.1724C1 16.7931 1.21053 17 1.84211 17H4.26316C4.89474 17 5.10526 16.7931 5.10526 16.1724V13.7931C5 13.2759 4.78947 13.069 4.15789 13.069Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

3
src/assets/icons/svg/Frame-4.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5826 1H7.27695C6.8715 1 6.54735 1.38283 6.54735 1.85603C6.54735 2.33032 6.87209 2.71428 7.27695 2.71428H10.603C10.9881 2.71428 11.3127 2.33032 11.3127 1.85603C11.3128 1.38281 10.9886 1 10.5826 1ZM14.1719 1.57135H12.5258C12.5426 1.66514 12.5522 1.76001 12.5522 1.85603C12.5527 2.5766 12.0602 3.28578 11.4743 3.28578H6.41709C5.80045 3.28578 5.30723 2.5766 5.30723 1.85603C5.30782 1.76001 5.31749 1.66514 5.33423 1.57135H3.66822C2.32902 1.57135 2 2.37706 2 3.53937V15.0526C2 16.3012 2.47115 17 3.76934 17H14.0707C15.3689 17 16 16.4521 16 15.0532V3.53935C16.0001 2.37716 15.4093 1.57144 14.172 1.57144L14.1719 1.57135ZM12.4807 12.9389H5.32234C5.0585 12.9389 4.79511 12.5954 4.79511 12.315C4.79511 12.0355 5.01803 11.796 5.28189 11.796H12.4198C12.6836 11.796 12.9065 12.0137 12.9265 12.315C12.9265 12.5955 12.7445 12.9389 12.4807 12.9389ZM12.5098 9.89043H5.35134C5.08746 9.89043 4.91946 9.58936 4.91946 9.30871C4.91946 9.02816 5.14248 8.74759 5.40624 8.74759H12.5442C12.808 8.74759 13.031 9.00753 13.0509 9.30871C13.0509 9.58926 12.7731 9.89043 12.5098 9.89043ZM12.5098 6.75953H5.35134C5.08746 6.75953 4.91946 6.45834 4.91946 6.17781C4.91946 5.89724 5.14248 5.61668 5.40624 5.61668H12.5442C12.808 5.61668 13.031 5.87674 13.0509 6.17781C13.0509 6.45834 12.7731 6.75953 12.5098 6.75953Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

3
src/assets/icons/svg/Frame-5.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M6.70254 1.53457H2.51895C1.75254 1.53457 1.125 2.16211 1.125 2.93028V7.11387C1.125 7.88028 1.75254 8.50782 2.51895 8.50782H6.70254C7.46895 8.50782 8.09648 7.88028 8.09648 7.11387V2.93028C8.09824 2.16211 7.4707 1.53457 6.70254 1.53457ZM6.70254 9.90176H2.51895C1.75254 9.90176 1.125 10.5293 1.125 11.2975V15.4811C1.125 16.2475 1.75254 16.875 2.51895 16.875H6.70254C7.46895 16.875 8.09648 16.2475 8.09648 15.4811V11.2975C8.09824 10.5293 7.4707 9.90176 6.70254 9.90176ZM15.0697 9.90176H10.8861C10.1197 9.90176 9.49219 10.5293 9.49219 11.2957V15.4793C9.49219 16.2457 10.1197 16.8732 10.8861 16.8732H15.0697C15.8361 16.8732 16.4637 16.2457 16.4637 15.4793V11.2957C16.4654 10.5293 15.8379 9.90176 15.0697 9.90176ZM16.4672 4.03594L13.9641 1.53282C13.4209 0.989651 12.535 0.989651 11.9918 1.53282L9.48867 4.03594C8.94551 4.5791 8.94551 5.46504 9.48867 6.00821L11.9918 8.51133C12.535 9.0545 13.4209 9.0545 13.9641 8.51133L16.4672 6.00821C17.0104 5.46504 17.0104 4.57735 16.4672 4.03594Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

3
src/assets/icons/svg/Frame-6.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M14.7315 15.8508C15.0278 15.8508 15.268 16.1081 15.268 16.4254C15.268 16.7427 15.0278 17 14.7315 17H3.30978C3.01344 17 2.7732 16.7428 2.7732 16.4254C2.7732 16.1081 3.01344 15.8508 3.30978 15.8508H14.7315ZM14.4433 1C15.8553 1 17 2.22689 17 3.74034V10.9448C17 12.4582 15.8553 13.6851 14.4433 13.6851H3.5567C2.14468 13.6851 1 12.4582 1 10.9448V3.74036C1 2.22689 2.14468 1 3.5567 1H14.4433ZM12.8257 3.92443L12.8187 3.93242L9.94104 7.27701L7.96631 5.66622L7.95927 5.66057C7.72854 5.47821 7.42617 5.52402 7.23736 5.76996L7.23168 5.77747L4.36961 9.61361L4.36323 9.62231C4.15659 9.90847 4.16974 10.3475 4.39299 10.6137L4.3998 10.6217L4.4068 10.6296C4.63683 10.8867 4.9897 10.8703 5.20366 10.5926L5.21012 10.5841L7.7426 7.18968L9.68892 8.77731L9.69555 8.78266C9.91361 8.95527 10.1977 8.92496 10.389 8.70864L10.3947 8.70203L13.6015 4.97488L13.6084 4.96675C13.8332 4.69692 13.8431 4.25169 13.6291 3.9667C13.4151 3.68172 13.0573 3.66384 12.8257 3.92445L12.8257 3.92443Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

3
src/assets/icons/svg/Frame-7.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1607 3.58378H15.0555C16.1161 3.58378 17 4.44576 17 5.55056V8.02546H1.55372V5.55056C1.55372 4.46766 2.41551 3.58378 3.47613 3.58378H6.34908V2.58944C6.34908 2.03713 6.79092 1.59509 7.32133 1.59509H11.1884C11.7409 1.59509 12.1607 2.05903 12.1607 2.58944V3.58378ZM7.32114 3.07566V3.58378H11.2105L11.1884 3.07566C11.1884 2.81036 10.9673 2.58944 10.7022 2.58944H7.80736C7.54206 2.58944 7.32114 2.81055 7.32114 3.07566ZM10.1055 8.99771C10.1939 9.15236 10.2381 9.3072 10.2381 9.48393C10.2381 10.0364 9.79623 10.4783 9.26602 10.4783C8.73561 10.4783 8.29358 10.0364 8.31567 9.48393C8.31567 9.30701 8.35986 9.13027 8.44822 8.99771H10.1055ZM9.26582 11.4507C10.3264 11.4507 11.1882 10.5666 11.1882 9.48393C11.1882 9.32929 11.1663 9.15255 11.1219 8.99771H16.9779V14.4337C16.9779 15.5165 16.1159 16.4003 15.0553 16.4003H3.45403C2.39322 16.4003 1.53143 15.5165 1.53143 14.4337V8.99771H7.4095C7.36531 9.15236 7.34322 9.3072 7.34322 9.48393C7.34322 10.5668 8.20501 11.4507 9.26582 11.4507Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

3
src/assets/icons/svg/Frame.svg

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path d="M9.85937 1.2756L16.0345 5.69319C16.3332 5.90687 16.5766 6.18836 16.7445 6.51439C16.9124 6.84041 17 7.20159 17 7.56804V14.6918C17 15.9666 15.9632 17 14.6842 17H11.5263V13.6427C11.5263 12.2521 10.3952 11.1247 9 11.1247C7.60484 11.1247 6.47368 12.2521 6.47368 13.6427V17H3.31579C2.03684 17 1 15.9666 1 14.6918V7.56825C1.00002 7.20176 1.08759 6.84054 1.25548 6.51448C1.42337 6.18842 1.66675 5.90689 1.96547 5.69319L8.14063 1.2756C8.39111 1.09639 8.69167 1 9 1C9.30833 1 9.60889 1.09639 9.85937 1.2756Z"/>
</svg>

After

Width:  |  Height:  |  Size: 602 B

BIN
src/assets/images/Ellipse291.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

35
src/router/index.js

@ -70,7 +70,7 @@ export const constantRoutes = [
path: 'index',
component: () => import('@/views/index_v1'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
meta: { title: '首页', icon: 'Frame', affix: true }
}
]
},
@ -87,7 +87,38 @@ export const constantRoutes = [
meta: { title: '个人中心', icon: 'user' }
}
]
}
},
{
path: '',
component: Layout,
redirect: 'userDetail',
children: [{
path: '/userDetail',
component: (resolve) => require(['@/views/user/UserCertification/userDetail'], resolve),
name: 'userDetail',
meta: {
title: '详情'
},
hidden: true
}]
},
{
path: '',
component: Layout,
redirect: 'appealDetail',
children: [{
path: '/appealDetail',
component: (resolve) => require(['@/views/otc/otcAppealOrder/appealDetail'], resolve),
name: 'appealDetail',
meta: {
title: '详情'
},
hidden: true
}]
},
]
// 动态路由,基于用户权限动态去加载

6
src/views/dashboard/PanelGroup.vue

@ -6,7 +6,7 @@
<div class="item-time">{{chartData.beginTime}}~{{chartData.endTime}}</div>
<div class="flex-between">
<div style="font-size:46px;font-weight:500;color: #333;">
<count-to :start-val="0" :end-val="chartData.paymentSuccessOrderNum" :duration="3600" class="card-panel-num" />
<count-to :start-val="0" :end-val="chartData.num" :duration="3600" class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)"></span>
</div>
<img src="../../assets/images/Group1171275385.png" alt="" srcset="" style="width:86px;height:86px">
@ -20,7 +20,7 @@
<div class="item-time">{{chartData.beginTime}}~{{chartData.endTime}}</div>
<div class="flex-between">
<div style="font-size:46px;font-weight:500;color: #333;">
<count-to :start-val="0" :end-val="chartData.collectionSuccessPrice" :duration="3600" class="card-panel-num" />
<count-to :start-val="0" :end-val="chartData.amount" :duration="3600" class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)">万元</span>
</div>
<img src="../../assets/images/Group1171275386.png" alt="" srcset="" style="width:86px;height:86px">
@ -34,7 +34,7 @@
<div class="item-time">{{chartData.beginTime}}~{{chartData.endTime}}</div>
<div class="flex-between">
<div style="font-size:46px;font-weight:500;color: #333;">
<count-to :start-val="0" :end-val="chartData.collectionSuccessPrice" :duration="3600" class="card-panel-num" />
<count-to :start-val="0" :end-val="chartData.income" :duration="3600" class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)">万元</span>
</div>
<img src="../../assets/images/Group1171275387.png" alt="" srcset="" style="width:86px;height:86px">

528
src/views/dashboard/PieChartCreate.vue

@ -2,27 +2,107 @@
<!-- <div :class="className" :style="{height:height,width:width}" /> -->
<el-row :gutter="40" class="panel-group flex-between">
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col" v-for="item, index in 4" :key="index">
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="flex-between m-b-28">
<span class="t1">
代收成功订单
</span>
<span class="t2">
总订单3698
总订单{{ chartData.collectionTotalOrder }}
</span>
</div>
<!-- <radial-indicator
:percentNum="this.chartData.collectionSuccessOrderNum?Math.floor((this.chartData.collectionSuccessOrderNum / this.chartData.collectionTotalOrder) * 100):0"
speed="3"
size="120"
color="linear-gradient(231.58deg, #2ED283 17.34%, #48F4C1 82.12%);"
backgroundColor="#ECF1F8"
content=""
/> -->
<div class="pieCon1 center" id="myChart1" style="width:150px;height:150px;margin-bottom: 15px;"></div>
<div class="center">
<count-to :start-val="0" :end-val="chartData.collectionSuccessOrderNum" :duration="3600"
class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)"></span>
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="flex-between m-b-28">
<span class="t1">
代收成功金额
</span>
<span class="t2">
总金额{{ NumberDiv(chartData.collectionAllPrice, 10000) }}万元
</span>
</div>
<div class="pieCon1 center" id="myChart2" style="width:150px;height:150px;margin-bottom: 15px;"></div>
<div class="center">
<count-to :start-val="0" :end-val="NumberDiv(chartData.collectionSuccessPrice, 10000)" :duration="3600"
class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)">万元</span>
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="flex-between m-b-28">
<span class="t1">
代付成功订单
</span>
<span class="t2">
总订单{{ chartData.paymentTotalOrder }}
</span>
</div>
<div class="pieCon1 center" id="myChart3" style="width:150px;height:150px;margin-bottom: 15px;"></div>
<div class="center">
<count-to :start-val="0" :end-val="3256" :duration="3600" class="card-panel-num" />
<count-to :start-val="0" :end-val="chartData.paymentSuccessOrderNum" :duration="3600" class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)"></span>
</div>
</div>
</el-col>
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
<div class="card-panel">
<div class="flex-between m-b-28">
<span class="t1">
代付成功金额
</span>
<span class="t2">
总金额{{ NumberDiv(chartData.paymentAllPrice, 10000) }}万元
</span>
</div>
<div class="pieCon1 center" id="myChart4" style="width:150px;height:150px;margin-bottom: 15px;"></div>
<div class="center">
<count-to :start-val="0" :end-val="NumberDiv(chartData.paymentSuccessPrice, 10000)" :duration="3600"
class="card-panel-num" />
<span style="font-size:14px;color:rgba(125, 140, 161, 1)">万元</span>
</div>
</div>
</el-col>
</el-row>
</template>
<script>
import radialIndicator from "./radialindicator";
import CountTo from 'vue-count-to'
import * as echarts from 'echarts';
require('echarts/theme/macarons') // echarts theme
@ -31,7 +111,8 @@ import resize from './mixins/resize'
export default {
mixins: [resize],
components: {
CountTo
CountTo,
radialIndicator
},
props: {
className: {
@ -45,8 +126,13 @@ export default {
height: {
type: String,
default: '300px'
}
},
chartData: {
type: Object,
required: true,
},
},
data() {
return {
chart: null,
@ -58,8 +144,10 @@ export default {
},
mounted() {
this.$nextTick(() => {
// this.initChart()
this.drawLine()
this.drawLine2()
this.drawLine3()
this.drawLine4()
})
},
beforeDestroy() {
@ -69,13 +157,31 @@ export default {
this.chart.dispose()
this.chart = null
},
watch: {
deep: true,//
'chartData': {
handler: function (newVal, oldVal) {
this.drawLine()
this.drawLine2()
this.drawLine3()
this.drawLine4()
}
}
},
methods: {
drawLine() {
let title;
if (this.chartData.collectionSuccessOrderNum) {
title = Math.floor((this.chartData.collectionSuccessOrderNum / this.chartData.collectionTotalOrder) * 100) + '%'
console.log(Math.floor((this.chartData.collectionSuccessOrderNum / this.chartData.collectionTotalOrder) * 100))
} else {
title = 0 + '%'
}
this.myChart = echarts.init(document.getElementById('myChart1'))
this.myChart.setOption({
title: {
text: '95.08%',
text: title,
textStyle: {
color: '#333',
fontSize: 16
@ -84,6 +190,7 @@ export default {
left: 'center',
top: 'center'
},
angleAxis: {
max: 100, //
clockwise: true, //
@ -125,9 +232,10 @@ export default {
{
type: 'bar',
silent: 'true',
data: [{
name: '作文得分',
value: 68,
data: [
{
name: '',
value: Math.floor((this.chartData.collectionSuccessOrderNum / this.chartData.collectionTotalOrder) * 100),
itemStyle: {
normal: {
color: {
@ -160,6 +268,150 @@ export default {
barGap: '-100%', //
z: 2,
},
// {
// type: 'bar',
// silent: 'true',
// data: [
// {
// name: '',
// value: Math.floor((this.chartData.collectionSuccessOrderNum / this.chartData.collectionTotalOrder) * 100),
// itemStyle: {
// normal: {
// color: {
// //
// colorStops: [
// {
// offset: 1,
// color: "red" // 0%
// },
// ]
// },
// },
// },
// },
// ],
// coordinateSystem: 'polar',
// roundCap: true,
// barWidth: 1,
// barGap: '-100%', //
// z: 3,
// },
{ //
type: 'bar',
silent: 'true',
data: [{
value: 100,
itemStyle: {
color: '#ECF1F8',
shadowColor: '#EAFBF4',
shadowBlur: 10,
shadowOffsetY: 2
}
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 225,
barGap: '-100%', //
z: 1
}
]
})
},
drawLine2() {
let title
if (this.chartData.collectionSuccessPrice) {
title = Math.floor((this.chartData.collectionSuccessPrice / this.chartData.collectionAllPrice) * 100) + '%'
} else {
title = 0 + '%'
}
this.myChart = echarts.init(document.getElementById('myChart2'))
this.myChart.setOption({
title: {
text: title,
textStyle: {
color: '#333',
fontSize: 16
},
itemGap: 10, //
left: 'center',
top: 'center'
},
angleAxis: {
max: 100, //
clockwise: true, //
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
radiusAxis: {
type: 'category',
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
polar: {
center: ['50%', '50%'],
radius: ['60%', '100%'] //
},
series: [
{
type: 'bar',
silent: 'true',
data: [{
name: '',
value: Math.floor((this.chartData.collectionSuccessPrice / this.chartData.collectionAllPrice) * 100),
itemStyle: {
normal: {
color: {
//
colorStops: [
{
offset: 0,
color: "#F5945E" // 0%
},
{
offset: 0.5,
color: "#FBBA68" // 0%
},
{
offset: 0.7,
color: "#FFD56F" // 0%
},
{
offset: 1,
color: "#FFD56F" // 100%
}
]
},
},
},
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 15,
barGap: '-100%', //
z: 2,
},
{ //
type: 'bar',
silent: 'true',
@ -181,51 +433,257 @@ export default {
})
},
initChart() {
this.chart = echarts.init(this.$el, 'macarons')
this.chart.setOption({
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
drawLine3() {
let title
if (this.chartData.paymentSuccessOrderNum) {
title = Math.floor((this.chartData.paymentSuccessOrderNum / this.chartData.paymentTotalOrder) * 100) + '%'
} else {
title = 0 + '%'
}
this.myChart = echarts.init(document.getElementById('myChart3'))
this.myChart.setOption({
title: {
text: title,
textStyle: {
color: '#333',
fontSize: 16
},
legend: {
itemGap: 10, //
left: 'center',
bottom: '10',
data: ['Industries', 'Technology', 'Forex', 'Gold', 'Forecasts']
top: 'center'
},
angleAxis: {
max: 100, //
clockwise: true, //
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
radiusAxis: {
type: 'category',
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
polar: {
center: ['50%', '50%'],
radius: ['60%', '100%'] //
},
series: [
{
name: 'WEEKLY WRITE ARTICLES',
type: 'pie',
roseType: 'radius',
radius: [15, 95],
center: ['50%', '38%'],
data: [
{ value: 320, name: 'Industries' },
{ value: 240, name: 'Technology' },
{ value: 149, name: 'Forex' },
{ value: 100, name: 'Gold' },
{ value: 59, name: 'Forecasts' }
],
animationEasing: 'cubicInOut',
animationDuration: 2600
type: 'bar',
silent: 'true',
data: [{
name: '',
value: Math.floor((this.chartData.paymentSuccessOrderNum / this.chartData.paymentTotalOrder) * 100),
itemStyle: {
normal: {
color: {
//
colorStops: [
{
offset: 0,
color: "#FB5774" // 0%
},
{
offset: 0.5,
color: "#FD7689" // 0%
},
{
offset: 0.7,
color: "#FF939D" // 0%
},
{
offset: 1,
color: "#FF939D" // 100%
}
]
},
},
},
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 15,
barGap: '-100%', //
z: 2,
},
{ //
type: 'bar',
silent: 'true',
data: [{
value: 100,
itemStyle: {
color: '#ECF1F8',
shadowColor: '#EAFBF4',
shadowBlur: 10,
shadowOffsetY: 2
}
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 225,
barGap: '-100%', //
z: 1
}]
})
},
drawLine4() {
let title
if (this.chartData.paymentSuccessPrice) {
title = Math.floor((this.chartData.paymentSuccessPrice / this.chartData.paymentAllPrice) * 100) + '%'
} else {
title = 0 + '%'
}
this.myChart = echarts.init(document.getElementById('myChart4'))
this.myChart.setOption({
title: {
text: title,
textStyle: {
color: '#333',
fontSize: 16
},
itemGap: 10, //
left: 'center',
top: 'center'
},
angleAxis: {
max: 100, //
clockwise: true, //
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
radiusAxis: {
type: 'category',
// 线
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
splitLine: {
show: false
}
},
polar: {
center: ['50%', '50%'],
radius: ['60%', '100%'] //
},
series: [
{
type: 'bar',
silent: 'true',
data: [{
name: '',
value: Math.floor((this.chartData.paymentSuccessPrice / this.chartData.paymentAllPrice) * 100),
itemStyle: {
normal: {
color: {
//
colorStops: [
{
offset: 0,
color: "#F5945E" // 0%
},
{
offset: 0.5,
color: "#FBBA68" // 0%
},
{
offset: 0.7,
color: "#FFD56F" // 0%
},
{
offset: 1,
color: "#FFD56F" // 100%
}
]
},
},
},
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 15,
barGap: '-100%', //
z: 2,
},
{ //
type: 'bar',
silent: 'true',
data: [{
value: 100,
itemStyle: {
color: '#ECF1F8',
shadowColor: '#EAFBF4',
shadowBlur: 10,
shadowOffsetY: 2
}
}],
coordinateSystem: 'polar',
roundCap: true,
barWidth: 225,
barGap: '-100%', //
z: 1
}]
})
},
}
}
</script>
<style scoped>
.pieCon1 {}
.card-panel-num {
font-size: 32px;
color: #000;
position: relative;
}
.card-panel {
border-radius: 16px;
width: 100%;
background: rgba(255, 255, 255, 1);
padding: 20px 16px 26px 16px;
position: relative;
}
.t1 {

218
src/views/dashboard/radialindicator.vue

@ -0,0 +1,218 @@
<template>
<div class="radial-indicator-container" :style="{'width':size+'px','height':size+'px'}">
<div class="percentloop">
<div class="circle-left" :style="{ background: 'linear-gradient(231.58deg, #2ED283 17.34%, #48F4C1 82.12%)'}">
<div :style="{ background: backgroundColor}" ref="leftcontent"></div>
</div>
<div class="circle-right" :style="{ background: 'linear-gradient(231.58deg, #2ED283 17.34%, #48F4C1 82.12%)'}">
<div :style="{ background: backgroundColor}" ref="rightcontent"></div>
</div>
<div class="content-wrap">
<span class="content-number" :title="percent+'%'">{{percent}}%</span>
</div>
</div>
</div>
</template>
<script>
// Events: animationFinished
export default {
name: 'RadialIndicator',
props: {
size: {
type: [String, Number],
default: 155
},
icon: {
type: String,
default: 'mail'
},
content: String,
color: {
type: String,
default: '#00b3ef'
},
backgroundColor: {
type: String,
default: '#7fd9f7'
},
percentNum: {
type: [String, Number],
default: 0
},
speed: {
// suggest 1~3
type: [String, Number],
default: 1
}
},
data () {
return {
percent: 0,
initDeg: 0,
timeId: null,
animationing: false
}
},
created () {
this.goRotate(this.transformToDeg(this.percentNum))
},
watch: {
'percentNum': function (val) {
if (this.animationing) return
this.goRotate(this.transformToDeg(val))
}
},
methods: {
transformToDeg (percent) {
let deg = 0
if (percent >= 100) {
deg = 360
} else {
deg = parseInt(360 * percent / 100)
}
return deg
},
transformToPercent (deg) {
let percent = 0
if (deg >= 360) {
percent = 100
} else {
percent = parseInt(100 * deg / 360)
}
return percent
},
// > 180
rotateLeft (deg) {
this.$refs.leftcontent.style.transform = 'rotate(' + (deg - 180) + 'deg)'
},
// < 180
rotateRight (deg) {
this.$refs.rightcontent.style.transform = 'rotate(' + deg + 'deg)'
},
goRotate (deg) {
this.animationing = true
this.timeId = setInterval(() => {
if (deg > this.initDeg) {
this.initDeg += Number(this.speed)
if (this.initDeg >= 180) {
this.rotateLeft(this.initDeg)
this.rotateRight(180)
} else {
this.rotateRight(this.initDeg)
}
} else {
this.initDeg -= Number(this.speed)
if (this.initDeg >= 180) {
this.rotateLeft(this.initDeg)
} else {
this.rotateLeft(180)
this.rotateRight(this.initDeg)
}
}
this.percent = this.transformToPercent(this.initDeg)
const remainer = Number(deg) - this.initDeg
if (Math.abs(remainer) < this.speed) {
this.initDeg += remainer
if (this.initDeg > 180) {
this.rotateLeft(deg)
} else {
this.rotateRight(deg)
}
this.animationFinished()
}
}, 10)
},
animationFinished () {
this.percent = this.percentNum
this.animationing = false
clearInterval(this.timeId)
this.$emit('animationFinished')
}
}
}
</script>
<style>
.radial-indicator-container{
width: 120px;
height: 120px;
}
.radial-indicator-container .percentloop {
position: relative;
width: 100%;
height: 100%;
border-radius: 50%;
overflow: hidden;
}
.radial-indicator-container .circle-left,
.radial-indicator-container .circle-right {
position: absolute;
top: 0;
left: 0;
width: 50%;
height: 100%;
overflow: hidden;
}
.radial-indicator-container .circle-left>div,
.radial-indicator-container .circle-right>div {
width: 100%;
height: 100%;
transform-origin: right center;
/* transition: all .5s linear; */
}
.radial-indicator-container .circle-right {
left: 50%;
}
.radial-indicator-container .circle-right>div {
transform-origin: left center;
}
.radial-indicator-container .content-wrap {
position: absolute;
top: 9%;
bottom: 9%;
left: 9%;
right: 9%;
background-color: #fff;
border-radius: 50%;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #000;
}
.radial-indicator-container .content-wrap .content-number {
font-size: 24px;
padding: 5px 0 7px 0;
cursor: pointer;
}
.radial-indicator-container .content-wrap .content-text {
display: inline-block;
max-width: 90px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
}
</style>

27
src/views/index_v1.vue

@ -5,28 +5,21 @@
OTC当日数据统计
</div>
<div class="flex">
<span class="title" style="margin-right:10px">时间</span>
<el-date-picker v-model="dateRange" size="small" style="width: 355px;height: 38px;margin-right:16px"
<span class="title" >时间</span>
<el-date-picker v-model="dateRange" size="small" style="width: 355px;height: 38px;margin:0 16px"
value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" start-placeholder="开始日期"
end-placeholder="结束日期" :unlink-panels="true" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
<el-button type="primary" icon="" size="medium" @click="handleQuery">搜索</el-button>
</div>
</div>
<panel-group :chart-data="info" />
<panel-group :chart-data="statisticsData" />
<div class="flex-between m-b-28">
<div class="title">
Payment当日数据统计
</div>
</div>
<pie-chart-create />
<pie-chart-create :chart-data="info" />
</div>
</template>
@ -37,7 +30,7 @@ import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import PieChartCreate from './dashboard/PieChartCreate'
import BarChart from './dashboard/BarChart'
import { payGetMerchantTotalInfo } from "@/api/form";
import { payGetMerchantTotalInfo,orderStatistics } from "@/api/form";
const lineChartData = {
newVisitis: {
@ -74,6 +67,7 @@ export default {
dateRange: [],
queryParams: {},
info: {},
statisticsData:{},
}
},
created() {
@ -100,12 +94,16 @@ export default {
getData() {
payGetMerchantTotalInfo.getMerchantTotalInfo(this.addSESDateRange(this.queryParams, this.dateRange)).then(response => {
this.info = response.data
this.info.beginTime=this.dateRange[0]
this.info.endTime=this.dateRange[1]
});
payGetMerchantTotalInfo.orderStatistics(this.addSESDateRange(this.queryParams, this.dateRange)).then(response => {
this.statisticsData = response.data
this.statisticsData.beginTime=this.dateRange[0]
this.statisticsData.endTime=this.dateRange[1]
});
},
/** 搜索按钮操作 */
handleQuery() {
this.getData()
},
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
@ -119,6 +117,7 @@ export default {
font-size: 16px;
color: #333;
font-weight: 500;
margin: initial !important;
}
.dashboard-editor-container {

8
src/views/login.vue

@ -128,7 +128,7 @@ export default {
}
};
</script>
<style scoped>
<style>
.login .el-input__inner {
border-radius: 10px;
border: 1px solid #525252;
@ -155,8 +155,12 @@ export default {
border-color: #08BA7A;
border-radius: 10px;
}
.login .el-input--medium .el-input__inner {
height: 50px;
line-height: 50px;
}
</style>
<style rel="stylesheet/scss" lang="scss">
<style rel="stylesheet/scss" lang="scss" scoped>
.login {
display: flex;
justify-content: center;

50
src/views/monitor/job/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务名称" prop="jobName">
<el-input
v-model="queryParams.jobName"
@ -30,28 +31,25 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['monitor:job:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['monitor:job:edit']"
@ -59,10 +57,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:job:remove']"
@ -70,20 +66,16 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['monitor:job:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-s-operation"
size="mini"
type="primary"
size="medium"
@click="handleJobLog"
v-hasPermi="['monitor:job:query']"
>日志</el-button>
@ -115,21 +107,21 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['monitor:job:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['monitor:job:remove']"
>删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['monitor:job:changeStatus', 'monitor:job:query']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown size="medium" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['monitor:job:changeStatus', 'monitor:job:query']">
<el-button size="medium" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleRun" icon="el-icon-caret-right"
v-hasPermi="['monitor:job:changeStatus']">执行一次</el-dropdown-item>
@ -202,7 +194,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="执行策略" prop="misfirePolicy">
<el-radio-group v-model="form.misfirePolicy" size="small">
<el-radio-group v-model="form.misfirePolicy" size="medium">
<el-radio-button label="1">立即执行</el-radio-button>
<el-radio-button label="2">执行一次</el-radio-button>
<el-radio-button label="3">放弃执行</el-radio-button>
@ -211,7 +203,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="是否并发" prop="concurrent">
<el-radio-group v-model="form.concurrent" size="small">
<el-radio-group v-model="form.concurrent" size="medium">
<el-radio-button label="0">允许</el-radio-button>
<el-radio-button label="1">禁止</el-radio-button>
</el-radio-group>
@ -242,7 +234,7 @@
<!-- 任务日志详细 -->
<el-dialog title="任务详细" :visible.sync="openView" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="120px" size="mini">
<el-form ref="form" :model="form" label-width="120px" size="medium">
<el-row>
<el-col :span="12">
<el-form-item label="任务编号:">{{ form.jobId }}</el-form-item>

34
src/views/monitor/logininfor/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="登录地址" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
@ -47,18 +48,18 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:logininfor:remove']"
@ -66,10 +67,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
@click="handleClean"
v-hasPermi="['monitor:logininfor:remove']"
>清空</el-button>
@ -77,9 +76,7 @@
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-unlock"
size="mini"
size="medium"
:disabled="single"
@click="handleUnlock"
v-hasPermi="['monitor:logininfor:unlock']"
@ -87,10 +84,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['monitor:logininfor:export']"
>导出</el-button>
@ -127,6 +122,7 @@
@pagination="getList"
/>
</div>
</div>
</template>
<script>

14
src/views/monitor/online/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" label-width="68px">
<el-form-item label="登录地址" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
@ -18,11 +19,13 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<div class="bg bg-white">
<el-table
v-loading="loading"
:data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)"
@ -48,7 +51,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleForceLogout(scope.row)"
@ -60,6 +63,7 @@
<pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
</div>
</div>
</template>
<script>

34
src/views/monitor/operlog/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="系统模块" prop="title">
<el-input
v-model="queryParams.title"
@ -62,18 +63,18 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:operlog:remove']"
@ -81,20 +82,16 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
@click="handleClean"
v-hasPermi="['monitor:operlog:remove']"
>清空</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['monitor:operlog:export']"
>导出</el-button>
@ -132,7 +129,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-view"
@click="handleView(scope.row,scope.index)"
@ -149,10 +146,11 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 操作日志详细 -->
<el-dialog title="操作日志详细" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="100px" size="mini">
<el-form ref="form" :model="form" label-width="100px" size="medium">
<el-row>
<el-col :span="12">
<el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>

45
src/views/otc/otcAppealConfig/index.vue

@ -1,9 +1,11 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -13,28 +15,26 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['otc:otcAppealConfig:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['otc:otcAppealConfig:edit']"
@ -42,10 +42,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['otc:otcAppealConfig:remove']"
@ -53,10 +51,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcAppealConfig:export']"
>导出</el-button>
@ -73,14 +69,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcAppealConfig:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -97,6 +93,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改申诉类型配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -106,7 +103,7 @@
</el-form-item>
<el-form-item label="申诉终端" prop="terminalSource">
<!-- <el-input v-model="form.terminalSource" placeholder="请输入申诉终端" />-->
<el-select v-model="form.terminalSource" placeholder="请申诉终端" clearable size="small">
<el-select v-model="form.terminalSource" placeholder="请申诉终端" clearable size="medium">
<el-option
v-for="dict in terminalSourceOptions"
:key="dict.dictValue"
@ -119,7 +116,7 @@
<!-- <el-radio-group v-model="form.status">-->
<!-- <el-radio label="1">请选择字典生成</el-radio>-->
<!-- </el-radio-group>-->
<el-select v-model="form.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="form.status" placeholder="请选择状态" clearable size="medium">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -129,7 +126,7 @@
</el-select>
</el-form-item>
<!-- <el-form-item label="添加时间" prop="createTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.createTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->

507
src/views/otc/otcAppealOrder/appealDetail.vue

@ -0,0 +1,507 @@
<template>
<div class="app-container">
<div class="bg bg-white">
<el-table v-loading="loading" :data="UserCertificationList">
<el-table-column :label="'订单编号'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.orderNo }}
</template>
</el-table-column>
<el-table-column :label="'用户名称'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.appealUser.name }}
</template>
</el-table-column>
<el-table-column :label="'交易类型'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.tradeType == 'buy' ? '购买' : '出售' }}
</template>
</el-table-column>
<el-table-column :label="'交易币种'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.coin }}
</template>
</el-table-column>
<el-table-column :label="'交易数量'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.realityCoinNum }}
</template>
</el-table-column>
<el-table-column :label="'交易单价'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.legalCurrency }}
</template>
</el-table-column>
<el-table-column :label="'交易总价'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.realityLegalNums }}
</template>
</el-table-column>
<el-table-column :label="'法币币种'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.limitCoin }}
</template>
</el-table-column>
<el-table-column label="订单状态" align="center" prop="orderStatus" :formatter="sysOrderStatusFormat" />
<el-table-column :label="'下单时间'" align="center" prop="balance">
<template slot-scope="scope">
{{ scope.row.order.createTime }}
</template>
</el-table-column>
</el-table>
<div class="status-con" v-if="UserCertificationList.length">
<div class="flex" style="align-items:flex-start">
<div class="let item m-b-16" style="margin-right:60px">
<div class="title m-b-16 flex">
<div class="circle"></div>
申诉人基本信息
</div>
<div class="status">
<div class="flex" style="align-items: flex-start">
<div class="let">
<div class="text m-b-16">
昵称{{ UserCertificationList[0].appealUser.nickname ?
UserCertificationList[0].appealUser.nickname
:
'无' }}
</div>
<div class="text m-b-16">
姓名{{ UserCertificationList[0].appealUser.name ?
UserCertificationList[0].appealUser.name
:
'无' }}
</div>
<div class="text m-b-16">
邮箱{{ UserCertificationList[0].appealUser.email ?
UserCertificationList[0].appealUser.email
:
'无' }}
</div>
</div>
<div class="rig">
 <div class="text m-b-16">
用户类型{{ UserCertificationList[0].appealUser.userRole == 'user' ? '普通用户' : '认证商家' }}
</div>
 <div class="text m-b-16">
证件号{{ UserCertificationList[0].appealUser.idNumber }}
</div>
</div>
</div>
<div class="bottom flex">
<div class="text let">
总单量{{ UserCertificationList[0].appealUser.totalNum }}
</div>
<div class="text">
成交率{{ NumberMul(UserCertificationList[0].appealUser.successRate, 100) }}%
</div>
</div>
</div>
</div>
<div class="right item">
<div class="title m-b-16 flex">
<div class="circle"></div>
被申诉人基本信息
</div>
<div class="status">
<div class="flex" style="align-items: flex-start">
<div class="let">
<div class="text m-b-16">
昵称{{ UserCertificationList[0].beAppealUser.nickname ?
UserCertificationList[0].beAppealUser.nickname
:
'无' }}
</div>
<div class="text m-b-16">
姓名{{ UserCertificationList[0].beAppealUser.name ?
UserCertificationList[0].beAppealUser.name
:
'无' }}
</div>
<div class="text m-b-16">
邮箱{{ UserCertificationList[0].beAppealUser.email ?
UserCertificationList[0].beAppealUser.email
:
'无' }}
</div>
</div>
<div class="rig">
 <div class="text m-b-16">
用户类型{{ UserCertificationList[0].beAppealUser.userRole == 'user' ? '普通用户' : '认证商家'
}}
</div>
 <div class="text m-b-16">
证件号{{ UserCertificationList[0].beAppealUser.idNumber }}
</div>
</div>
</div>
<div class="bottom flex">
<div class="text let">
总单量{{ UserCertificationList[0].beAppealUser.totalNum }}
</div>
<div class="text">
成交率{{ NumberMul(UserCertificationList[0].beAppealUser.successRate, 100) }}%
</div>
</div>
</div>
</div>
</div>
<div class="bottom item">
<div class="title m-b-16 flex">
<div class="circle"></div>
申诉资料
</div>
<div class="status">
<div class="text m-b-16" style="margin-right:40px">
申诉类型{{ UserCertificationList[0].appealRemark ? UserCertificationList[0].appealRemark : '无' }}
</div>
<div class="text m-b-16 ">
申诉原因{{ UserCertificationList[0].appealDesc ? UserCertificationList[0].appealDesc : '无' }}
</div>
<div class="text flex m-b-28">
申诉文件
<div class="flex">
<template v-if="UserCertificationList[0].listUrl.length" >
<el-image v-for="dict in UserCertificationList[0].listUrl"
:key="dict"
@click="previewImage(dict)"
style="width: 150px;height:150px;margin-right:10px"
:src="dict"
:preview-src-list="srcList"
class="avatar" >
</el-image>
</template>
<span v-if="!UserCertificationList[0].listUrl.length"></span>
</div>
</div>
<div class="flex" style="margin-left:65px"
v-if="UserCertificationList[0].appealStatus == 'in_appeal'">
<el-button type="primary" icon="" size="large" style="width:110px;height:40px"
@click="handleSuccess()">通过申诉</el-button>
<el-button size="large" type="danger" style="width:110px;height:40px"
@click="handleFail()">驳回申诉</el-button>
</div>
</div>
</div>
</div>
</div>
<!-- 成功对话框 -->
<el-dialog title="通过" :visible.sync="open" width="400px" append-to-body>
<div class="sub-tit m-b-16">
是否通过该申诉申请
</div>
<div slot="footer" class="dialog-footer flex-between">
<el-button type="text" @click="cancelApple">取消</el-button>
<el-button type="text" @click="submitFormApple('success_appeal')">确定</el-button>
</div>
</el-dialog>
<!-- 驳回对话框 -->
<el-dialog title="驳回申诉" :visible.sync="openApple" width="400px" append-to-body>
<el-form ref="form" :model="formApple" :rules="rulesApple" label-width="0px">
<div class="sub-tit m-b-16">
是否确认驳回该申诉申请
</div>
<el-form-item label="" prop="appealDesc">
<el-input v-model="formApple.appealDesc" type="textarea" placeholder="驳回申诉备注" rows="5" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer flex-between">
<el-button type="text" @click="cancelApple">取消</el-button>
<el-button type="text" @click="submitFormApple('fail_appeal')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listOtcAppealOrder, getOtcAppealOrder, delOtcAppealOrder, addOtcAppealOrder, updateOtcAppealOrder, exportOtcAppealOrder, appleOtcAppealOrder } from "@/api/otc/otcAppealOrder";
export default {
name: "UserDetail",
components: {
},
data() {
return {
detailId: null,
openApple: false,
sysOrderStatus: [],
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
UserCertificationList: [],
terminalSourceOptions: [],
appealStatusOptions: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
witNo: null,
userId: null,
name: null,
certId: null,
phone: null,
certFrontImg: null,
certReverseImg: null,
certHandImg: null,
idaHandImg: null,
corporateLicense: null,
auditStatus: null,
auditTime: null,
auditReason: null,
addTime: null,
authType: null
},
//
formApple: {
appealDesc: null
},
//
rulesApple: {
appealDesc: [
{ required: true, message: "驳回申诉备注不能为空", trigger: "blur" }
],
},
//
srcList: ["http://118.25.187.239:9099/img/adImg/557097620301025280.jpg"],
};
},
created() {
this.getDicts("terminal_source").then(response => {
this.terminalSourceOptions = response.data;
});
this.getDicts("appeal_status").then(response => {
this.appealStatusOptions = response.data;
});
this.getDicts("order_status").then(response => {
this.sysOrderStatus = response.data;
});
this.detailId = this.$route.params.row.id
this.getList(this.detailId)
},
methods: {
cancelApple() {
this.openApple = false;
this.open = false;
this.reset();
},
handleSuccess() {
this.reset();
this.open = true;
this.formApple = this.UserCertificationList[0]
},
handleFail() {
this.reset()
this.formApple = this.UserCertificationList[0]
this.openApple = true
},
//
reset() {
this.formApple = {};
this.resetForm("formApple");
},
/** 审核提交 */
submitFormApple(v) {
if (!this.formApple.appealDesc && v == 'fail_appeal') {
this.$message.error('驳回申诉备注不能为空');
return;
}
if (v == 'success_appeal') {
this.formApple = this.UserCertificationList[0]
}
// this.$refs["form"].validate(valid => {
// if (valid) {
this.formApple.appealStatus = v
appleOtcAppealOrder(this.formApple).then(response => {
this.$modal.msgSuccess("操作成功");
this.getList(this.detailId);
this.open = false
this.openApple = false
});
// }
// });
},
/** 查询OTC申诉订单列表 */
getList(v) {
this.loading = true;
getOtcAppealOrder(v).then(response => {
this.UserCertificationList.push(response.data)
this.total = Number(response.total);
this.loading = false;
});
},
//
previewImage(abUrl) {
this.srcList[0] = abUrl;
},
terminalSourceFormat(row, column) {
return this.selectDictLabel(this.terminalSourceOptions, row.terminalSource);
},
appealStatusFormat(row, column) {
return this.selectDictLabel(this.appealStatusOptions, row.appealStatus);
},
sysOrderStatusFormat(row, column) {
return this.selectDictLabel(this.sysOrderStatus, row.order.orderStatus);
},
}
};
</script>
<style scoped>
::v-deep .el-dialog__footer {
border-top: 1px solid rgba(223, 230, 236, 1);
padding: 0;
height: 60px;
}
::v-deep .el-dialog__footer .el-button {
width: 50%;
height: 60px;
}
::v-deep .el-dialog__footer .el-button:nth-child(1) {
border-right: 1px solid rgba(223, 230, 236, 1);
}
::v-deep .el-dialog__footer .el-button:nth-child(1) span {
color: rgba(102, 102, 102, 1);
}
.sub-tit {
font-size: 13px;
font-weight: 500;
text-align: center;
color: rgba(51, 51, 51, 1);
}
::v-deep .el-textarea__inner {
background: #F3F6F8 !important;
}
::v-deep .el-dialog__body {
padding: 15px 20px;
}
::v-deep .el-dialog__header {
text-align: center;
font-size: 14px;
font-weight: 500;
}
.status .bottom {
border-top: 1px solid rgba(223, 230, 236, 1);
padding-top: 16px;
}
.status .let {
width: 275px;
}
.status-text {}
.status-bar {
width: 40px;
height: 160px;
background: rgba(231, 53, 53, 1);
position: absolute;
right: 12px;
top: -32px;
color: rgba(255, 255, 255, 1);
font-size: 16px;
font-weight: 500;
transform: rotate(-40deg);
display: flex;
align-items: center;
writing-mode: vertical-lr;
justify-content: center;
letter-spacing: 8px;
}
.circle {
width: 8px;
height: 8px;
background: rgba(9, 186, 122, 1);
margin-right: 10px;
}
.img-con-border {
border: 1px solid rgba(223, 230, 236, 1);
padding: 9px;
width: 359px;
height: 203px;
border-radius: 4px;
}
.img-con-border img {
width: 100%;
height: 100%;
}
.title {
font-size: 24px;
font-weight: 500;
}
.status-con {
margin-top: 52px;
}
.status {
border: 1px solid rgba(223, 230, 236, 1);
padding: 20px 16px;
border-radius: 8px;
position: relative;
flex-wrap: wrap;
}
.status .text {
font-size: 16px;
font-weight: 500;
}
</style>

105
src/views/otc/otcAppealOrder/index.vue

@ -5,34 +5,21 @@
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单号" prop="otcOrderNo">
<el-input
v-model="queryParams.otcOrderNo"
placeholder="请输入订单号"
clearable
size="medium"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.otcOrderNo" placeholder="请输入订单号" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="申诉状态" prop="appealStatus">
<el-select size="medium" v-model="queryParams.appealStatus" placeholder="请选择申诉状态" clearable>
<el-option
v-for="dict in appealStatusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
<el-option v-for="dict in appealStatusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="申诉终端" prop="terminalSource">
<el-input
v-model="queryParams.terminalSource"
placeholder="请输入申诉终端"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.terminalSource" placeholder="请输入申诉终端" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
@ -45,23 +32,14 @@
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
size="medium"
@click="handleAdd"
v-hasPermi="['otc:otcAppealOrder:add']"
>新增</el-button>
<!-- <el-col :span="1.5">
<el-button type="primary" size="medium" @click="handleAdd"
v-hasPermi="['otc:otcAppealOrder:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['otc:otcAppealOrder:edit']"
>修改</el-button>
</el-col>
<el-button type="primary" size="medium" :disabled="single" @click="handleUpdate"
v-hasPermi="['otc:otcAppealOrder:edit']">修改</el-button>
</el-col> -->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
@ -74,12 +52,8 @@
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcAppealOrder:export']"
>导出</el-button>
<el-button type="primary" size="medium" @click="handleExport"
v-hasPermi="['otc:otcAppealOrder:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -120,13 +94,11 @@
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['otc:otcAppealOrder:edit']"-->
<!-- >申诉凭证</el-button>-->
<el-button v-if="scope.row.appealStatus=='in_appeal'"
size="mini"
type="text"
icon="el-icon-edit"
@click="handleApple(scope.row)"
v-hasPermi="['otc:otcAppealOrder:edit']"
>审核处理</el-button>
<el-button v-if="scope.row.appealStatus == 'in_appeal'" size="mini" type="text" icon="el-icon-edit"
@click="handleApple(scope.row)" v-hasPermi="['otc:otcAppealOrder:edit']">审核处理</el-button>
<el-button size="mini" type="text" @click="handleView(scope.row)">详情</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
@ -138,13 +110,8 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
@ -164,8 +131,8 @@
<!-- <el-input v-model="form.appealRemark" type="textarea" placeholder="请输入内容" />-->
<!-- </el-form-item>-->
<el-form-item label="申诉图片" prop="appealImgUrl">
<img v-image-preview v-for="dict in form.listUrl" v-if="form.appealImgUrl" :src="dict"
class="avatar" style="width: 150px" height="150px" @click="previewImage(dict)" >
<img v-image-preview v-for="dict in form.listUrl" v-if="form.appealImgUrl" :src="dict" class="avatar"
style="width: 150px" height="150px" @click="previewImage(dict)">
<!-- <el-input v-model="form.appealImgUrl" type="textarea" placeholder="请输入内容" />-->
</el-form-item>
<!-- <el-form-item label="申诉状态">-->
@ -216,12 +183,8 @@
</el-form-item>
<el-form-item label="申诉方" prop="tradeType">
<el-select v-model="formApple.tradeType" placeholder="申诉方" disabled="disabled">
<el-option
v-for="dict in appealTradeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
<el-option v-for="dict in appealTradeTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="申诉方昵称" prop="appealUserName">
@ -234,9 +197,10 @@
<el-input v-model="formApple.beAppealUserName" placeholder="请输入被申诉方昵称" />
</el-form-item>
<el-form-item label="申诉图片" prop="appealImgUrl">
<img v-image-preview v-for="dict in formApple.listUrl" v-if="formApple.appealImgUrl" :src="dict"
class="avatar" style="width: 150px" height="150px" @click="previewImage(dict)" >
<img v-image-preview v-for="dict in formApple.listUrl" :src="dict" class="avatar"
style="width: 150px" height="150px" @click="previewImage(dict)" v-if="formApple.listUrl.length">
</el-form-item>
<el-form-item label="申诉状态">
<el-radio-group v-model="formApple.appealStatus">
<el-radio label="success_appeal">申诉成功</el-radio>
@ -305,7 +269,9 @@ export default {
},
//
form: {},
formApple:{},
formApple: {
listUrl:[]
},
rules: {
},
@ -335,6 +301,12 @@ export default {
});
},
methods: {
handleView(row) {
this.$router.push(
{
name: 'appealDetail', params: { row: row }
})
},
//
previewImage(abUrl) {
this.srcList[0] = abUrl;
@ -357,6 +329,7 @@ export default {
//
cancel() {
this.open = false;
this.openApple=false
this.reset();
},
//
@ -446,7 +419,7 @@ export default {
getOtcAppealOrder(id).then(response => {
this.formApple = response.data;
this.openApple = true;
this.titleApple = "OTC申诉订单处理";
this.title = "OTC申诉订单处理";
});
},
/** 提交按钮 */

89
src/views/otc/otcCoin/index.vue

@ -1,50 +1,38 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="币种" prop="coinName">
<el-input
v-model="queryParams.coinName"
placeholder="请输入币种"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.coinName" placeholder="请输入币种" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['otc:otcCoin:add']"
>新增</el-button>
<el-button type="primary" size="medium" @click="handleAdd"
v-hasPermi="['otc:otcCoin:add']">新增</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['otc:otcCoin:edit']"-->
@ -55,21 +43,15 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcCoin:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['otc:otcCoin:export']"
>导出</el-button>
<el-button type="primary" size="medium" @click="handleExport"
v-hasPermi="['otc:otcCoin:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -89,15 +71,10 @@
<el-table-column label="精度" align="center" prop="accuracy" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcCoin:edit']"
>修改</el-button>
<el-button size="medium" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcCoin:edit']">修改</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -107,13 +84,9 @@
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
<!-- 添加或修改OTC币种对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
@ -124,12 +97,8 @@
<el-form-item label="手续费类型" prop="feeType">
<el-select v-model="form.feeType" placeholder="请选择类型">
<!-- <el-option label="请选择字典生成" value="" />-->
<el-option
v-for="dict in feeTypeOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
<el-option v-for="dict in feeTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="交易手续费率" prop="feeRate">
@ -158,12 +127,8 @@
<!-- <el-radio label="1">请选择字典生成</el-radio>-->
<!-- </el-radio-group>-->
<el-select v-model="form.status" placeholder="是否启用">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="精度" prop="accuracy">

36
src/views/otc/otcCurrencyCoin/index.vue

@ -1,12 +1,13 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="法币名称" prop="fullName">
<el-input
v-model="queryParams.currencyCoin"
placeholder="请输入法币名称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -15,7 +16,7 @@
<!-- v-model="queryParams.sort"-->
<!-- placeholder="请输入排序"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
@ -24,23 +25,23 @@
<!-- v-model="queryParams.isDefault"-->
<!-- placeholder="请输入是否默认 Y N"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['otc:otcCurrencyCoin:add']"
>新增</el-button>
@ -50,7 +51,7 @@
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['otc:otcCurrencyCoin:edit']"-->
@ -61,7 +62,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcCurrencyCoin:remove']"-->
@ -69,10 +70,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcCurrencyCoin:export']"
>导出</el-button>
@ -90,14 +89,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcCurrencyCoin:edit']"
>修改</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -114,6 +113,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改法币信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -141,7 +141,7 @@
</el-radio-group>
</el-form-item>
<!-- <el-form-item label="添加时间" prop="createTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.createTime"-->
<!-- type="dateTime"-->
<!-- value-format="yyyy-MM-dd hh:mm:ss"-->

34
src/views/otc/otcFinance/index.vue

@ -1,47 +1,53 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="108px">
<el-form-item label="账户名" prop="accountName">
<el-input v-model="queryParams.accountName" placeholder="请输入账户名" clearable size="small"
<el-input v-model="queryParams.accountName" placeholder="请输入账户名" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="金额类型" prop="amountType">
<el-select v-model="queryParams.amountType" placeholder="请选择金额类型" clearable size="small">
<el-select v-model="queryParams.amountType" placeholder="请选择金额类型" clearable size="medium">
<el-option v-for="dict in amountTypeStatus" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="变动来源" prop="source">
<el-select v-model="queryParams.source" placeholder="请选择变动来源" clearable size="small">
<el-select v-model="queryParams.source" placeholder="请选择变动来源" clearable size="medium">
<el-option v-for="dict in sysOrderStatus" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="变动类型" prop="opType">
<el-select v-model="queryParams.opType" placeholder="请选择变动类型" clearable size="small">
<el-select v-model="queryParams.opType" placeholder="请选择变动类型" clearable size="medium">
<el-option v-for="dict in sourceTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" size="small" style="width: 340px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
:unlink-panels="true" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
<el-date-picker v-model="dateRange" size="medium" style="width: 340px"
value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" start-placeholder="开始日期"
end-placeholder="结束日期" :unlink-panels="true"
:default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-button type="primary" size="medium"
@click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -72,9 +78,9 @@
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>

44
src/views/otc/otcOrder/index.vue

@ -1,12 +1,13 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单编号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入订单编号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -14,7 +15,7 @@
<el-form-item label="交易类型" prop="tradeType">
<el-select v-model="queryParams.tradeType" placeholder="请选择交易类型" clearable size="small">
<el-select v-model="queryParams.tradeType" placeholder="请选择交易类型" clearable size="medium">
<el-option
v-for="dict in tradeTypeStatusOptions"
:key="dict.dictValue"
@ -26,7 +27,7 @@
<!-- <el-form-item label="类型" prop="feeType">-->
<!-- <el-select v-model="queryParams.feeType" placeholder="请选择类型" clearable size="small">-->
<!-- <el-select v-model="queryParams.feeType" placeholder="请选择类型" clearable size="medium">-->
<!-- <el-option-->
<!-- v-for="dict in feeTypeOptions"-->
<!-- :key="dict.dictValue"-->
@ -37,7 +38,7 @@
<!-- </el-form-item>-->
<el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="small">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="medium">
<el-option
v-for="dict in orderStatusOptions"
:key="dict.dictValue"
@ -47,21 +48,21 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['otc:otcOrder:add']"-->
<!-- >新增</el-button>-->
@ -71,7 +72,7 @@
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['otc:otcOrder:edit']"-->
@ -82,7 +83,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcOrder:remove']"-->
@ -90,10 +91,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcOrder:export']"
>导出</el-button>
@ -154,14 +153,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcOrder:edit']"
>详情</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -178,6 +177,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改用户otc订单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
@ -251,7 +251,7 @@
</el-select>
</el-form-item>
<!-- <el-form-item label="付款结束时间" prop="paymentEndTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.paymentEndTime"-->
<!-- type="dateTime"-->
<!-- value-format="yyyy-MM-dd hh:mm:ss"-->
@ -259,7 +259,7 @@
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="确定放行时间" prop="releaseTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.releaseTime"-->
<!-- type="dateTime"-->
<!-- value-format="yyyy-MM-dd hh:mm:ss"-->
@ -267,7 +267,7 @@
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item label="支付时间" prop="paymentTime">
<el-date-picker clearable size="small"
<el-date-picker clearable size="medium"
v-model="form.paymentTime"
type="dateTime"
value-format="yyyy-MM-dd hh:mm:ss"
@ -275,7 +275,7 @@
</el-date-picker>
</el-form-item>
<el-form-item label="完成时间" prop="closeTime">
<el-date-picker clearable size="small"
<el-date-picker clearable size="medium"
v-model="form.closeTime"
type="dateTime"
value-format="yyyy-MM-dd hh:mm:ss"

34
src/views/otc/otcPaymentType/index.vue

@ -2,7 +2,7 @@
<div class="app-container">
<!-- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">-->
<!-- <el-form-item label="收款类型" prop="paymentType">-->
<!-- <el-select v-model="queryParams.paymentType" placeholder="请选择收款类型" clearable size="small">-->
<!-- <el-select v-model="queryParams.paymentType" placeholder="请选择收款类型" clearable size="medium">-->
<!-- <el-option label="请选择字典生成" value="" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
@ -11,7 +11,7 @@
<!-- v-model="queryParams.sort"-->
<!-- placeholder="请输入排序"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
@ -20,23 +20,22 @@
<!-- v-model="queryParams.icon"-->
<!-- placeholder="请输入图标"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item>-->
<!-- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>-->
<!-- <el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery">搜索</el-button>-->
<!-- <el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['otc:otcPaymentType:add']"
>新增</el-button>
@ -46,7 +45,7 @@
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['otc:otcPaymentType:edit']"-->
@ -57,7 +56,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcPaymentType:remove']"-->
@ -65,10 +64,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcPaymentType:export']"
>导出</el-button>
@ -95,14 +92,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcPaymentType:edit']"
>修改</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -119,6 +116,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改otc收款类型对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -130,7 +128,7 @@
<!-- </el-select>-->
</el-form-item>
<!-- <el-form-item label="创建时间" prop="createTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.createTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->

33
src/views/otc/otcStoreDaiFuOrder/index.vue

@ -1,7 +1,8 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px"
class="flex form" style="position: relative">
class="form" style="position: relative">
<el-form-item label="平台订单号" prop="noOrder">
<el-input size="medium" v-model="queryParams.noOrder" placeholder="请输入平台订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
@ -27,30 +28,34 @@
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="批次号" prop="batchNo">
<el-input size="medium" v-model="queryParams.batchNo" placeholder="请输入批次号" @keyup.enter.native="handleQuery"
style="width: 180px; border-color: #e6f1ff" />
<el-input size="medium" v-model="queryParams.batchNo" placeholder="请输入批次号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in sysOrderStatus" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" size="small" style="width: 340px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
:unlink-panels="true" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
<el-date-picker v-model="dateRange" size="medium" style="width: 340px"
value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" range-separator="-" start-placeholder="开始日期"
end-placeholder="结束日期" :unlink-panels="true"
:default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
</div>
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-button type="primary" size="medium"
@click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -99,9 +104,9 @@
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>

40
src/views/otc/otcStoreOrder/index.vue

@ -1,17 +1,18 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单编号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入订单编号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="交易类型" prop="appealStatus">
<el-select v-model="queryParams.tradeType" placeholder="请选择交易类型" clearable size="small">
<el-select v-model="queryParams.tradeType" placeholder="请选择交易类型" clearable size="medium">
<el-option
v-for="dict in tradeTypeStatusOptions"
:key="dict.dictValue"
@ -26,7 +27,7 @@
v-model="queryParams.storeName"
placeholder="请输入商家昵称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -35,14 +36,14 @@
v-model="queryParams.coin"
placeholder="请输入币种"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="small">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="medium">
<el-option
v-for="dict in orderStatusOptions"
:key="dict.dictValue"
@ -54,18 +55,20 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- icon="el-icon-plus"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- @click="handleAdd"-->
<!-- v-hasPermi="['otc:otcStoreOrder:add']"-->
<!-- >新增</el-button>-->
@ -75,7 +78,7 @@
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['otc:otcStoreOrder:edit']"-->
@ -86,7 +89,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcStoreOrder:remove']"-->
@ -94,10 +97,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcStoreOrder:export']"
>导出</el-button>
@ -135,21 +136,21 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['otc:otcStoreOrder:edit']"-->
<!-- >修改</el-button>-->
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleDetail(scope.row)"
v-hasPermi="['otc:otcStoreOrder:edit']"
>详情</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -166,6 +167,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改otc订单信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
@ -248,7 +250,7 @@
<el-input v-model="form.deductedFee" placeholder="请输入已扣除手续费" />
</el-form-item>
<!-- <el-form-item label="添加时间" prop="createTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.createTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->

40
src/views/otc/otcStoreRechargeOrder/index.vue

@ -1,59 +1,62 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="108px">
<el-form-item label="平台订单号" prop="orderNo">
<el-input v-model="queryParams.orderNo" placeholder="请输入平台订单号" clearable size="small"
<el-input v-model="queryParams.orderNo" placeholder="请输入平台订单号" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="商户订单号" prop="outTradeNo">
<el-input v-model="queryParams.outTradeNo" placeholder="请输入商户订单号" clearable size="small"
<el-input v-model="queryParams.outTradeNo" placeholder="请输入商户订单号" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="付款地址" prop="payAddress">
<el-input v-model="queryParams.payAddress" placeholder="请输入付款地址" clearable size="small"
<el-input v-model="queryParams.payAddress" placeholder="请输入付款地址" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="支付商户名" prop="merchantName">
<el-input v-model="queryParams.merchantName" placeholder="请输入支付商户名" clearable size="small"
<el-input v-model="queryParams.merchantName" placeholder="请输入支付商户名" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="订单金额" prop="tranAmt">
<el-input v-model="queryParams.tranAmt" placeholder="请输入订单金额" clearable size="small"
<el-input v-model="queryParams.tranAmt" placeholder="请输入订单金额" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in sysOrderStatus" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<!-- <el-form-item label="订单来源" prop="sourceType">
<el-select v-model="queryParams.sourceType" placeholder="请选择订单来源" clearable size="small">
<el-select v-model="queryParams.sourceType" placeholder="请选择订单来源" clearable size="medium">
<el-option v-for="dict in sourceTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item> -->
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" size="small" style="width: 340px" value-format="yyyy-MM-dd HH:mm:ss"
<el-date-picker v-model="dateRange" size="medium" style="width: 340px" value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
:unlink-panels="true" :default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button type="primary" plain size="mini" @click="handleTest">测试下单</el-button>
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
<el-button type="primary" size="medium" @click="handleTest">测试下单</el-button>
<el-button type="primary" size="medium" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@ -94,7 +97,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="small" type="text" style=" ;" v-if="scope.row.orderStatus == 1"
<el-button size="medium" type="text" style=" ;" v-if="scope.row.orderStatus == 1"
@click="handleOrder(scope.row)">手工处理</el-button>
</template>
</el-table-column>
@ -102,6 +105,7 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
<!-- 处理当前订单 -->
<el-dialog v-dialogDrag title="手工处理" :visible.sync="open" width="500px" append-to-body :close-on-click-modal="false"
@ -119,9 +123,9 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :disabled="!form.status || !form.googleCode"
:type="form.status && form.googleCode ? 'primary' : 'info'" icon="" size="small"
:type="form.status && form.googleCode ? 'primary' : 'info'" icon="" size="medium"
@click="submitForm('processsuccess', 'formDeal')">确定</el-button>
<el-button plain size="small" @click="cancel">取消</el-button>
<el-button plain size="medium" @click="cancel">取消</el-button>
</div>
</el-dialog>
@ -141,8 +145,8 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" icon="" size="small" @click="submitForm('test', 'formTest')">确定</el-button>
<el-button plain size="small" @click="cancel">取消</el-button>
<el-button type="primary" icon="" size="medium" @click="submitForm('test', 'formTest')">确定</el-button>
<el-button plain size="medium" @click="cancel">取消</el-button>
</div>
</el-dialog>

42
src/views/otc/otcSysDict/index.vue

@ -1,12 +1,13 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="排序" prop="num">-->
<!-- <el-input-->
<!-- v-model="queryParams.num"-->
<!-- placeholder="请输入排序"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
@ -15,7 +16,7 @@
<!-- v-model="queryParams.pid"-->
<!-- placeholder="请输入上级编号"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
@ -24,7 +25,7 @@
v-model="queryParams.name"
placeholder="请输入值"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -33,7 +34,7 @@
<!-- v-model="queryParams.tips"-->
<!-- placeholder="请输入提示"-->
<!-- clearable-->
<!-- size="small"-->
<!-- size="medium"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
@ -42,33 +43,31 @@
v-model="queryParams.code"
placeholder="请输入标识"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['otc:otcSysDict:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['otc:otcSysDict:edit']"
@ -79,7 +78,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['otc:otcSysDict:remove']"-->
@ -87,10 +86,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['otc:otcSysDict:export']"
>导出</el-button>
@ -109,14 +106,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['otc:otcSysDict:edit']"
>修改</el-button>
<!-- <el-button-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
@ -133,6 +130,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改otc常用配置表对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

44
src/views/system/config/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="参数名称" prop="configName">
<el-input
v-model="queryParams.configName"
@ -41,28 +42,26 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:config:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:config:edit']"
@ -70,10 +69,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:config:remove']"
@ -81,20 +78,16 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['system:config:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-refresh"
size="mini"
type="primary"
size="medium"
@click="handleRefreshCache"
v-hasPermi="['system:config:remove']"
>刷新缓存</el-button>
@ -122,14 +115,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:config:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -146,6 +139,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

28
src/views/system/dept/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
@ -20,28 +21,26 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
type="primary"
size="medium"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col>
@ -71,14 +70,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dept:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
@ -86,7 +85,7 @@
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -95,6 +94,7 @@
</template>
</el-table-column>
</el-table>
</div>
<!-- 添加或修改部门对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>

44
src/views/system/dict/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="字典名称" prop="dictName">
<el-input
v-model="queryParams.dictName"
@ -46,28 +47,26 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:dict:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:dict:edit']"
@ -75,10 +74,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:dict:remove']"
@ -86,20 +83,16 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['system:dict:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-refresh"
size="mini"
type="primary"
size="medium"
@click="handleRefreshCache"
v-hasPermi="['system:dict:remove']"
>刷新缓存</el-button>
@ -132,14 +125,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dict:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -156,6 +149,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

26
src/views/system/menu/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch">
<el-form-item label="菜单名称" prop="menuName">
<el-input
v-model="queryParams.menuName"
@ -20,18 +21,18 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:menu:add']"
>新增</el-button>
@ -39,9 +40,7 @@
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
size="medium"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col>
@ -78,21 +77,21 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:menu:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:menu:add']"
>新增</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -101,6 +100,7 @@
</template>
</el-table-column>
</el-table>
</div>
<!-- 添加或修改菜单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="680px" append-to-body>

33
src/views/system/notice/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="公告标题" prop="noticeTitle">
<el-input
v-model="queryParams.noticeTitle"
@ -28,28 +29,26 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:notice:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:notice:edit']"
@ -57,10 +56,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:notice:remove']"
@ -97,14 +94,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:notice:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -121,6 +118,8 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改公告对话框 -->
<el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>

39
src/views/system/post/index.vue

@ -1,6 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="岗位编码" prop="postCode">
<el-input
v-model="queryParams.postCode"
@ -28,28 +29,25 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
</div>
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:post:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:post:edit']"
@ -57,10 +55,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:post:remove']"
@ -68,10 +64,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['system:post:export']"
>导出</el-button>
@ -98,14 +92,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:post:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -122,6 +116,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改岗位对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

30
src/views/system/role/index.vue

@ -58,19 +58,15 @@
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:role:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:role:edit']"
@ -78,10 +74,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:role:remove']"
@ -89,10 +83,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['system:role:export']"
>导出</el-button>
@ -124,21 +116,21 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:role:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:role:remove']"
>删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown size="medium" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
<el-button size="medium" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleDataScope" icon="el-icon-circle-check"
v-hasPermi="['system:role:edit']">数据权限</el-dropdown-item>

51
src/views/system/user/index.vue

@ -8,7 +8,7 @@
v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
size="medium"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
@ -29,7 +29,9 @@
</el-col>
<!--用户数据-->
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" size="medium" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName">
<el-input
v-model="queryParams.userName"
@ -75,28 +77,26 @@
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:user:edit']"
@ -104,10 +104,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:user:remove']"
@ -115,20 +113,16 @@
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
type="primary"
size="medium"
@click="handleImport"
v-hasPermi="['system:user:import']"
>导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['system:user:export']"
>导出</el-button>
@ -166,21 +160,21 @@
>
<template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:user:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']"
>删除</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown size="medium" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
<el-button size="medium" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key"
v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item>
@ -199,6 +193,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
</el-col>
</el-row>

72
src/views/user/UserCertification/index.vue

@ -1,12 +1,13 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="业务单号" prop="witNo">
<el-input
v-model="queryParams.witNo"
placeholder="请输入业务单号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -16,7 +17,7 @@
v-model="queryParams.name"
placeholder="请输入姓名"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -25,14 +26,14 @@
v-model="queryParams.certId"
placeholder="请输入身份证号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="审核状态" prop="auditStatus">
<el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态" clearable size="small">
<el-select v-model="queryParams.auditStatus" placeholder="请选择审核状态" clearable size="medium">
<el-option
v-for="dict in auditStatusOptions"
:key="dict.dictValue"
@ -43,7 +44,7 @@
</el-form-item>
<el-form-item label="认证类型" prop="authType">
<el-select v-model="queryParams.authType" placeholder="请选择认证类型" clearable size="small">
<el-select v-model="queryParams.authType" placeholder="请选择认证类型" clearable size="medium">
<el-option
v-for="dict in authTypeOptions"
:key="dict.dictValue"
@ -57,28 +58,25 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
</div>
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:UserCertification:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:UserCertification:edit']"
@ -86,10 +84,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:UserCertification:remove']"
@ -97,10 +93,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:UserCertification:export']"
>导出</el-button>
@ -116,7 +110,7 @@
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="证件类型" align="center" prop="typeName" />
<el-table-column label="身份证号" align="center" prop="certId" />
<el-table-column label="护照正面照" align="center" prop="certFrontImg" >
<el-table-column label="护照正面照" align="center" prop="certFrontImg" width="115">
<template width="90" slot-scope="scope">
<el-image
style="width: 80px; height: 80px"
@ -128,7 +122,7 @@
<!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> -->
</template>
</el-table-column>
<el-table-column label="护照反面照" align="center" prop="certReverseImg" >
<el-table-column label="护照反面照" align="center" prop="certReverseImg" width="115">
<template width="90" slot-scope="scope">
<el-image
style="width: 80px; height: 80px"
@ -140,7 +134,7 @@
<!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> -->
</template>
</el-table-column>
<el-table-column label="手持护照" align="center" prop="certHandImg" >
<el-table-column label="手持护照" align="center" prop="certHandImg" width="115">
<template width="90" slot-scope="scope">
<el-image
style="width: 80px; height: 80px"
@ -152,7 +146,7 @@
<!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> -->
</template>
</el-table-column>
<el-table-column label="手持idA拍照" align="center" prop="idaHandImg" >
<el-table-column label="手持idA拍照" align="center" prop="idaHandImg" width="115">
<template width="90" slot-scope="scope">
<el-image
style="width: 80px; height: 80px"
@ -164,7 +158,7 @@
<!-- <img style="width:80px;height:80px;border:none;" :src="scope.row.chainIconUrl"> -->
</template>
</el-table-column>
<el-table-column label="公司执照" align="center" prop="corporateLicense" >
<el-table-column label="公司执照" align="center" prop="corporateLicense" width="115">
<template width="90" slot-scope="scope">
<el-image
style="width: 80px; height: 80px"
@ -191,16 +185,24 @@
<span>{{ parseTime(scope.row.addTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="认证类型:基础basic 高级advanced" align="center" prop="authType" :formatter="authTypeFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="认证类型" align="center" prop="authType" :formatter="authTypeFormat" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="115">
<template slot-scope="scope">
<el-button v-if="scope.row.auditStatus=='apply'"
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:certification:edit']"
>审核</el-button>
<el-button
size="medium"
type="text"
icon="el-icon-edit"
@click="handleView(scope.row)"
>详情</el-button>
</template>
</el-table-column>
</el-table>
@ -212,6 +214,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改实名认证信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -310,6 +313,11 @@ export default {
});
},
methods: {
handleView(row){
this.$router.push(
{ name: 'userDetail',params:{row:row}
})
},
/** 查询实名认证信息列表 */
getList() {
this.loading = true;

467
src/views/user/UserCertification/userDetail.vue

@ -0,0 +1,467 @@
<template>
<div class="app-container">
<div class="bg bg-white">
<el-table v-loading="loading" :data="UserCertificationList">
<el-table-column label="姓名" align="center" prop="name" />
<el-table-column label="证件类型" align="center" prop="typeName" />
<el-table-column label="身份证号" align="center" prop="certId" />
<el-table-column label="审核时间" align="center" prop="auditTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.auditTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="添加时间" align="center" prop="addTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.addTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="认证类型" align="center" prop="authType" :formatter="authTypeFormat" />
</el-table>
<div class="flex status-con" v-if="UserCertificationList.length" style="align-items: flex-start;flex-wrap:wrap">
<div class="let item m-r-16 m-b-16" v-if="kycData.authType">
<div class="title m-b-16 flex">
<div class="circle"></div>
KYC认证信息
</div>
<div class="status">
<div class="status-bar"
:style="{ background: kycData.auditStatus == 'agree' ? '#08B97A' : kycData.auditStatus == 'apply' ? '#F8A562' : '#E73535' }"
v-if="kycData.auditStatus">
<span class="status-text" v-if="kycData.authType == 'basic'">{{ kycData.auditStatus == 'agree' ?
'已通过' : kycData.auditStatus == 'apply' ? '审核中' : '不通过' }}
</span>
</div>
<div class="text m-b-10">
姓名{{ kycData.name ? kycData.name : '无' }}
</div>
<div class="text m-b-10">
证件号{{ kycData.certId ? kycData.certId : '无' }}
</div>
<div class="flex m-b-16" style="align-items:flex-start">
<div class="img-con m-r-16">
<div class="text m-b-10">
证件正面
</div>
<div class="img-con-border" v-if="kycData.certFrontImg">
<el-image @click="previewImage(kycData.certFrontImg)" :src="kycData.certFrontImg"
:preview-src-list="srcList" class="avatar">
</el-image>
</div>
<span class="text" v-else></span>
</div>
<div class="img-con">
<div class="text m-b-10">
证件反面
</div>
<div class="img-con-border" v-if="kycData.certReverseImg">
<el-image @click="previewImage(kycData.certReverseImg)" :src="kycData.certReverseImg"
:preview-src-list="srcList" class="avatar">
</el-image>
</div>
<span class="text" v-else></span>
</div>
</div>
<div class="img-con m-r-16 m-b-16">
<div class="text m-b-10">
手持身份证
</div>
<div class="img-con-border" v-if="kycData.certHandImg">
<el-image @click="previewImage(kycData.certHandImg)" :src="kycData.certHandImg"
:preview-src-list="srcList" class="avatar">
</el-image>
</div>
<span class="text" v-else></span>
</div>
<div style="color:red">
审核备注{{ kycData.auditReason ? kycData.auditReason : '无' }}
</div>
<div class="flex btnCon" v-if="kycData.auditStatus == 'apply'">
<el-button type="primary" @click="handleSuccess('agree', kycData)">通过</el-button>
<el-button type="danger" @click="handleFail('reject', kycData)">驳回</el-button>
</div>
</div>
</div>
<div class="right item" v-if="storeData.authType">
<div class="title m-b-16 flex">
<div class="circle"></div>
商家认证信息
</div>
<div class="status">
<div class="status-bar"
:style="{ background: storeData.auditStatus == 'agree' ? '#08B97A' : storeData.auditStatus == 'apply' ? '#F8A562' : '#E73535' }">
<span class="status-text">{{ storeData.auditStatus == 'agree' ? '已通过' : storeData.auditStatus ==
'apply' ? '审核中' : '不通过' }}
</span>
</div>
<div class="text m-b-10">
是否质押{{ storeData.storePledge ? '是' : '否' }}
</div>
<div class="text m-b-10">
质押金额{{ storeData.storePledgeBalance }}{{ storeData.pledgeCoin }}
</div>
<div class="flex btnCon" v-if="storeData.auditStatus == 'apply'">
<el-button type="primary" @click="handleSuccess('agree', storeData)">通过</el-button>
<el-button type="danger" @click="handleFail('reject', storeData)">驳回</el-button>
</div>
</div>
</div>
<div class="right item" v-if="proData.authType">
<div class="title m-b-16 flex">
<div class="circle"></div>
Pro商家认证信息
</div>
<div class="status">
<div class="status-bar"
:style="{ background: proData.auditStatus == 'agree' ? '#08B97A' : proData.auditStatus == 'apply' ? '#F8A562' : '#E73535' }">
<span class="status-text">{{ proData.auditStatus == 'agree' ? '已通过' : proData.auditStatus ==
'apply' ? '审核中' : '不通过' }}
</span>
</div>
<div class="text m-b-10">
是否质押{{ proData.storePledge ? '是' : '否' }}
</div>
<div class="text m-b-10">
质押金额{{ proData.storePledgeBalance }} {{ proData.pledgeCoin }}
</div>
<div class="flex m-b-16">
<div class="img-con m-r-16">
<div class="text m-b-10">
公司营业执照
</div>
<div class="img-con-border" v-if="proData.corporateLicense">
<el-image @click="previewImage(proData.corporateLicense)"
:src="proData.corporateLicense" :preview-src-list="srcList" class="avatar">
</el-image>
</div>
<span class="text" v-else></span>
</div>
</div>
<div class="flex btnCon" v-if="proData.auditStatus == 'apply'">
<el-button type="primary" @click="handleSuccess('agree', proData)">通过</el-button>
<el-button type="danger" @click="handleFail('reject', proData)">驳回</el-button>
</div>
</div>
</div>
</div>
</div>
<!-- 成功对话框 -->
<el-dialog title="通过" :visible.sync="open" width="400px" append-to-body>
<div class="sub-tit m-b-16">
是否通过该认证申请
</div>
<div slot="footer" class="dialog-footer flex-between">
<el-button type="text" @click="cancelApple">取消</el-button>
<el-button type="text" @click="submitFormApple('agree')">确定</el-button>
</div>
</el-dialog>
<!-- 驳回对话框 -->
<el-dialog title="驳回" :visible.sync="openApple" width="400px" append-to-body>
<el-form ref="form" :model="formApple" :rules="rulesApple" label-width="0px">
<div class="sub-tit m-b-16">
是否确认驳回该认证申请
</div>
<el-form-item label="" prop="auditReason">
<el-input v-model="formApple.auditReason" type="textarea" placeholder="驳回备注" rows="5" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer flex-between">
<el-button type="text" @click="cancelApple">取消</el-button>
<el-button type="text" @click="submitFormApple('reject')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listUserCertification, getUserCertification, delUserCertification, addUserCertification, updateUserCertification, exportUserCertification } from "@/api/user/UserCertification";
export default {
name: "UserDetail",
components: {
},
data() {
return {
openApple: false,
kycData: {},
storeData: {},
proData: {},
//
loading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
UserCertificationList: [],
auditStatusOptions: [],
authTypeOptions: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
witNo: null,
userId: null,
},
//
formApple: {
auditReason:null,
},
//
rulesApple: {
authType: [
{ required: true, message: "认证类型:基础basic 高级advanced不能为空", trigger: "change" }
]
},
//
srcList: ["http://118.25.187.239:9099/img/adImg/557097620301025280.jpg"],
};
},
created() {
this.getDicts("audit_status").then(response => {
this.auditStatusOptions = response.data;
});
this.getDicts("auth_type").then(response => {
this.authTypeOptions = response.data;
});
this.queryParams.userId = this.$route.params.row.userId
this.getList()
},
methods: {
//
previewImage(abUrl) {
this.srcList[0] = abUrl;
},
//
cancelApple() {
this.openApple = false;
this.open = false;
this.resetApple();
},
//
resetApple() {
this.formApple = {
};
this.resetForm("formApple");
},
handleFail(v, d) {
this.resetApple()
this.formApple.auditStatus = v
this.formApple.witNo=d.witNo
this.openApple = true
},
handleSuccess(v, d) {
this.resetApple();
this.open = true;
this.formApple.witNo=d.witNo
this.formApple.auditStatus = v
},
/** 审核提交 */
submitFormApple(v) {
if (!this.formApple.auditReason && v == 'reject') {
this.$message.error('驳回备注不能为空');
return;
}
updateUserCertification(this.formApple).then(response => {
this.msgSuccess("操作成功");
this.open = false;
this.openApple = false;
this.getList();
});
},
/** 查询实名认证信息列表 */
getList() {
this.loading = true;
listUserCertification(this.queryParams).then(response => {
this.UserCertificationList = response.rows;
this.loading = false;
for (var i = this.UserCertificationList.length - 1; i >= 0; i--) {
if (this.UserCertificationList[i].authType == 'advanced') {
this.storeData = this.UserCertificationList[i]
if (this.UserCertificationList[i].auditStatus == 'apply') {
this.storeData = this.UserCertificationList[i]
}
}
if (this.UserCertificationList[i].authType == 'basic') {
this.kycData = this.UserCertificationList[i]
if (this.UserCertificationList[i].auditStatus == 'apply') {
this.kycData = this.UserCertificationList[i]
}
}
if (this.UserCertificationList[i].authType == 'pro') {
this.proData = this.UserCertificationList[i]
if (this.UserCertificationList[i].auditStatus == 'apply') {
this.proData = this.UserCertificationList[i]
}
}
}
});
},
auditStatusFormat(row, column) {
return this.selectDictLabel(this.auditStatusOptions, row.auditStatus);
},
authTypeFormat(row, column) {
return this.selectDictLabel(this.authTypeOptions, row.authType);
},
}
};
</script>
<style scoped>
.status-con .item {
width: 46%;
}
::v-deep .el-dialog__footer {
border-top: 1px solid rgba(223, 230, 236, 1);
padding: 0;
height: 60px;
}
::v-deep .el-dialog__footer .el-button {
width: 50%;
height: 60px;
}
::v-deep .el-dialog__footer .el-button:nth-child(1) {
border-right: 1px solid rgba(223, 230, 236, 1);
}
::v-deep .el-dialog__footer .el-button:nth-child(1) span {
color: rgba(102, 102, 102, 1);
}
.sub-tit {
font-size: 13px;
font-weight: 500;
text-align: center;
color: rgba(51, 51, 51, 1);
}
::v-deep .el-textarea__inner {
background: #F3F6F8 !important;
}
::v-deep .el-dialog__body {
padding: 15px 20px;
}
::v-deep .el-dialog__header {
text-align: center;
font-size: 14px;
font-weight: 500;
}
.btnCon {
margin-top: 20px;
}
::v-deep .btnCon .el-button {
width: 110px;
height: 40px;
border-radius: 4px;
}
.status-text {}
.status-bar {
width: 40px;
height: 160px;
background: rgba(231, 53, 53, 1);
position: absolute;
right: 12px;
top: -32px;
color: rgba(255, 255, 255, 1);
font-size: 16px;
font-weight: 500;
transform: rotate(-40deg);
display: flex;
align-items: center;
writing-mode: vertical-lr;
justify-content: center;
letter-spacing: 8px;
}
.circle {
width: 8px;
height: 8px;
background: rgba(9, 186, 122, 1);
margin-right: 10px;
}
.img-con-border {
border: 1px solid rgba(223, 230, 236, 1);
padding: 9px;
width: 359px;
height: 203px;
border-radius: 4px;
}
.img-con-border .avatar {
width: 100%;
height: 100%;
}
.title {
font-size: 24px;
font-weight: 500;
color: #333;
}
.status-con {
margin-top: 52px;
}
.status {
border: 1px solid rgba(223, 230, 236, 1);
padding: 20px 16px;
border-radius: 8px;
position: relative;
overflow: hidden;
}
.status .text {
font-size: 16px;
font-weight: 500;
}
</style>

46
src/views/user/ad/index.vue

@ -1,8 +1,9 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="广告终端" prop="terminalType">
<el-select v-model="queryParams.terminalType" placeholder="请选择广告终端" clearable size="small">
<el-select v-model="queryParams.terminalType" placeholder="请选择广告终端" clearable size="medium">
<el-option
v-for="dict in terminalTypeOptions"
:key="dict.dictValue"
@ -12,7 +13,7 @@
</el-select>
</el-form-item>
<el-form-item label="广告位" prop="adPositionType">
<el-select v-model="queryParams.adPositionType" placeholder="请选择广告位" clearable size="small">
<el-select v-model="queryParams.adPositionType" placeholder="请选择广告位" clearable size="medium">
<el-option
v-for="dict in adPositionTypeList"
:key="dict.positionType"
@ -22,7 +23,7 @@
</el-select>
</el-form-item>
<el-form-item label="广告类型" prop="adType">
<el-select v-model="queryParams.adType" placeholder="请选择广告类型" clearable size="small">
<el-select v-model="queryParams.adType" placeholder="请选择广告类型" clearable size="medium">
<el-option
v-for="dict in adContentTypeOptions"
:key="dict.dictValue"
@ -32,7 +33,7 @@
</el-select>
</el-form-item>
<el-form-item label="语言" prop="languageType">
<el-select v-model="queryParams.languageType" placeholder="请选择语言类型" clearable size="small">
<el-select v-model="queryParams.languageType" placeholder="请选择语言类型" clearable size="medium">
<el-option
v-for="dict in projectLanguageOptions"
:key="dict.dictValue"
@ -42,7 +43,7 @@
</el-select>
</el-form-item>
<el-form-item label="状态" prop="dataStatus">
<el-select v-model="queryParams.dataStatus" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.dataStatus" placeholder="请选择状态" clearable size="medium">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -52,27 +53,25 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
</div>
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['ad:ad:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['ad:ad:edit']"
@ -80,10 +79,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['ad:ad:remove']"
@ -91,10 +88,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['ad:ad:export']"
>导出</el-button>
@ -143,14 +138,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['ad:ad:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -166,6 +161,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改广告文本内容对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body :close-on-click-modal="false"
:before-close="cancel">

39
src/views/user/coin/index.vue

@ -1,19 +1,20 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" size="medium" v-show="showSearch" label-width="68px">
<el-form-item label="币种名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入币种名称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="类型" prop="feeType">
<el-select v-model="queryParams.feeType" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.feeType" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in feeTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -21,7 +22,7 @@
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -29,18 +30,20 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:coin:add']"
>新增</el-button>
@ -50,7 +53,7 @@
<!-- type="success"-->
<!-- plain-->
<!-- icon="el-icon-edit"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="single"-->
<!-- @click="handleUpdate"-->
<!-- v-hasPermi="['user:coin:edit']"-->
@ -61,7 +64,7 @@
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- size="medium"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['user:coin:remove']"-->
@ -69,10 +72,8 @@
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:coin:export']"
>导出</el-button>
@ -105,14 +106,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:coin:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -129,6 +130,8 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改币种配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -140,7 +143,7 @@
</el-select>
</el-form-item> -->
<el-form-item label="类型" prop="feeType">
<el-select v-model="form.feeType" placeholder="请选择类型" clearable size="small">
<el-select v-model="form.feeType" placeholder="请选择类型" clearable size="medium">
<el-option v-for="dict in feeTypeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -157,7 +160,7 @@
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="form.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>

48
src/views/user/mail/index.vue

@ -1,13 +1,14 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="108px">
<el-form-item label="订单号" prop="orderNo">
<el-input
v-model="queryParams.orderNo"
placeholder="请输入订单号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -16,13 +17,13 @@
v-model="queryParams.mailTitleZh"
placeholder="请输入消息标题 中文"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="消息状态" prop="mailState">
<el-select v-model="queryParams.mailState" placeholder="请选择消息状态" clearable size="small">
<el-select v-model="queryParams.mailState" placeholder="请选择消息状态" clearable size="medium">
<el-option
v-for="dict in mailStateOptions"
:key="dict.dictValue"
@ -34,7 +35,7 @@
<el-form-item label="状态" prop="mailState">
<el-select v-model="queryParams.dataStatus" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.dataStatus" placeholder="请选择状态" clearable size="medium">
<el-option
v-for="dict in dataStatusOptions"
:key="dict.dictValue"
@ -45,7 +46,7 @@
</el-form-item>
<el-form-item label="模板类型" prop="mailState">
<el-select v-model="queryParams.mailType" placeholder="请选择模板类型" clearable size="small">
<el-select v-model="queryParams.mailType" placeholder="请选择模板类型" clearable size="medium">
<el-option
v-for="dict in mailTypeOptions"
:key="dict.dictValue"
@ -57,28 +58,26 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:mail:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:mail:edit']"
@ -86,10 +85,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:mail:remove']"
@ -97,10 +94,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:mail:export']"
>导出</el-button>
@ -138,14 +133,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:mail:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -162,6 +157,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改站内信对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body>

43
src/views/user/position/index.vue

@ -1,43 +1,43 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="85px">
<el-form-item label="广告位名称" prop="positionName">
<el-input
v-model="queryParams.positionName"
placeholder="请输入广告位名称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="广告位类型" prop="positionType">-->
<!-- <el-select v-model="queryParams.positionType" placeholder="请选择广告位类型" clearable size="small">-->
<!-- <el-select v-model="queryParams.positionType" placeholder="请选择广告位类型" clearable size="medium">-->
<!-- <el-option label="请选择字典生成" value="" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['ad:position:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['ad:position:edit']"
@ -45,10 +45,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['ad:position:remove']"
@ -56,10 +54,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['ad:position:export']"
>导出</el-button>
@ -76,14 +72,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['ad:position:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -100,6 +96,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改广告位对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
@ -125,7 +122,7 @@
>
</el-form-item>
<!-- <el-form-item label="创建时间" prop="createTime">-->
<!-- <el-date-picker clearable size="small"-->
<!-- <el-date-picker clearable size="medium"-->
<!-- v-model="form.createTime"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->

42
src/views/user/type/index.vue

@ -1,18 +1,19 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="证件名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入证件名称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -20,28 +21,26 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:type:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:type:edit']"
@ -49,10 +48,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:type:remove']"
@ -60,10 +57,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:type:export']"
>导出</el-button>
@ -79,14 +74,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:type:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -103,6 +98,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改证件类型对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -111,7 +107,7 @@
<el-input v-model="form.name" placeholder="请输入证件名称" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="form.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="form.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>

32
src/views/user/userCustomer/index.vue

@ -1,8 +1,9 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable size="small"
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
@ -10,12 +11,12 @@
<el-form-item label="邮箱" prop="email">
<el-input v-model="queryParams.email" placeholder="请输入邮箱" clearable size="small"
<el-input v-model="queryParams.email" placeholder="请输入邮箱" clearable size="medium"
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -25,7 +26,7 @@
<!-- <el-form-item label="来源" prop="source">
<el-select v-model="queryParams.source" placeholder="请选择来源" clearable size="small">
<el-select v-model="queryParams.source" placeholder="请选择来源" clearable size="medium">
<el-option
v-for="dict in sourceOptions"
:key="dict.dictValue"
@ -35,30 +36,32 @@
</el-select>
</el-form-item> -->
<el-form-item label="会员角色" prop="userRole">
<el-select v-model="queryParams.userRole" placeholder="请选择会员角色" clearable size="small">
<el-select v-model="queryParams.userRole" placeholder="请选择会员角色" clearable size="medium">
<el-option v-for="dict in userRoleOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="认证级别" prop="authLevel">
<el-select v-model="queryParams.authLevel" placeholder="请选择用户认证级别" clearable size="small">
<el-select v-model="queryParams.authLevel" placeholder="请选择用户认证级别" clearable size="medium">
<el-option v-for="dict in authLevelOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:userCustomer:add']"
>新增</el-button>
@ -68,7 +71,7 @@
type="success"
plain
icon="el-icon-edit"
size="mini"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:userCustomer:edit']"
@ -79,14 +82,14 @@
type="danger"
plain
icon="el-icon-delete"
size="mini"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:userCustomer:remove']"
>删除</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
<el-button type="primary" size="medium" @click="handleExport"
v-hasPermi="['user:userCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -126,7 +129,7 @@
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button v-if="scope.row.authLevel == '1' || scope.row.authLevel == '2' || scope.row.authLevel == '3'" size="mini" type="text"
<el-button v-if="scope.row.authLevel == '1' || scope.row.authLevel == '2' || scope.row.authLevel == '3'" size="medium" type="text"
@click="handleUpdate(scope.row)" v-hasPermi="['user:userCustomer:edit']">修改认证级别
</el-button>
</template>
@ -135,6 +138,7 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
<!-- 添加或修改个人用户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

42
src/views/user/wallet/index.vue

@ -1,5 +1,6 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户姓名" prop="userName">
@ -7,7 +8,7 @@
v-model="queryParams.userName"
placeholder="请输入用户姓名"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -16,7 +17,7 @@
v-model="queryParams.coinId"
placeholder="请输入币种"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -25,34 +26,32 @@
v-model="queryParams.chainName"
placeholder="请输入链名称"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:wallet:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:wallet:edit']"
@ -60,10 +59,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:wallet:remove']"
@ -71,10 +68,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:wallet:export']"
>导出</el-button>
@ -94,14 +89,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:wallet:edit']"
>变改余额</el-button>
<!-- <el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -118,6 +113,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改otc钱包信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>

48
src/views/user/walletAssetsRecord/index.vue

@ -1,12 +1,13 @@
<template>
<div class="app-container">
<div class="search_con m-b-28">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="用户编号" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户编号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
@ -16,13 +17,13 @@
v-model="queryParams.userName"
placeholder="请输入用户姓名"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="转账类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择转账类型" clearable size="small">
<el-select v-model="queryParams.type" placeholder="请选择转账类型" clearable size="medium">
<el-option v-for="dict in typeOptions" :key="dict.dictValue" :label="dict.dictLabel"
:value="dict.dictValue" />
</el-select>
@ -33,7 +34,7 @@
v-model="queryParams.coinId"
placeholder="请输入币种"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
@ -43,34 +44,32 @@
v-model="queryParams.serviceId"
placeholder="请输入业务编号"
clearable
size="small"
size="medium"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button>
<el-button size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<el-row :gutter="10" class="mb8">
<div class="bg bg-white">
<el-row :gutter="10" class="m-b-16">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
size="medium"
@click="handleAdd"
v-hasPermi="['user:walletAssetsRecord:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
type="primary"
size="medium"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['user:walletAssetsRecord:edit']"
@ -78,10 +77,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
type="primary"
size="medium"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['user:walletAssetsRecord:remove']"
@ -89,10 +86,8 @@
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
type="primary"
size="medium"
@click="handleExport"
v-hasPermi="['user:walletAssetsRecord:export']"
>导出</el-button>
@ -116,14 +111,14 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['user:walletAssetsRecord:edit']"
>修改</el-button>
<el-button
size="mini"
size="medium"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@ -140,6 +135,7 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加或修改钱包资金流水记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
@ -173,7 +169,7 @@
<el-input v-model="form.remainBalance" placeholder="请输入剩下金额" />
</el-form-item>
<el-form-item label="添加时间" prop="createTime">
<el-date-picker clearable size="small"
<el-date-picker clearable size="medium"
v-model="form.createTime"
type="date"
value-format="yyyy-MM-dd"

Loading…
Cancel
Save