updateDealerLevel.vue 3.3 KB

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