stock-level.php 3.7 KB

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