SaleFeedback.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <template>
  2. <el-dialog title="销售反馈" :visible.sync="dialogFormVisible" width="600px" @close="close">
  3. <el-form ref="form" label-position="top" :model="form" :rules="rules">
  4. <el-row :gutter="20">
  5. <el-col :span="24">
  6. <el-form-item label="反馈时间" prop="feedbackSaleTime">
  7. <el-date-picker
  8. v-model="form.feedbackSaleTime"
  9. placeholder="选择反馈时间"
  10. style="width: 100%"
  11. type="date"
  12. value-format="yyyy-MM-dd" />
  13. </el-form-item>
  14. </el-col>
  15. </el-row>
  16. <!-- 售前讲解 -->
  17. <el-row v-if="workType == '售前讲解支持'">
  18. <el-col :span="24">
  19. <el-form-item label="会议纪要" prop="feedbackSaleMeeting">
  20. <el-input
  21. v-model="form.feedbackSaleMeeting"
  22. placeholder="会议纪要"
  23. :rows="5"
  24. show-word-limit
  25. type="textarea" />
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="24">
  29. <el-form-item label="客户/经销商反馈" prop="feedbackSaleDist">
  30. <el-input
  31. v-model="form.feedbackSaleDist"
  32. placeholder="客户/经销商反馈"
  33. :rows="5"
  34. show-word-limit
  35. type="textarea" />
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. <!-- END -->
  40. <!-- 技术文件 -->
  41. <el-row v-if="workType == '技术文件支持'">
  42. <el-col :span="24">
  43. <el-form-item label="用户反馈" prop="feedbackSaleUser">
  44. <el-input
  45. v-model="form.feedbackSaleUser"
  46. placeholder="用户反馈"
  47. :rows="5"
  48. show-word-limit
  49. type="textarea" />
  50. </el-form-item>
  51. </el-col>
  52. </el-row>
  53. <!-- END -->
  54. <el-row>
  55. <el-col :span="24">
  56. <el-form-item label="下一步计划" prop="feedbackSaleNext">
  57. <el-input
  58. v-model="form.feedbackSaleNext"
  59. placeholder="下一步计划"
  60. :rows="5"
  61. show-word-limit
  62. type="textarea" />
  63. </el-form-item>
  64. </el-col>
  65. </el-row>
  66. </el-form>
  67. <template #footer>
  68. <el-button @click="close">取 消</el-button>
  69. <el-button type="primary" @click="save">确 定</el-button>
  70. </template>
  71. </el-dialog>
  72. </template>
  73. <script>
  74. import workOrderApi from '@/api/work/index'
  75. export default {
  76. name: 'WorkOrderFeedback',
  77. data() {
  78. return {
  79. workType: '',
  80. form: {
  81. feedbackSaleTime: '',
  82. feedbackSaleMeeting: '',
  83. feedbackSaleDist: '',
  84. feedbackSaleUser: '',
  85. feedbackSaleNext: '',
  86. orderId: '',
  87. },
  88. rules: {
  89. feedbackSaleTime: [{ required: true, message: '不能为空', trigger: ['blur', 'change'] }],
  90. feedbackSaleMeeting: [{ required: true, message: '不能为空', trigger: ['blur', 'change'] }],
  91. feedbackSaleDist: [{ required: true, message: '不能为空', trigger: ['blur', 'change'] }],
  92. feedbackSaleUser: [{ required: true, message: '不能为空', trigger: ['blur', 'change'] }],
  93. feedbackSaleNext: [{ required: true, message: '不能为空', trigger: ['blur', 'change'] }],
  94. },
  95. dialogFormVisible: false,
  96. }
  97. },
  98. mounted() {},
  99. methods: {
  100. open(row) {
  101. console.log(row)
  102. this.form.orderId = row.id
  103. this.workType = row.orderTypeName
  104. this.dialogFormVisible = true
  105. },
  106. close() {
  107. this.$refs['form'].resetFields()
  108. this.form = this.$options.data().form
  109. this.dialogFormVisible = false
  110. },
  111. save() {
  112. this.$refs['form'].validate(async (valid) => {
  113. if (valid) {
  114. const { msg } = await workOrderApi.feedbackSale(this.form)
  115. this.$baseMessage(msg, 'success', 'vab-hey-message-success')
  116. this.$emit('update-detail')
  117. this.close()
  118. }
  119. })
  120. },
  121. },
  122. }
  123. </script>