agent-level.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <template id="agent-level">
  2. <el-dialog :visible.sync="edit.visible" width="20%" title="修改等级">
  3. <div v-loading="edit.loading">
  4. <el-form size="small" label-width="150px">
  5. <el-form-item label="等级名称">
  6. <el-select size="small" v-model="edit.level" class="select">
  7. <el-option :key="index" :label="item.name" :value="item.level" :disabled="agent.level == item.level" v-for="(item, index) in edit.list"></el-option>
  8. </el-select>
  9. </el-form-item>
  10. </el-form>
  11. </div>
  12. <span slot="footer" class="dialog-footer">
  13. <el-button @click="editCancel" type="default" size="small">取消</el-button>
  14. <el-button type="primary" :loading="edit.btnLoading" style="margin-bottom: 10px;" size="small" @click="editSave">保存</el-button>
  15. </span>
  16. </el-dialog>
  17. </template>
  18. <script>
  19. Vue.component('agent-level', {
  20. template: '#agent-level',
  21. props: {
  22. value: {
  23. type: Boolean,
  24. default: false
  25. },
  26. agent: Object,
  27. is_enable_province: {
  28. type: Number,
  29. default: 0
  30. }
  31. },
  32. data() {
  33. return {
  34. edit: {
  35. visible: false,
  36. level: '',
  37. btnLoading: false,
  38. list: [],
  39. loading: false,
  40. provinceinfo: {
  41. id: '',
  42. name: ''
  43. },
  44. },
  45. provinces: [],
  46. };
  47. },
  48. watch: {
  49. value() {
  50. if (this.value) {
  51. this.edit.visible = true;
  52. this.edit.level = this.agent.level;
  53. this.edit.provinceinfo = this.agent.provinceinfo
  54. this.getLevel();
  55. } else {
  56. this.edit.id = '';
  57. this.edit.visible = false;
  58. }
  59. },
  60. 'edit.visible'() {
  61. if (!this.edit.visible) {
  62. this.editCancel();
  63. }
  64. }
  65. },
  66. methods: {
  67. getLevel() {
  68. this.edit.loading = true;
  69. request({
  70. params: {
  71. r: 'rebate/user/enable-list',
  72. }
  73. }).then(res => {
  74. this.edit.loading = false;
  75. if (res.data.code == 0) {
  76. this.edit.list = res.data.data.list;
  77. } else {
  78. this.$message.error(res.data.msg);
  79. }
  80. }).catch(res => {
  81. this.edit.loading = false;
  82. });
  83. },
  84. editCancel() {
  85. this.$emit('input', false);
  86. },
  87. editSave() {
  88. this.edit.btnLoading = true;
  89. request({
  90. params: {
  91. r: 'rebate/user/level-change',
  92. },
  93. method: 'post',
  94. data: {
  95. level: this.edit.level,
  96. id: this.agent.id,
  97. user_id: this.agent.user_id,
  98. }
  99. }).then(response => {
  100. this.edit.btnLoading = false;
  101. if (response.data.code == 0) {
  102. this.$message.success('修改成功');
  103. this.editCancel();
  104. this.$emit('success', true);
  105. } else {
  106. this.$message.error(response.data.msg);
  107. }
  108. }).catch(response => {
  109. this.edit.btnLoading = false;
  110. });
  111. }
  112. }
  113. });
  114. </script>