index.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  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>
  7. </div>
  8. <div class="table-body">
  9. <div style="margin-bottom: 20px;">
  10. <el-button type="primary" style="padding: 9px 15px !important;" @click="$navigate({r: 'cloud-stock-two/level/edit'})" size="small">添加代理商等级</el-button>
  11. </div>
  12. <el-table
  13. stripe
  14. v-loading="listLoading"
  15. :data="list"
  16. style="width: 100%">
  17. <el-table-column
  18. prop="id"
  19. label="ID"
  20. align="center"
  21. min-width="100"
  22. sortable
  23. >
  24. </el-table-column>
  25. <el-table-column
  26. align="center"
  27. prop="level"
  28. label="权重"
  29. min-width="100"
  30. >
  31. </el-table-column>
  32. <el-table-column
  33. align="center"
  34. prop="name"
  35. label="等级名称"
  36. min-width="250"
  37. >
  38. </el-table-column>
  39. <el-table-column
  40. prop="address"
  41. label="赠送名额"
  42. min-width="300"
  43. align="center"
  44. >
  45. <template slot-scope="scope">
  46. <div >
  47. <el-tag v-if="scope.row.give_quota_count == 0" type="info">暂无数据</el-tag>
  48. <el-tag v-if="scope.row.give_quota_count == 1 && item.is_use == 1" style="margin-right: 10px;margin-bottom: 10px;" v-for="(item,index) in scope.row.give_quota">
  49. 等级{{item.level}} &nbsp;&nbsp; {{item.num}}个</el-tag>
  50. </div>
  51. </template>
  52. </el-table-column>
  53. <el-table-column
  54. align="center"
  55. label="状态"
  56. min-width="200"
  57. >
  58. <template slot-scope="scope">
  59. <el-tooltip class="item" effect="dark" content="点击更改状态" placement="top">
  60. <el-switch
  61. @change="((val)=>{switchFun(val,scope.row.id)})"
  62. v-model="scope.row.status"
  63. :active-value="1"
  64. :inactive-value="0"
  65. >
  66. </el-switch>
  67. </el-tooltip>
  68. </template>
  69. </el-table-column>
  70. <el-table-column
  71. label="操作"
  72. align="center"
  73. min-width="200"
  74. >
  75. <template slot-scope="scope">
  76. <el-button circle size="mini" type="text" @click="edit(scope.row.id,scope.row.level)">
  77. <el-tooltip class="item" effect="dark" content="编辑" placement="top">
  78. <img src="resources/img/mall/edit.png" alt="">
  79. </el-tooltip>
  80. </el-button>
  81. <el-button circle size="mini" type="text" @click="levelDelete(scope.row, scope.$index)">
  82. <el-tooltip class="item" effect="dark" content="删除" placement="top">
  83. <img src="resources/img/mall/del.png" alt="">
  84. </el-tooltip>
  85. </el-button>
  86. </template>
  87. </el-table-column>
  88. </el-table>
  89. <div style="display: flex;justify-content: flex-end;margin-top: 10px;padding-right: 100px;margin-top: 20px;">
  90. <el-pagination
  91. background
  92. @current-change="pagination"
  93. layout="prev, pager, next"
  94. :page-count="pageCount">
  95. </el-pagination>
  96. </div>
  97. </div>
  98. </el-card>
  99. </div>
  100. <script>
  101. const app = new Vue({
  102. el: '#app',
  103. data() {
  104. return {
  105. list: [],
  106. keyword: '',
  107. listLoading: false,
  108. page: 1,
  109. level:1,
  110. pageCount: 0,
  111. totalCount:0,
  112. condition_type_list: {
  113. 1: '下线用户数',
  114. 2: '累计佣金',
  115. 3: '已提现佣金'
  116. },
  117. price_type_list: {
  118. 1: '%',
  119. 2: '元'
  120. },
  121. switchValue:true,
  122. tableData: []
  123. };
  124. },
  125. mounted: function () {
  126. this.getList();
  127. },
  128. methods: {
  129. search() {
  130. this.page = 1;
  131. this.getList();
  132. },
  133. pagination(currentPage) {
  134. let self = this;
  135. self.page = currentPage;
  136. self.getList();
  137. },
  138. getList() {
  139. let self = this;
  140. self.listLoading = true;
  141. request({
  142. params: {
  143. r: 'cloud-stock-two/level/index',//'plugin/stock/mall/level/index',
  144. page: self.page,
  145. limit: 10//this.keyword
  146. },
  147. method: 'get',
  148. }).then(e => {
  149. self.listLoading = false;
  150. if(e.data.code == 0){
  151. self.list = e.data.data.list;
  152. self.pageCount = e.data.data.page_count;
  153. }else{
  154. self.$message.error(e.data.msg);
  155. }
  156. }).catch(e => {
  157. console.log(e);
  158. });
  159. },
  160. edit(id,level) {
  161. if (id) {
  162. navigateTo({
  163. r: 'cloud-stock-two/level/edit',
  164. id: id,
  165. level:level
  166. });
  167. } else {
  168. navigateTo({
  169. r: 'cloud-stock-two/level/edit',
  170. });
  171. }
  172. },
  173. levelDelete(row, index) {
  174. let self = this;
  175. self.$confirm('删除该经销商等级, 是否继续?', '提示', {
  176. confirmButtonText: '确定',
  177. cancelButtonText: '取消',
  178. type: 'warning'
  179. }).then(() => {
  180. self.listLoading = true;
  181. request({
  182. params: {
  183. r: 'cloud-stock-two/level/del',
  184. },
  185. method: 'post',
  186. data: {
  187. id: row.id,
  188. }
  189. }).then(e => {
  190. self.listLoading = false;
  191. if (e.data.code === 0) {
  192. self.$message.success(e.data.msg);
  193. self.list.splice(index, 1);
  194. } else {
  195. self.$message.error(e.data.msg);
  196. }
  197. }).catch(e => {
  198. console.log(e);
  199. });
  200. }).catch(() => {
  201. self.$message.info('已取消删除')
  202. });
  203. },
  204. switchFun(event,id){
  205. console.log(event);
  206. this.listLoading = true;
  207. request({
  208. params: {
  209. r: 'cloud-stock-two/level/update-status'
  210. },
  211. method: 'post',
  212. data:{
  213. id:id,
  214. status:event,
  215. }
  216. }).then(e => {
  217. this.listLoading = false;
  218. if (e.data.code == 0) {
  219. this.$message.success('更改状态成功');
  220. } else {
  221. this.$message.error(e.data.msg);
  222. }
  223. }).catch(e => {
  224. this.$message.error(e.data.msg);
  225. this.listLoading = false;
  226. });
  227. }
  228. }
  229. });
  230. </script>
  231. <style>
  232. .table-body {
  233. padding: 20px;
  234. background-color: #fff;
  235. }
  236. .input-item {
  237. display: inline-block;
  238. width: 250px;
  239. margin: 0 0 20px;
  240. }
  241. .input-item .el-input__inner {
  242. border-right: 0;
  243. }
  244. .input-item .el-input__inner:hover {
  245. border: 1px solid #dcdfe6;
  246. border-right: 0;
  247. outline: 0;
  248. }
  249. .input-item .el-input__inner:focus {
  250. border: 1px solid #dcdfe6;
  251. border-right: 0;
  252. outline: 0;
  253. }
  254. .input-item .el-input-group__append {
  255. background-color: #fff;
  256. border-left: 0;
  257. width: 10%;
  258. padding: 0;
  259. }
  260. .input-item .el-input-group__append .el-button {
  261. padding: 0;
  262. }
  263. .input-item .el-input-group__append .el-button {
  264. margin: 0;
  265. }
  266. .table-body .el-button {
  267. padding: 0 !important;
  268. border: 0;
  269. margin: 0 5px;
  270. }
  271. .el-table thead{
  272. font-size: 14px;
  273. color: #333;
  274. }
  275. </style>