RejectForm.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <a-modal
  3. :title="modalTitle"
  4. :width="800"
  5. :visible="visible"
  6. :confirmLoading="confirmLoading"
  7. class="ant-modal2"
  8. @cancel="handleCancel"
  9. >
  10. <a-form :form="form">
  11. <a-form-item v-show="false" >
  12. <a-input v-decorator="['id']" type="hidden"/>
  13. </a-form-item>
  14. <a-form-item
  15. label="拒单理由"
  16. :labelCol="BaseTool.Constant.labelCol2"
  17. :wrapperCol="BaseTool.Constant.wrapperCol2"
  18. >
  19. <a-textarea
  20. :rows="4"
  21. v-decorator="['refuseRemark', {rules: [{required: true, message: '拒单理由不能为空'}]}]"/>
  22. </a-form-item>
  23. </a-form>
  24. <template slot="footer">
  25. <a-button :loading="confirmLoading" type="primary" @click="save()">保存</a-button>
  26. </template>
  27. </a-modal>
  28. </template>
  29. <script>
  30. import { rejectRepair } from '@/api/repair/application-form'
  31. export default {
  32. name: 'BaseRepairApplicationForm',
  33. data () {
  34. return {
  35. confirmLoading: false,
  36. modalTitle: null,
  37. form: this.$form.createForm(this),
  38. visible: false,
  39. // 下拉框map
  40. model: null
  41. }
  42. },
  43. created () {
  44. // 下拉框map
  45. },
  46. methods: {
  47. base (record) {
  48. this.visible = true
  49. this.model = record
  50. console.log(record)
  51. // 如果是空标识添加
  52. this.modalTitle = '拒单'
  53. const { form: { setFieldsValue } } = this
  54. this.$nextTick(() => {
  55. setFieldsValue({
  56. id: record.id
  57. })
  58. })
  59. },
  60. save () {
  61. const { form: { validateFieldsAndScroll } } = this
  62. this.confirmLoading = true
  63. validateFieldsAndScroll((errors, values) => {
  64. if (errors) {
  65. this.confirmLoading = false
  66. return
  67. }
  68. // 日期处理
  69. rejectRepair(values)
  70. .then(() => {
  71. this.$message.success('操作成功')
  72. this.handleCancel(values)
  73. }).catch(() => {
  74. this.confirmLoading = false
  75. })
  76. })
  77. },
  78. handleCancel (values) {
  79. this.visible = false
  80. this.confirmLoading = false
  81. this.form.resetFields()
  82. if (this.BaseTool.Object.isNotBlank(values)) {
  83. this.$emit('ok')
  84. }
  85. }
  86. }
  87. }
  88. </script>