index.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. <div id="app" v-cloak>
  2. <el-card shadow="never" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  3. <div slot="header">
  4. <div>
  5. <span>团队等级</span>
  6. <div style="float: right; margin: -5px 0">
  7. <el-button type="primary" @click="$navigate({r: 'double-copy/level/edit'})" size="small">添加等级</el-button>
  8. </div>
  9. </div>
  10. </div>
  11. <div class="table-body">
  12. <el-table
  13. v-loading="listLoading"
  14. :data="list"
  15. stripe
  16. style="width: 100%">
  17. <el-table-column
  18. prop="id"
  19. label="ID"
  20. width="80"
  21. align="center">
  22. </el-table-column>
  23. <el-table-column prop="level" label="等级" width="80" align="center">
  24. <template slot-scope="scope">
  25. <com-ellipsis :line="1">等级{{scope.row.level}}</com-ellipsis>
  26. </template>
  27. </el-table-column>
  28. <el-table-column label="团队等级名称" align="center">
  29. <template slot-scope="scope">
  30. <com-ellipsis :line="1">{{scope.row.name}}</com-ellipsis>
  31. </template>
  32. </el-table-column>
  33. <el-table-column :label="capital_map.first_prize" align="center">
  34. <template slot-scope="scope">
  35. <span>{{ scope.row.setting.first_prize }}{{ scope.row.setting.first_prize_type == 0 ? '%' : '元' }}</span>
  36. </template>
  37. </el-table-column>
  38. <el-table-column :label="capital_map.indirect_prize" align="center">
  39. <template slot-scope="scope">
  40. <span>{{ scope.row.setting.indirect_prize }}{{ scope.row.setting.indirect_prize_type == 0 ? '%' : '元' }}</span>
  41. </template>
  42. </el-table-column>
  43. <el-table-column :label="capital_map.second_prize" align="center">
  44. <template slot-scope="scope">
  45. <span v-if="scope.row.level == 1">-</span>
  46. <span v-else>{{ scope.row.setting.second_prize }}{{ scope.row.setting.second_prize_type == 0 ? '%' : '元' }}</span>
  47. </template>
  48. </el-table-column>
  49. <el-table-column :label="capital_map.equal_prize" align="center">
  50. <template slot-scope="scope">
  51. <span v-if="scope.row.level == 1">-</span>
  52. <span v-else>{{ scope.row.setting.equal_prize }}{{ scope.row.setting.equal_prize_type == 0 ? '%' : '元' }}</span>
  53. </template>
  54. </el-table-column>
  55. <el-table-column :label="capital_map.equal_level_prize" align="center">
  56. <template slot-scope="scope">
  57. <span v-if="scope.row.level == 1">-</span>
  58. <span v-else>{{ scope.row.setting.equal_level_prize }}{{ scope.row.setting.equal_level_prize_type == 0 ? '%' : '元' }}</span>
  59. </template>
  60. </el-table-column>
  61. <el-table-column :label="capital_map.repurchase_prize" align="center">
  62. <template slot-scope="scope">
  63. <span>{{ scope.row.setting.repurchase_prize }}{{ scope.row.setting.repurchase_prize_type == 0 ? '%' : '元' }}</span>
  64. </template>
  65. </el-table-column>
  66. <el-table-column
  67. label="启用状态"
  68. width="120"
  69. align="center">
  70. <template slot-scope="scope">
  71. <el-switch
  72. :active-value="1"
  73. :inactive-value="0"
  74. @change="handle('change_status', scope.row)"
  75. v-model="scope.row.status">
  76. </el-switch>
  77. </template>
  78. </el-table-column>
  79. <el-table-column label="操作" width="180" align="center">
  80. <template slot-scope="scope">
  81. <el-button type="text" @click="handle('edit', scope.row)">编辑</el-button>
  82. <el-button type="text" @click="handle('destroy', scope.row)">删除</el-button>
  83. </template>
  84. </el-table-column>
  85. </el-table>
  86. <div style="text-align: right;margin: 20px 0;">
  87. <el-pagination @current-change="pagination" background layout="prev, pager, next" :page-count="pageCount"></el-pagination>
  88. </div>
  89. </div>
  90. </el-card>
  91. </div>
  92. <script>
  93. const app = new Vue({
  94. el: '#app',
  95. data() {
  96. return {
  97. list: [],
  98. listLoading: false,
  99. page: 1,
  100. pageCount: 0,
  101. capital_map: {
  102. first_prize: '直推奖',
  103. indirect_prize: '间推奖',
  104. second_prize: '平台补贴',
  105. equal_prize: '培育奖',
  106. freeze_fund: '冻结基金',
  107. repurchase_prize:'复购奖',
  108. },
  109. };
  110. },
  111. mounted: function () {
  112. this.getList();
  113. },
  114. methods: {
  115. search() {
  116. this.page = 1;
  117. this.getList();
  118. },
  119. pagination(currentPage) {
  120. let self = this;
  121. self.page = currentPage;
  122. self.getList();
  123. },
  124. getList() {
  125. let self = this;
  126. self.listLoading = true;
  127. request({
  128. params: {
  129. r: 'double-copy/level/list',
  130. page: self.page,
  131. },
  132. method: 'get',
  133. }).then(e => {
  134. self.listLoading = false;
  135. self.list = e.data.data.list.list;
  136. self.pageCount = e.data.data.list.page_count;
  137. if (!isEmpty(e.data.data.capital_map)) self.capital_map = e.data.data.capital_map
  138. }).catch(e => {
  139. console.log(e);
  140. });
  141. },
  142. // 操作处理
  143. handle(type, data = null) {
  144. let id = data ? parseInt(data.id) : '';
  145. switch (type) {
  146. case 'edit':// 编辑
  147. params = {
  148. r: 'double-copy/level/edit'
  149. };
  150. if (id) params = Object.assign(params, {
  151. id: id
  152. });
  153. navigateTo(params);
  154. break;
  155. case 'destroy':
  156. params = {id: data.id, status: -1};
  157. this.$confirm('删除该条数据后不可以恢复, 是否继续?', '警告', {type: 'warning'}).then(() => {this.send(params,'double-copy/level/handle')})
  158. break;
  159. case 'change_status':// 修改状态
  160. params = {
  161. id: data.id,
  162. status: data.status
  163. };
  164. this.send(params,'double-copy/level/handle');
  165. break;
  166. }
  167. },
  168. send(params,url) {
  169. let self = this;
  170. let basic_params = {
  171. r: url
  172. };
  173. params = Object.assign(basic_params, params);
  174. request({
  175. params: params,
  176. method: 'get'
  177. }).then(e => {
  178. if (e.data.code == 0) {
  179. self.$message.success(e.data.msg);
  180. self.getList();
  181. } else {
  182. self.$message.error(e.data.msg);
  183. }
  184. }).catch(e => {
  185. console.log(e);
  186. });
  187. },
  188. }
  189. });
  190. </script>
  191. <style>
  192. .table-body {
  193. padding: 20px;
  194. background-color: #fff;
  195. }
  196. .input-item {
  197. display: inline-block;
  198. width: 250px;
  199. margin: 0 0 20px;
  200. }
  201. .input-item .el-input__inner {
  202. border-right: 0;
  203. }
  204. .input-item .el-input__inner:hover {
  205. border: 1px solid #dcdfe6;
  206. border-right: 0;
  207. outline: 0;
  208. }
  209. .input-item .el-input__inner:focus {
  210. border: 1px solid #dcdfe6;
  211. border-right: 0;
  212. outline: 0;
  213. }
  214. .input-item .el-input-group__append {
  215. background-color: #fff;
  216. border-left: 0;
  217. width: 10%;
  218. padding: 0;
  219. }
  220. .input-item .el-input-group__append .el-button {
  221. padding: 0;
  222. }
  223. .input-item .el-input-group__append .el-button {
  224. margin: 0;
  225. }
  226. .table-body .el-button {
  227. padding: 0 !important;
  228. border: 0;
  229. margin: 0 5px;
  230. }
  231. .el-table th>.cell{
  232. color: #333;
  233. font-weight: bold;
  234. font-size: 14px;
  235. }
  236. .el-table__footer-wrapper, .el-table__header-wrapper{
  237. border-bottom: 1.4px solid #D6D6D6;
  238. }
  239. </style>