ProductEdit.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <!-- <template> -->
  2. <!-- <el-dialog
  3. :title="title"
  4. :visible.sync="dialogFormVisible"
  5. @close="close">
  6. <el-form ref="form" label-width="80px" :model="form" :rules="rules">
  7. <el-form-item label="产品编码" prop="prodCode">
  8. <el-input v-model.trim="form.prodCode" style="width:150px;"/>
  9. </el-form-item>
  10. <el-form-item label="产品名称" prop="prodName">
  11. <el-input v-model.trim="form.prodName" />
  12. </el-form-item>
  13. <el-form-item label="产品分类" prop="prodClass">
  14. <el-input v-model.trim="form.prodClass" />
  15. </el-form-item>
  16. <el-form-item label="成交价" prop="guidPrice">
  17. <el-input v-model.trim="form.guidPrice" />
  18. </el-form-item>
  19. <el-form-item label="经销商价" prop="distPrice">
  20. <el-input v-model.trim="form.distPrice" />
  21. </el-form-item>
  22. <el-form-item label="签约代理价" prop="agentPrice">
  23. <el-input v-model.trim="form.agentPrice" />
  24. </el-form-item>
  25. <el-form-item label="市场报价" prop="marketPrice">
  26. <el-input v-model.trim="form.marketPrice" />
  27. </el-form-item>
  28. <el-form-item label="备注" prop="remark">
  29. <el-input v-model.trim="form.remark" type="textarea" />
  30. </el-form-item>
  31. </el-form>
  32. <template #footer>
  33. <el-button @click="close">取 消</el-button>
  34. <el-button type="primary" @click="save">确 定</el-button>
  35. </template>
  36. </el-dialog>
  37. </template> -->
  38. <template>
  39. <el-dialog append-to-body :title="title" :visible.sync="dialogFormVisible" @close="handleClose">
  40. <el-form ref="form" :model="form" :rules="rules">
  41. <el-row :gutter="20">
  42. <el-col :span="12">
  43. <el-form-item label="产品名称" prop="prodName">
  44. <el-input v-model="form.prodName" placeholder="请输入产品名称" />
  45. </el-form-item>
  46. </el-col>
  47. <el-col :span="12">
  48. <el-form-item label="产品分类" prop="prodClass">
  49. <el-input v-model="form.prodClass" placeholder="请输入产品分类" />
  50. <!-- <el-select v-model="form.prodClass" placeholder="请选择客户行业" style="width: 100%">
  51. <el-option v-for="item in industryOptions" :key="item.value" :label="item.value" :value="item.value" />
  52. </el-select> -->
  53. </el-form-item>
  54. </el-col>
  55. </el-row>
  56. <el-row :gutter="20">
  57. <el-col :span="12">
  58. <el-form-item label="成交价" prop="distPrice">
  59. <el-input v-model.trim="form.distPrice" />
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="12">
  63. <el-form-item label="经销商价" prop="guidPrice">
  64. <el-input v-model.trim="form.guidPrice" />
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="12">
  68. <el-form-item label="签约代理价" prop="agentPrice">
  69. <el-input v-model.trim="form.agentPrice" />
  70. </el-form-item>
  71. </el-col>
  72. <el-col :span="12">
  73. <el-form-item label="市场报价" prop="marketPrice">
  74. <el-input v-model.trim="form.marketPrice" />
  75. </el-form-item>
  76. </el-col>
  77. </el-row>
  78. <el-form-item label="备注" prop="remark">
  79. <el-input
  80. v-model="form.remark"
  81. maxlength="500"
  82. placeholder="请输入备注"
  83. resize="none"
  84. :rows="5"
  85. show-word-limit
  86. type="textarea" />
  87. </el-form-item>
  88. </el-form>
  89. <span slot="footer">
  90. <el-button @click="close">取 消</el-button>
  91. <el-button type="primary" @click="save">确 定</el-button>
  92. </span>
  93. </el-dialog>
  94. </template>
  95. <script>
  96. import productApi from '@/api/product'
  97. export default {
  98. //name: 'UserEdit',
  99. data() {
  100. return {
  101. form: {
  102. roles: [],
  103. },
  104. rules: {
  105. prodName: [{ required: true, trigger: 'blur', message: '请输入名称' }],
  106. prodClass: [{ required: true, trigger: 'blur', message: '请输入分类' }],
  107. guidPrice: [{ required: true, trigger: 'blur', message: '请输入建议成交价' }],
  108. distPrice: [{ required: true, trigger: 'blur', message: '请输入经销商价' }],
  109. },
  110. title: '',
  111. dialogFormVisible: false,
  112. }
  113. },
  114. methods: {
  115. showEdit(row) {
  116. if (!row) {
  117. this.title = '添加'
  118. } else {
  119. this.title = '编辑'
  120. this.form = Object.assign({}, row)
  121. }
  122. this.dialogFormVisible = true
  123. },
  124. close() {
  125. this.$refs['form'].resetFields()
  126. this.form = this.$options.data().form
  127. this.dialogFormVisible = false
  128. },
  129. handleClose() {
  130. this.Form = {
  131. prodCode: '', //
  132. prodClass: '', //
  133. guidPrice: '', //
  134. distPrice: '', //
  135. custStatus: '', //
  136. agentPrice: '', //
  137. marketPrice: '', //
  138. remark: '', //
  139. }
  140. this.$refs.editForm.resetFields()
  141. },
  142. save() {
  143. this.$refs['form'].validate(async (valid) => {
  144. if (valid) {
  145. if (this.form.id) {
  146. this.form.guidPrice = parseFloat(this.form.guidPrice).toFixed(2)
  147. this.form.distPrice = parseFloat(this.form.distPrice).toFixed(2)
  148. this.form.agentPrice = parseFloat(this.form.agentPrice).toFixed(2)
  149. this.form.marketPrice = parseFloat(this.form.marketPrice).toFixed(2)
  150. console.log(this.form)
  151. const { msg } = await productApi.doEdit(this.form)
  152. this.$baseMessage(msg, 'success', 'vab-hey-message-success')
  153. } else {
  154. this.form.guidPrice = parseFloat(this.form.guidPrice).toFixed(2)
  155. console.log(this.form)
  156. const { msg } = await productApi.doAdd(this.form)
  157. this.$baseMessage(msg, 'success', 'vab-hey-message-success')
  158. }
  159. this.$emit('fetch-data')
  160. this.close()
  161. }
  162. })
  163. },
  164. },
  165. }
  166. </script>