index.vue 6.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <template>
  2. <div class="subPage">
  3. <div class="system-table-search">
  4. <div class="flex-h">
  5. <div class="flex-item flex-h">
  6. <el-button size="mini" type="danger">营业</el-button>
  7. </div>
  8. </div>
  9. <div class="moreFilter"></div>
  10. </div>
  11. <div class="order-list-box">
  12. <div v-for="(item,index) in list" :key="index">
  13. <div class="print-area" :class="'item' + index">
  14. <div style="padding:25px 20px 5px;border-bottom:2px solid #cccccc;">
  15. <i class="iconfont icon-yinchenglogo" style="font-size:70px;color:red;position: relative;bottom: 20px;margin-right:10px;"></i>
  16. <div style="display:inline-block;">
  17. <span style="display:block;font-size:20px;font-weight:700;">A区域1号桌</span>
  18. <span style="display:block;margin-top:10px">下单时间:21:30:39</span>
  19. <span style="display:block;margin-top:10px">已等待:<span style="color:red;font-weight:700;">30:29</span></span>
  20. </div>
  21. </div>
  22. <div style="padding:10px 20px 5px;border-bottom:1px solid #cccccc;">
  23. <div>卡布奇诺</div>
  24. <div style="margin-top:8px;">
  25. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">热</span>
  26. <span style="display:inline-block;width:20%;text-align:right">x 1</span>
  27. </div>
  28. <div style="margin-top:8px;">
  29. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">冷</span>
  30. <span style="display:inline-block;width:20%;text-align:right">x 2</span>
  31. </div>
  32. </div>
  33. <div style="padding:10px 20px 5px;border-bottom:1px solid #cccccc;">
  34. <div>卡布奇诺</div>
  35. <div style="margin-top:8px;">
  36. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">热</span>
  37. <span style="display:inline-block;width:20%;text-align:right">x 1</span>
  38. </div>
  39. <div style="margin-top:8px;">
  40. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">冷</span>
  41. <span style="display:inline-block;width:20%;text-align:right">x 2</span>
  42. </div>
  43. </div>
  44. <div style="padding:10px 20px 5px;border-bottom:1px solid #cccccc;">
  45. <div>卡布奇诺</div>
  46. <div style="margin-top:8px;">
  47. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">热</span>
  48. <span style="display:inline-block;width:20%;text-align:right">x 1</span>
  49. </div>
  50. <div style="margin-top:8px;">
  51. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">冷</span>
  52. <span style="display:inline-block;width:20%;text-align:right">x 2</span>
  53. </div>
  54. </div>
  55. <div style="padding:10px 20px 5px;border-bottom:1px solid #cccccc;">
  56. <div>卡布奇诺</div>
  57. <div style="margin-top:8px;">
  58. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">热</span>
  59. <span style="display:inline-block;width:20%;text-align:right">x 1</span>
  60. </div>
  61. <div style="margin-top:8px;">
  62. <span style="display:inline-block;width:75%;text-align:left;color:#cccccc">冷</span>
  63. <span style="display:inline-block;width:20%;text-align:right">x 2</span>
  64. </div>
  65. </div>
  66. <div style="padding:10px 20px;border-bottom:1px solid #cccccc">备注:请赶快制作</div>
  67. <div style="padding:10px 20px;">下单人:xxxxx</div>
  68. </div>
  69. <div class="btns">
  70. <span @click="cancel">取消</span>
  71. <span @click="submit(`item${index}`)">确定</span>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </template>
  77. <script>
  78. import { getLodop } from '@/util/LodopFuncs'
  79. const baseUrl = process.env.NODE_ENV === 'development' ? 'ws://192.168.0.148:8078/admin' : 'ws://cdkj.ycjcjy.com/admin' // 'ws://cdkj.ycjcjy.com/admin'
  80. var LODOP
  81. export default {
  82. name: '',
  83. data () {
  84. return {
  85. total: 0,
  86. postData: { // 表格搜索条件
  87. phone: '', // 手机号
  88. page: 1, // 当前页码
  89. pagesize: 10, // 请求数据量
  90. },
  91. currentList: [],
  92. list: [1, 2, 3, 4, 5]
  93. }
  94. },
  95. components: {
  96. },
  97. mounted () {
  98. },
  99. methods: {
  100. submit (cl) {
  101. this.printPdf(cl)
  102. },
  103. printPdf (cl) {
  104. this.CreateOneFormPage(cl)
  105. // LODOP.PRINT();
  106. LODOP.PREVIEW()
  107. },
  108. CreateOneFormPage (cl) {
  109. LODOP = getLodop()
  110. LODOP.PRINT_INIT('订单')
  111. LODOP.SET_PRINT_PAGESIZE(0, document.getElementsByClassName(cl)[0].offsetWidth * 10 / 4 + 100, document.getElementsByClassName(cl)[0].offsetHeight * 10 / 4 + 120, 'CreateCustomPage')
  112. LODOP.ADD_PRINT_HTM(0, 0, document.getElementsByClassName(cl)[0].offsetWidth, document.getElementsByClassName(cl)[0].offsetHeight, document.getElementsByClassName(cl)[0].innerHTML)
  113. },
  114. cancel () {
  115. },
  116. initWebSocket (code) {
  117. const wsuri = `${baseUrl}/websocket/${code}`
  118. try {
  119. this.websock = new WebSocket(wsuri)
  120. } catch (e) {
  121. console.log(e)
  122. }
  123. this.websock.onmessage = this.websocketonmessage
  124. this.websock.onclose = this.websocketclose
  125. },
  126. websocketonmessage (e) {
  127. const redata = JSON.parse(e.data)
  128. if (redata.code === '1') {
  129. this.$toast({
  130. message: '核销成功',
  131. position: 'center',
  132. duration: 1000
  133. })
  134. setTimeout(() => {
  135. this.$router.go(-1)
  136. }, 1000)
  137. } else {
  138. // this.$toast({
  139. // message: redata.message,
  140. // position: 'center',
  141. // duration: 1000
  142. // })
  143. }
  144. }
  145. }
  146. }
  147. </script>
  148. <!-- Add "scoped" attribute to limit CSS to this component only -->
  149. <style lang="scss" scoped>
  150. @import "page.scss";
  151. </style>