微信

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <div class="orderItem flex-h">
  3. <div class="img">
  4. <a>
  5. <img src="" class="centerLabel cover" alt="">
  6. </a>
  7. </div>
  8. <div class="content flex-item flex-v">
  9. <div class="flex-item">
  10. <div>
  11. <span>{{data.name}}</span>
  12. </div>
  13. </div>
  14. <div class="flex-h">
  15. <div class="flex-item">
  16. <div>
  17. <span>¥{{data.price}}</span>
  18. </div>
  19. </div>
  20. <i class="iconfont icon-jian" @click="subtract" v-if="!data.spec.length && data.status === 1"></i>
  21. <input v-if="!data.spec.length && data.status === 1" type="tel" @input="input" v-model="defaultNum">
  22. <i class="iconfont icon-jia" :class="{'active': defaultNum > 0}" @click="add" v-if="!data.spec.length && data.status === 1"></i>
  23. <a v-if="data.spec.length && data.status === 1" @click="selectSpec">选规格</a>
  24. <span v-if="data.status !== 1">已售罄</span>
  25. </div>
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. export default {
  31. name: '',
  32. props: ['data'],
  33. data () {
  34. return {
  35. defaultNum: 0,
  36. }
  37. },
  38. computed: {
  39. },
  40. components: {
  41. },
  42. created () {
  43. },
  44. methods: {
  45. add () { // 增加
  46. this.defaultNum += 1
  47. this.select()
  48. },
  49. subtract () { // 减少
  50. if (this.defaultNum > 0) this.defaultNum -= 1; this.select()
  51. },
  52. input () { // 输入
  53. if (Number(this.defaultNum)) {
  54. this.select()
  55. } else {
  56. }
  57. },
  58. select () { // 返回数据
  59. this.$emit('returnData', {
  60. name: this.data.name,
  61. id: this.data.id,
  62. specId: null,
  63. specName: null,
  64. num: null,
  65. defaultNum: Number(this.defaultNum),
  66. price: null,
  67. defaultPrice: this.data.price,
  68. })
  69. },
  70. selectSpec () { // 选规格
  71. this.$emit('selectSpec', this.data)
  72. },
  73. }
  74. }
  75. </script>
  76. <!-- Add "scoped" attribute to limit CSS to this component only -->
  77. <style lang="scss" scoped>
  78. @import "page.scss";
  79. </style>