agent-level.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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. <el-form size="small" label-width="150px" v-if="is_enable_province == 1">
  12. <el-form-item label="区域设置">
  13. <el-select v-model="edit.provinceinfo" value-key='id' placeholder="请选择省">
  14. <el-option v-for="item in provinces" :key="item.id" :label="item.name" :value="item"></el-option>
  15. </el-select>
  16. </el-form-item>
  17. </el-form>
  18. </div>
  19. <span slot="footer" class="dialog-footer">
  20. <el-button @click="editCancel" type="default" size="small">取消</el-button>
  21. <el-button type="primary" :loading="edit.btnLoading" style="margin-bottom: 10px;" size="small" @click="editSave">保存</el-button>
  22. </span>
  23. </el-dialog>
  24. </template>
  25. <script>
  26. Vue.component('agent-level', {
  27. template: '#agent-level',
  28. props: {
  29. value: {
  30. type: Boolean,
  31. default: false
  32. },
  33. agent: Object,
  34. is_enable_province: {
  35. type: Number,
  36. default: 0
  37. }
  38. },
  39. data() {
  40. return {
  41. edit: {
  42. visible: false,
  43. level: '',
  44. btnLoading: false,
  45. list: [],
  46. loading: false,
  47. provinceinfo: {
  48. id: '',
  49. name: ''
  50. },
  51. },
  52. provinces: [],
  53. };
  54. },
  55. watch: {
  56. value() {
  57. if (this.value) {
  58. this.edit.visible = true;
  59. this.edit.level = this.agent.level;
  60. this.edit.provinceinfo = this.agent.provinceinfo
  61. this.getLevel();
  62. if(this.is_enable_province == 1){
  63. this.getProvinces()
  64. }
  65. } else {
  66. this.edit.id = '';
  67. this.edit.visible = false;
  68. }
  69. },
  70. 'edit.visible'() {
  71. if (!this.edit.visible) {
  72. this.editCancel();
  73. }
  74. }
  75. },
  76. methods: {
  77. getProvinces() {
  78. request({
  79. params: {
  80. r: 'agent/default/get-provinces',
  81. },
  82. method: 'get',
  83. }).then(e => {
  84. if (e.data.code == 0) {
  85. this.provinces = e.data.data;
  86. }
  87. }).catch(e => {
  88. console.log(e);
  89. this.$message.error('网络错误');
  90. });
  91. },
  92. getLevel() {
  93. this.edit.loading = true;
  94. request({
  95. params: {
  96. r: 'agent/default/enable-list',
  97. }
  98. }).then(res => {
  99. this.edit.loading = false;
  100. if (res.data.code == 0) {
  101. this.edit.list = res.data.data.list;
  102. } else {
  103. this.$message.error(res.data.msg);
  104. }
  105. }).catch(res => {
  106. this.edit.loading = false;
  107. });
  108. },
  109. editCancel() {
  110. this.$emit('input', false);
  111. },
  112. editSave() {
  113. this.edit.btnLoading = true;
  114. request({
  115. params: {
  116. r: 'agent/default/level-change',
  117. },
  118. method: 'post',
  119. data: {
  120. level: this.edit.level,
  121. id: this.agent.id,
  122. user_id: this.agent.user_id,
  123. provinceinfo: this.edit.provinceinfo
  124. }
  125. }).then(response => {
  126. this.edit.btnLoading = false;
  127. if (response.data.code == 0) {
  128. this.$message.success('修改成功');
  129. this.editCancel();
  130. this.$emit('success', true);
  131. } else {
  132. this.$message.error(response.data.msg);
  133. }
  134. }).catch(response => {
  135. this.edit.btnLoading = false;
  136. });
  137. }
  138. }
  139. });
  140. </script>