updateDealerLevel.vue 3.8 KB

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