index.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <template>
  2. <uni-section class="mb-10" title="数值板" sub-title="statistic" type="line"></uni-section>
  3. <u-row gutter="0">
  4. <u-col span="6">
  5. <geek-statistic label="订单数量(个)" labelColor="#1f1f1f" :number="0" numberColor="red" />
  6. </u-col>
  7. <u-col span="6">
  8. <geek-statistic label="交易金额(元)" labelColor="#1f1f1f" :number="0" numberColor="red" />
  9. </u-col>
  10. </u-row>
  11. <uni-section class="mb-10" title="菜单" sub-title="menu" type="line"></uni-section>
  12. <u-row>
  13. <u-col :span="2.1" :offset="0.3" v-for="menu, index in menus" :key="index">
  14. <geek-menu v-bind=menu :size="60" @click="modal.msg(menu.label)" type="circle" />
  15. </u-col>
  16. </u-row>
  17. <u-row>
  18. <u-col :span="2.1" :offset="0.3" v-for="menu, index in menus" :key="index">
  19. <geek-menu :icon="menu.icon" :label="menu.label" :size="60" @click="modal.msg(menu.label)" type="rect" />
  20. </u-col>
  21. </u-row>
  22. <uni-section class="mb-10" title="商品列表" sub-title="commodity" type="line"></uni-section>
  23. <geek-commodity v-for="item, index in commodityList" :key="index" v-bind="item" type="line"
  24. @click="modal.msg(item.title)" />
  25. <geek-commodity v-for="item, index in commodityList" :key="index" v-bind="item" type="rect"
  26. @click="modal.msg(item.title)" />
  27. <uni-section class="mb-10" title="订单列表" sub-title="order" type="line"></uni-section>
  28. <geek-order v-for="item, index in orderList" :key="index" v-bind="item" @more="modal.msg('更多')"
  29. @again="modal.msg('再次购买')" @return="modal.msg('退换')" @sell="modal.msg('卖了换钱')"></geek-order>
  30. <uni-section class="mb-10" title="颜色选择器" sub-title="order" type="line"></uni-section>
  31. <geek-color-picker ref="gk"></geek-color-picker>
  32. <button @click="open()">打开颜色选择器</button>
  33. <uni-section class="mb-10" title="二维码" sub-title="order" type="line"></uni-section>
  34. <geek-qrcode cid="qrcode2" ref="qrcode2" val="二维码" :loadMake="true" />
  35. </template>
  36. <script setup lang="ts">
  37. import { ref, reactive } from 'vue';
  38. import modal from '@/plugins/modal'
  39. import { Commodity, CommodityOrder, Menu } from "@/components/geek-xd/types"
  40. const gk = ref(null)
  41. function open() {
  42. //@ts-ignore
  43. gk.value.open()
  44. }
  45. const menus:Array<Menu> = reactive([
  46. { icon: "/static/images/icon/rocket.png", label: '抢单' },
  47. { icon: "/static/images/icon/phone.png", label: '回访' },
  48. { icon: "/static/images/icon/message.png", label: '消息' },
  49. { icon: "/static/images/icon/dialogue.png", label: '公告' },
  50. { icon: "/static/images/icon/knowledge.png", label: '知识库' }
  51. ]);
  52. const commodityList: Array<Commodity> = reactive([
  53. {
  54. img: '/static/images/banner/banner01.jpg',
  55. title: '商品1',
  56. subTitle: '商品1简介',
  57. price: 100,
  58. },
  59. {
  60. img: '/static/images/banner/banner02.jpg',
  61. title: '商品2',
  62. subTitle: '商品2简介',
  63. price: 300,
  64. },
  65. {
  66. img: '/static/images/banner/banner03.jpg',
  67. title: '商品3',
  68. subTitle: '商品3简介',
  69. price: 200,
  70. }
  71. ])
  72. const orderList: Array<CommodityOrder> = [
  73. {
  74. shop: 'geek自营旗舰店',
  75. status: '完成',
  76. img: '/static/images/banner/banner01.jpg',
  77. title: '商品1',
  78. subTitle: '商品1简介',
  79. price: 100.32,
  80. num: 10
  81. },
  82. {
  83. shop: 'geek自营旗舰店',
  84. status: '已取消',
  85. img: '/static/images/banner/banner03.jpg',
  86. title: '商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商品3',
  87. subTitle: '商品3简介',
  88. price: 2000.67,
  89. num: 10
  90. },
  91. {
  92. shop: 'geek自营旗舰店',
  93. status: '已取消',
  94. img: '/static/images/banner/banner03.jpg',
  95. title: '商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商商品3',
  96. subTitle: '商品3简介',
  97. price: 10.67,
  98. num: 10
  99. }
  100. ]
  101. </script>
  102. <style lang="scss" scoped></style>