123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- let Parse = getApp().Parse;
- const company = getApp().globalData.company
- const rechText = require('../../../../../../utils/rech-text');
- const login = require('../../../../../../utils/login')
- const dateF = require('../../../../../../utils/date')
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- id: "",
- goods: {},
- shopstore: {},
- number: 1,
- prices: null,
- gid: null,
- show: false,
- sid: null,
- oid: null
- },
- onChange(event) {
- let number = event.detail
- console.log(number);
- let prices = (this.data.goods.price * number)
- console.log(prices);
- this.setData({
- number: number,
- prices: prices
- })
- },
- async getorder() {
- let oid = this.data.oid
- let shopOrder
- let ShopOrder = new Parse.Query("ShopOrder")
- shopOrder = await ShopOrder.get(oid)
- shopOrder.set("status", 200)
- shopOrder.save().then(res => {
- console.log(res)
- })
- },
- submit() {
- let userLogin = wx.getStorageSync("userLogin");
- if (userLogin == "") {
- login.loginNow();
- return;
- }
- this.setData({
- show: true
- })
- let _this = this
- //生成订单号
- let now = new Date()
- let tradeNo = "C" +
- String(now.getFullYear()) +
- (now.getMonth() + 1) +
- now.getDate() +
- now.getHours() +
- now.getMinutes() +
- now.getSeconds() +
- Math.random().toString().slice(-6); //生成六位随机数
- this.setData({
- tradeNo: tradeNo
- })
- console.log(this.data.prices, this.data.shopstore.storeName, tradeNo, this.data.goods.name, this.data.gid, this.data.sid)
- let ShopOrder = Parse.Object.extend("ShopOrder")
- let shopOrder = new ShopOrder()
- shopOrder.set("orderNum", tradeNo)
- shopOrder.set("price", this.data.prices)
- shopOrder.set("type", 'meal')
- shopOrder.set("image", this.data.goods.image)
- shopOrder.set("status", 100)
- shopOrder.set("count", this.data.number)
- shopOrder.set("name", this.data.goods.name)
- shopOrder.set("goods", {
- __type: 'Pointer',
- className: 'ShopGoods',
- objectId: this.data.gid
- })
- shopOrder.set("shopStore", {
- __type: 'Pointer',
- className: 'ShopStore',
- objectId: this.data.sid
- })
- shopOrder.set("company", {
- __type: 'Pointer',
- className: 'Company',
- objectId: company
- })
- shopOrder.set("user", {
- __type: 'Pointer',
- className: '_User',
- objectId: Parse.User.current().id
- })
- shopOrder.save().then(res => {
- console.log(res)
- _this.setData({
- oid: res.id
- })
- })
- },
- async acceptResult(e) {
- let {
- activeOrder,
- tradeNo,
- oid
- } = this.data
- let that = this
- let {
- params,
- no
- } = e.detail;
- that.setData({
- show: false
- })
- try {
- if (params == "ok") {
- // activeOrder.set("status", 200)
- // activeOrder.set("isPay", true)
- await that.getorder()
- // await activeOrder.save()
- this.print_order(oid, tradeNo)
- wx.showToast({
- title: '购买成功',
- icon: 'none',
- image: '',
- duration: 1500,
- mask: false,
- });
- wx.navigateBack({
- delta: 2,
- })
- } else {
- wx.showToast({
- title: '支付失败,取消订单',
- icon: 'none',
- image: '',
- duration: 1500,
- mask: false,
- });
- }
- } catch (error) {
- console.log(error)
- wx.showToast({
- title: "支付失败",
- icon: "error",
- duration: 1500,
- });
- wx.hideLoading()
- }
- },
- //用户下单成功,打印订单
- async print_order(orderid, orderNumber) {
- let {
- prices,
- goods,
- sid
- } = this.data
- let orders = [{
- name: goods.name,
- num: 1,
- price: goods.price.toFixed(2)
- }]
- let servece = 0
- let mobile = '18866666666'
- let address = '堂食到店'
- let dev_code = await this.getPrint()
- let user = Parse.User.current()
- if(user.get('mobile')){
- mobile = user.get('mobile')
- }
- let data = {
- dev_code: dev_code,
- cid: company,
- order_id: orderid,
- orderNumber: orderNumber,
- price: prices,
- orders: orders,
- name: user.get('nickname'),
- mobile: mobile,
- address: address,
- servece: servece,
- desc: '用户下单',
- storeid:sid,
- }
- console.log(data);
- wx.request({
- url: 'https://test.fmode.cn/api/print-dev/dev',
- data: data,
- header: {
- 'content-type': 'application/json'
- },
- method: 'POST',
- dataType: 'json',
- responseType: 'text',
- success: (result) => {
- console.log(result);
- },
- fail: () => {},
- complete: () => {}
- });
- },
- //获取打印机设备
- async getPrint() {
- let query = new Parse.Query("PrintDevice")
- query.equalTo("company", company)
- let res = await query.first()
- if (res && res.id) {
- return res.get("code")
- }
- },
- async getShopgoods() {
- let id = this.data.id
- let query = new Parse.Query('ShopGoods')
- query.include('shopStore')
- let shopGoods = await query.get(id)
- let goods = shopGoods.toJSON()
- if (goods.details) {
- goods.details = rechText.formatRichText(goods.details)
- }
- let gid = shopGoods.id //套餐id
- let prices = goods.price * this.data.number
- this.setData({
- goods,
- prices,
- gid
- })
- this.getShopStore()
- },
- async getShopStore() {
- let storeId = this.data.goods.shopStore.objectId
- let ShopStore = new Parse.Query('ShopStore')
- let shopstore = await ShopStore.get(storeId)
- this.setData({
- shopstore: shopstore.toJSON(),
- sid: storeId
- })
- },
- taxi() {
- let latitude = this.data.shopstore.location.latitude;
- let longitude = this.data.shopstore.location.longitude;
- console.log(latitude, longitude);
- wx.getLocation({
- type: 'gcj02', //返回可以用于wx.openLocation的经纬度
- success() {
- wx.openLocation({
- latitude,
- longitude,
- scale: 18
- })
- }
- })
- },
- phone() {
- let phone = this.data.shopstore.mobile
- console.log(phone);
- wx.makePhoneCall({
- phoneNumber: phone
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- this.setData({
- activeColor:getApp().globalData.activeColor || '#229293'
- })
- let id = options.id
- let events = {
- detail: 0
- }
- this.setData({
- id: id,
- events: events
- })
- this.getShopgoods()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|