TaskForm.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <a-modal :width="640" :visible="visible" title="任务添加" @ok="handleSubmit" @cancel="visible = false">
  3. <a-form @submit="handleSubmit" :form="form">
  4. <a-form-item
  5. label="任务名称"
  6. :labelCol="labelCol"
  7. :wrapperCol="wrapperCol"
  8. >
  9. <a-input v-decorator="['taskName', {rules:[{required: true, message: '请输入任务名称'}]}]" />
  10. </a-form-item>
  11. <a-form-item
  12. label="开始时间"
  13. :labelCol="labelCol"
  14. :wrapperCol="wrapperCol"
  15. >
  16. <a-date-picker style="width: 100%" v-decorator="['startTime', {rules:[{required: true, message: '请选择开始时间'}]}]" />
  17. </a-form-item>
  18. <a-form-item
  19. label="任务负责人"
  20. :labelCol="labelCol"
  21. :wrapperCol="wrapperCol"
  22. >
  23. <a-select v-decorator="['owner', {rules:[{required: true, message: '请选择开始时间'}]}]">
  24. <a-select-option :value="0">付晓晓</a-select-option>
  25. <a-select-option :value="1">周毛毛</a-select-option>
  26. </a-select>
  27. </a-form-item>
  28. <a-form-item
  29. label="产品描述"
  30. :labelCol="labelCol"
  31. :wrapperCol="wrapperCol"
  32. >
  33. <a-textarea v-decorator="['desc']"></a-textarea>
  34. </a-form-item>
  35. </a-form>
  36. </a-modal>
  37. </template>
  38. <script>
  39. export default {
  40. name: 'TaskForm',
  41. data () {
  42. return {
  43. labelCol: {
  44. xs: { span: 24 },
  45. sm: { span: 7 }
  46. },
  47. wrapperCol: {
  48. xs: { span: 24 },
  49. sm: { span: 13 }
  50. },
  51. visible: false,
  52. form: this.$form.createForm(this)
  53. }
  54. },
  55. methods: {
  56. add () {
  57. this.visible = true
  58. },
  59. edit (record) {
  60. const { form: { setFieldsValue } } = this
  61. this.visible = true
  62. this.$nextTick(() => {
  63. setFieldsValue({ taskName: 'test' })
  64. })
  65. },
  66. handleSubmit () {
  67. const { form: { validateFields } } = this
  68. this.visible = true
  69. validateFields((errors, values) => {
  70. if (!errors) {
  71. console.log('values', values)
  72. }
  73. })
  74. }
  75. }
  76. }
  77. </script>