index.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
  2. <link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
  3. <style>
  4. #fansIndex {
  5. color: #666;
  6. background: #fff;
  7. border-radius: 6px;
  8. padding: 0 20px 30px;
  9. font-size: 13px;
  10. }
  11. .avatar-img {
  12. width: 32px;
  13. height: 32px;
  14. border-radius: 50%;
  15. border: 1px solid #E6E6E6;
  16. }
  17. .sex-img {
  18. width: 16px;
  19. height: 16px;
  20. margin: 0 20px;
  21. }
  22. [v-cloak] {
  23. display: none
  24. }
  25. </style>
  26. <script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
  27. <script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
  28. <script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
  29. <div id="fansIndex" v-cloak>
  30. <div class="custom-header custom-index">
  31. <div class="custom-header-title">
  32. 粉丝列表
  33. </div>
  34. <div class="custom-header-search">
  35. <el-input placeholder="搜索粉丝" suffix-icon="el-icon-search" v-model="searchKey" size="small">
  36. </el-input>
  37. </div>
  38. </div>
  39. <div class="sync-button-container display-flex">
  40. <div class="custom-refresh" @click="getfansList">
  41. <i class="el-icon-refresh"></i>
  42. </div>
  43. {if condition = "$auth->check('shopro/wechat/fans/syncfans')"}
  44. <el-button type="primary" @click="getSync" size="small">同步所有粉丝</el-button>
  45. {/if}
  46. </div>
  47. <div class="custom-table-body">
  48. <el-table :data="fansList" border style="width: 100%" :row-class-name="tableRowClassName"
  49. :cell-class-name="tableCellClassName" :header-cell-class-name="tableCellClassName">
  50. <el-table-column prop="id" label="ID" min-width="60">
  51. </el-table-column>
  52. <el-table-column prop="" label="关注粉丝" min-width="230">
  53. <template slot-scope="scope">
  54. <div class="display-flex">
  55. <img class="avatar-img"
  56. :src="scope.row.headimgurl?Fast.api.cdnurl(scope.row.headimgurl):'/assets/addons/shopro/img/wechat/avatar.jpg'">
  57. <img class="sex-img" v-if="scope.row.sex==0" src="/assets/addons/shopro/img/wechat/male-female.png">
  58. <img class="sex-img" v-if="scope.row.sex==1" src="/assets/addons/shopro/img/wechat/male.png">
  59. <img class="sex-img" v-if="scope.row.sex==2" src="/assets/addons/shopro/img/wechat/female.png">
  60. <div class="ellipsis-item">{{scope.row.nickname}}</div>
  61. </div>
  62. </template>
  63. </el-table-column>
  64. <el-table-column prop="" label="粉丝地区" min-width="130">
  65. <template slot-scope="scope">
  66. <div class="ellipsis-item" v-if="scope.row.country">
  67. {{scope.row.country}} {{scope.row.province}} {{scope.row.city}}
  68. </div>
  69. <div v-if="!scope.row.country">-</div>
  70. </template>
  71. </el-table-column>
  72. <el-table-column prop="subscribe" label="关注状态" min-width="100">
  73. <template slot-scope="scope">
  74. <div class="display-flex">
  75. <span v-if="scope.row.subscribe=='1'" class="display-flex">
  76. <span class="shopro-status-dot shopro-status-normal-dot"></span>
  77. <span class="shopro-status-normal">正在关注</span>
  78. </span>
  79. <span v-else-if="scope.row.subscribe=='0'" class="display-flex">
  80. <span class="shopro-status-dot shopro-status-nonormal-dot"></span>
  81. <span class="shopro-status-nonormal">取消关注</span>
  82. </span>
  83. </div>
  84. </template>
  85. </el-table-column>
  86. <el-table-column prop="subscribe_time" label="关注时间" min-width="160">
  87. <template slot-scope="scope">
  88. <span>{{moment(scope.row.subscribe_time*1000).format("YYYY-MM-DD HH:mm:ss")}}</span>
  89. </template>
  90. </el-table-column>
  91. <el-table-column prop="subscribe_time" label="更新时间" min-width="160">
  92. <template slot-scope="scope">
  93. <span>{{moment(scope.row.updatetime*1000).format("YYYY-MM-DD HH:mm:ss")}}</span>
  94. </template>
  95. </el-table-column>
  96. <el-table-column prop="" label="操作" min-width="80px">
  97. <template slot-scope="scope">
  98. {if condition = "$auth->check('shopro/user/user/profile')"}
  99. <span class="theme-color cursor-pointer" @click="viewBtn(scope.row.openid)">查看</span>
  100. {/if}
  101. </template>
  102. </el-table-column>
  103. </el-table>
  104. </div>
  105. <div class="pagination-container">
  106. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  107. :page-sizes="[10, 20, 30, 40]" :page-size="10" layout="total, sizes, prev, pager, next, jumper"
  108. :total="totalPage">
  109. </el-pagination>
  110. </div>
  111. </div>