setCommission.vue 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <!--
  2. * @Descripttion: 设置分销佣金
  3. * @version: 1.0
  4. * @Author: zzx
  5. * @Date: 2024-11-27 16:08:16
  6. * @LastEditors: zzx tigerzouzx@foxmail.com
  7. * @LastEditTime: 2024-11-28 18:00
  8. -->
  9. <template>
  10. <div class="app-container">
  11. <el-card class="filter-container" shadow="hover">
  12. <div>
  13. <i class="el-icon-search"></i>
  14. <span>筛选搜索</span>
  15. <el-button style="float: right" type="primary" @click="handleSearchList()" size="small">
  16. 查询搜索
  17. </el-button>
  18. <el-button style="float: right; margin-right: 15px" @click="handleResetSearch()" size="small">
  19. 重置
  20. </el-button>
  21. </div>
  22. <div style="margin-top: 15px">
  23. <el-form :inline="true" :model="listQuery" size="small" label-width="140px">
  24. <el-form-item label="状态:">
  25. <el-select v-model="listQuery.stationStatus" clearable placeholder="请选择">
  26. <el-option v-for="item in options" :key="item.value" :label="item.label"
  27. :value="item.value">
  28. </el-option>
  29. </el-select>
  30. </el-form-item>
  31. <el-form-item label="充电站ID:">
  32. <el-input v-model="listQuery.stationId" class="input-width" placeholder="请输入充电站ID"
  33. clearable></el-input>
  34. </el-form-item>
  35. <el-form-item label="充电站名称:">
  36. <el-input v-model="listQuery.stationName" class="input-width" placeholder="请输入充电站名称"
  37. clearable></el-input>
  38. </el-form-item>
  39. </el-form>
  40. </div>
  41. </el-card>
  42. <el-card class="operate-container" shadow="hover">
  43. <div style="display: flex;align-items: center;justify-content: space-between;">
  44. <div style="display: flex;align-items: center;">
  45. <div>
  46. <i class="el-icon-tickets"></i>
  47. <span>数据列表</span>
  48. </div>
  49. <div style="margin-left:20px;">
  50. <el-descriptions class="margin-top" :column="3" size="medium" border>
  51. <el-descriptions-item label="可设置电站总数"> {{ noSetCount - haveSetCount || '0' }}</el-descriptions-item>
  52. <el-descriptions-item label="已设置">{{ haveSetCount || '0' }}</el-descriptions-item>
  53. <el-descriptions-item label="未设置">{{ noSetCount || '0' }}</el-descriptions-item>
  54. </el-descriptions>
  55. </div>
  56. </div>
  57. <div>
  58. <back-button></back-button>
  59. </div>
  60. </div>
  61. </el-card>
  62. <div class="table-container">
  63. <el-table ref="adminTable" :data="list" style="width: 100%" v-loading="listLoading" border>
  64. <el-table-column label="充电站ID" width="100" align="center">
  65. <template slot-scope="scope">{{ scope.row.id || '--' }}</template>
  66. </el-table-column>
  67. <el-table-column label="充电站名称" align="center">
  68. <template slot-scope="scope">{{ scope.row.name || '--' }}</template>
  69. </el-table-column>
  70. <el-table-column label="所在城市" align="center" prop="updateBy">
  71. <template slot-scope="scope">{{ '贵阳市' }}</template>
  72. </el-table-column>
  73. <el-table-column label="设备所属方" align="center" prop="equipmentOwnerName"></el-table-column>
  74. <el-table-column label="详细地址" align="center" prop="addr"></el-table-column>
  75. <el-table-column label="场所类型" align="center">
  76. <!-- 站点类型(1公共,50个人,100公交专用,101环卫专用,102物流专用,103出租车专用,255其他) -->
  77. <template slot-scope="scope">
  78. <el-tag v-if="scope.row.stationType == 1">公共</el-tag>
  79. <el-tag type="success" v-if="scope.row.stationType == 50">个人</el-tag>
  80. <el-tag type="info" v-if="scope.row.stationType == 100">公交专用</el-tag>
  81. <el-tag type="warning" v-if="scope.row.stationType == 101">环卫专用</el-tag>
  82. <el-tag type="danger" v-if="scope.row.stationType == 102">物流专用</el-tag>
  83. <el-tag effect="plain" type="success" v-if="scope.row.stationType == 103">出租车专用</el-tag>
  84. <el-tag effect="plain" type="warning" v-if="scope.row.stationType == 255">其他</el-tag>
  85. </template>
  86. </el-table-column>
  87. <el-table-column label="充电终端数量" align="center" prop="equipmentnum"></el-table-column>
  88. <el-table-column label="站点状态" align="center">
  89. <template slot-scope="scope">
  90. {{ scope.row.stationStatus | stationStatusFilter }}
  91. </template>
  92. </el-table-column>
  93. <el-table-column label="服务电话" align="center">
  94. <template slot-scope="scope">
  95. {{ scope.row.serviceTel||'--' }}
  96. </template>
  97. </el-table-column>
  98. <el-table-column label="更新时间" align="center">
  99. <template slot-scope="scope">
  100. {{ scope.row.updateTime||'--' }}
  101. </template>
  102. </el-table-column>
  103. <el-table-column label="操作" align="center">
  104. <template slot-scope="scope">
  105. <el-button size="mini" v-if="isAdmin == 0" type="success" plain
  106. @click="get_settingType(scope.row)">
  107. 设置分销佣金
  108. </el-button>
  109. <el-button v-if="isAdmin == 2" size="mini" type="success" plain
  110. @click="settingsFirst(scope.row)">
  111. 设置分销佣金
  112. </el-button>
  113. <el-button v-if="isAdmin == 3" size="mini" type="success" plain
  114. @click="settingsFirst(scope.row)">
  115. 查看分销佣金
  116. </el-button>
  117. </template>
  118. </el-table-column>
  119. </el-table>
  120. </div>
  121. <div class="pagination-container">
  122. <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
  123. layout="total, sizes,prev, pager, next,jumper" :current-page.sync="listQuery.pageNum"
  124. :page-size="listQuery.pageSize" :page-sizes="[10, 15, 20]" :total="total">
  125. </el-pagination>
  126. </div>
  127. </div>
  128. </template>
  129. <script>
  130. import { chargeList } from "@/api/distribution";
  131. const defaultListQuery = {
  132. pageNum: 1,
  133. pageSize: 10,
  134. adminUserId: null,
  135. stationId: null,
  136. stationName: null,
  137. stationStatus: null,
  138. };
  139. export default {
  140. name: "setCommission",
  141. data() {
  142. return {
  143. noSetCount: null,
  144. haveSetCount: null,
  145. isAdmin: null,
  146. listQuery: Object.assign({}, defaultListQuery),
  147. list: null,
  148. listLoading: false,
  149. total: null,
  150. options: [{
  151. value: 0,
  152. label: '未知'
  153. }, {
  154. value: 1,
  155. label: '建设中'
  156. },{
  157. value: 5,
  158. label: '关闭下线'
  159. },{
  160. value: 6,
  161. label: '维护中'
  162. },{
  163. value: 50,
  164. label: '正常使用'
  165. }],
  166. };
  167. },
  168. created() {
  169. this.isAdmin = localStorage.getItem("isAdmin");
  170. this.listQuery.adminUserId = this.$route.query.adminUserId;
  171. this.getList();
  172. },
  173. filters: {
  174. stationStatusFilter(value) {
  175. // 0未知,1建设中,5关闭下线,6维护中,50正常使用
  176. switch (value) {
  177. case 0:
  178. return "未知";
  179. case 1:
  180. return "建设中";
  181. case 5:
  182. return "关闭下线";
  183. case 6:
  184. return "维护中";
  185. case 50:
  186. return "正常使用";
  187. default:
  188. return "未知";
  189. }
  190. }
  191. },
  192. methods: {
  193. get_settingType(row) {
  194. this.$router.push({
  195. name: "settingsPrice",
  196. query: {
  197. adminUserId: this.listQuery.adminUserId,
  198. stationId: row.id,
  199. name: row.name,
  200. }
  201. })
  202. },
  203. settingsFirst(row) {
  204. this.$router.push({
  205. name: "firstSetPrice",
  206. query: {
  207. adminUserId: this.listQuery.adminUserId,
  208. stationId: row.id,
  209. name: row.name,
  210. }
  211. })
  212. },
  213. handleResetSearch() {
  214. this.date = ''
  215. this.listQuery = Object.assign({}, defaultListQuery);
  216. },
  217. handleSearchList() {
  218. this.listQuery.userId = null
  219. this.listQuery.pageNum = 1;
  220. this.getList();
  221. },
  222. handleSizeChange(val) {
  223. this.listQuery.pageNum = 1;
  224. this.listQuery.pageSize = val;
  225. this.getList();
  226. },
  227. handleCurrentChange(val) {
  228. this.listQuery.pageNum = val;
  229. this.getList();
  230. },
  231. getList() {
  232. this.listLoading = true;
  233. chargeList(this.listQuery).then((response) => {
  234. this.listLoading = false;
  235. this.list = response.data.page.records;
  236. this.total = response.data.page.total;
  237. this.noSetCount = response.data.noSetCount;
  238. this.haveSetCount = response.data.haveSetCount;
  239. });
  240. },
  241. },
  242. };
  243. </script>
  244. <style scoped>
  245. </style>