updateDealerLevel.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <template>
  2. <a-modal
  3. centered
  4. class="merchantInfoManagement-modal"
  5. :footer="null"
  6. :maskClosable="false"
  7. :title="title"
  8. v-model="isShow"
  9. @cancle="isShow=false"
  10. :width="600">
  11. <div>
  12. <a-spin :spinning="spinning" tip="Loading...">
  13. <a-form-model
  14. ref="ruleForm"
  15. :model="form"
  16. :rules="rules"
  17. :label-col="labelCol"
  18. :wrapper-col="wrapperCol"
  19. >
  20. <a-form-model-item label="商户名称">
  21. {{ form.dealerName }}
  22. </a-form-model-item>
  23. <a-form-model-item label="商户级别" prop="dealerLevel">
  24. <v-select code="DEALER_LEVEL" id="ucModal-dealerLevel" v-model="form.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
  25. </a-form-model-item>
  26. <div style="display: flex;justify-content: center;padding: 30px 0;">
  27. <a-button type="primary" @click="onSubmit">确定</a-button>
  28. <a-button style="margin-left: 50px;" @click="cansel">取消</a-button>
  29. </div>
  30. </a-form-model>
  31. </a-spin>
  32. </div>
  33. </a-modal>
  34. </template>
  35. <script>
  36. import { VSelect } from '@/components'
  37. import { updateDealerLevel } from '@/api/dealer'
  38. export default {
  39. name: 'UpdateDealerLevel',
  40. components: { VSelect },
  41. props: {
  42. openUdModal: { // 弹框显示状态
  43. type: Boolean,
  44. default: false
  45. }
  46. },
  47. data () {
  48. return {
  49. isShow: this.openUdModal, // 是否打开弹框
  50. spinning: false,
  51. title: '级别设置',
  52. labelCol: { span: 5 },
  53. wrapperCol: { span: 16 },
  54. other: '',
  55. form: {
  56. dealerName: '',
  57. dealerLevel: undefined
  58. },
  59. rules: {
  60. dealerLevel: [
  61. { required: true, message: '请选择商户级别', trigger: 'change' }
  62. ]
  63. },
  64. dealerLevelBak: undefined
  65. }
  66. },
  67. methods: {
  68. setData (row) {
  69. this.form.dealerSn = row.dealerSn
  70. this.form.dealerName = row.dealerName
  71. this.form.dealerLevel = row.dealerLevel
  72. this.dealerLevelBak = row.dealerLevel
  73. },
  74. onSubmit () {
  75. const _this = this
  76. this.$refs.ruleForm.validate(valid => {
  77. if (valid) {
  78. if (_this.dealerLevelBak && _this.form.dealerLevel != _this.dealerLevelBak) {
  79. this.$confirm({
  80. title: '提示',
  81. content: '商户价格级别变更后,该商户关联的经销商关系绑定将同步解除,确定变更该商户级别吗?',
  82. centered: true,
  83. onOk () {
  84. _this.submitForm()
  85. }
  86. })
  87. } else {
  88. _this.submitForm()
  89. }
  90. } else {
  91. return false
  92. }
  93. })
  94. },
  95. submitForm () {
  96. const _this = this
  97. const params = JSON.parse(JSON.stringify(_this.form))
  98. _this.spinning = true
  99. updateDealerLevel(params).then(res => {
  100. if (res.status == 200) {
  101. _this.$message.success(res.message)
  102. _this.$emit('ok')
  103. _this.spinning = false
  104. } else {
  105. _this.spinning = false
  106. }
  107. })
  108. },
  109. cansel () {
  110. this.$emit('close')
  111. this.$refs.ruleForm.resetFields()
  112. }
  113. },
  114. watch: {
  115. // 父页面传过来的弹框状态
  116. openUdModal (newValue, oldValue) {
  117. this.isShow = newValue
  118. },
  119. // 重定义的弹框状态
  120. isShow (newValue, oldValue) {
  121. if (!newValue) {
  122. this.$emit('close')
  123. }
  124. }
  125. }
  126. }
  127. </script>
  128. <style lang="less">
  129. .merchantInfoManagement-modal{
  130. .ant-modal-body {
  131. padding: 40px 40px 24px;
  132. }
  133. }
  134. </style>