|
@@ -0,0 +1,359 @@
|
|
|
+<template>
|
|
|
+ <div class="mianBox" v-if="order">
|
|
|
+ <van-row class="headerBox">
|
|
|
+ <van-icon name="arrow-left" @click="fanhuiBtn" class="arrow-left" />
|
|
|
+ <van-col class="return">返回</van-col>
|
|
|
+ <van-col class="title">{{title}}</van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="top">
|
|
|
+ <van-row class="timeType">
|
|
|
+ <van-col class="describe">今日{{type}}菜品:<span class="time">(点餐时间:{{time}})</span></van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="RecommendedDishes">
|
|
|
+ <van-col :span="7" v-for="(item,index) in RecommendedDishes" :key="index" class="dishes" :gutter="20">
|
|
|
+ {{item.name}}
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-button type="danger" @click="diancan" class="button">去点餐</van-button>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="bottom">
|
|
|
+ <van-row class="title">
|
|
|
+ <van-col span="12" class="describe">最近点餐:</van-col>
|
|
|
+ <van-col span="12" class="allOrder" @click="allOrder">
|
|
|
+ <span>所有订单</span>
|
|
|
+ <van-image :src="require('../../assets/image/right2.png')" class="right_icon" />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="orderList" gutter="20">
|
|
|
+ <van-col span="24" v-for="(item,index) in order" :key="index" class="order">
|
|
|
+ <van-col span="12" class="moneyText">下单金额</van-col>
|
|
|
+ <van-col span="12" class="money">¥{{item.money}}</van-col>
|
|
|
+ <van-col span="12" class="orderTimeText">下单时间</van-col>
|
|
|
+ <van-col span="12" class="orderTime">{{item.createTime}}</van-col>
|
|
|
+ <van-col span="12" class="statusText">当前状态</van-col>
|
|
|
+ <van-col span="12" :class="item.status == '4' ? 'status' : 'status1'">
|
|
|
+ {{item.status == "1" ? "待接单" : item.status == "2" ? "已接单" : item.status == "3" ? "配餐中" : item.status == "4" ? "送餐" : "完成"}}
|
|
|
+ </van-col>
|
|
|
+ <van-steps :active="item.status" v-if="item.status != '4'" active-color="#D7000F" inactive-color="#999999">
|
|
|
+ <van-step>待接单</van-step>
|
|
|
+ <van-step>已接单</van-step>
|
|
|
+ <van-step>配餐中</van-step>
|
|
|
+ <van-step>送餐</van-step>
|
|
|
+ </van-steps>
|
|
|
+ </van-col>
|
|
|
+ <van-col span="24" class="noMore">没有更多数据了</van-col>
|
|
|
+ </van-row>
|
|
|
+ </van-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import axios from "axios";
|
|
|
+import { Field, NumberKeyboard, Dialog, Toast,Step, Steps } from "vant";
|
|
|
+import { returnFloat } from '@/assets/js/common.js'
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ title:"自助点餐",
|
|
|
+ type:"晚餐",
|
|
|
+ time:'15:00-19:00',
|
|
|
+ RecommendedDishes:[
|
|
|
+ {name:"香菇肉粉1"},
|
|
|
+ {name:"香菇肉粉2"},
|
|
|
+ {name:"香菇肉粉3"},
|
|
|
+ {name:"香菇肉粉4"},
|
|
|
+ {name:"香菇肉粉5"},
|
|
|
+ {name:"香菇肉粉6"},
|
|
|
+ {name:"香菇肉粉7"},
|
|
|
+ {name:"香菇肉粉8"},
|
|
|
+ {name:"香菇肉粉9"},
|
|
|
+ {name:"香菇肉粉10"},
|
|
|
+ ],
|
|
|
+ order:[
|
|
|
+ {money:'18.50',createTime:'2022-08-14 00:00:00',status:2},
|
|
|
+ {money:'20.00',createTime:'2022-08-14 00:00:00',status:3},
|
|
|
+ {money:'100.00',createTime:'2022-08-14 00:00:00',status:4}
|
|
|
+ ],
|
|
|
+
|
|
|
+ };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ money(val) {
|
|
|
+ if (/^0[1-9]/.test(val)) {
|
|
|
+ this.money = val.substring(1);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ [Field.name]: Field,
|
|
|
+ [NumberKeyboard.name]: NumberKeyboard,
|
|
|
+ [Dialog.name]: Dialog,
|
|
|
+ [Toast.name]: Toast,
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ var url = window.location.href;
|
|
|
+ localStorage.setItem("amount57",url)
|
|
|
+ if(url.indexOf("token") > 1){
|
|
|
+ //("app进入")
|
|
|
+ if(this.getQueryVariable("token")){
|
|
|
+ localStorage.removeItem('type');
|
|
|
+ this.erp = true
|
|
|
+ this.noerp = false
|
|
|
+ this.loadingErp = true
|
|
|
+ this.userQuery()
|
|
|
+ }else{
|
|
|
+ //console.log("app进入")
|
|
|
+ Toast(this.getQueryVariable("无token传入!"))
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ mouted(){
|
|
|
+ var url = window.location.href;
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ diancan(){
|
|
|
+ this.$router.push({ path: "/orderService"})
|
|
|
+ },
|
|
|
+ //用户查询(卡号)
|
|
|
+ userQuery(){
|
|
|
+ axios({//查询信息
|
|
|
+ method: 'get',
|
|
|
+ url: 'https://smartpark.caih.com/zkxt/api/thirdparty/v1/user/getZkUserByCipher?cipher=' + this.getQueryVariable("token"),
|
|
|
+ timeout: 10000,
|
|
|
+ }).then(res =>{
|
|
|
+ if(res.data?.data?.id){
|
|
|
+ //axios.get(`/dxtop/staff/one?id=0001T110000000002HBL`).then(res2 => { //测试
|
|
|
+ axios.get(`/dxtop/staff/one?id=${res.data.data.id}`).then(res2 => { //验证充值信息是否同步
|
|
|
+ if(res2.data.data.proportion){
|
|
|
+ this.proportion = res2.data.data.proportion
|
|
|
+ }else{
|
|
|
+ this.proportion = 1
|
|
|
+ }
|
|
|
+ if(res2.data.data){
|
|
|
+ localStorage.setItem("user_wt", res.data.data.id)
|
|
|
+ // localStorage.setItem("user_wt", "0001T110000000002HBL") //测试id
|
|
|
+ localStorage.setItem("cardId57", res2.data.data.cardId)
|
|
|
+ this.cardId = res2.data.data.cardId
|
|
|
+ this.cardLoading = false
|
|
|
+ this.Balance()
|
|
|
+ this.recharge2()
|
|
|
+ }else{
|
|
|
+ this.userNoAlert()
|
|
|
+ }
|
|
|
+ this.loadingErp = false
|
|
|
+ })
|
|
|
+ }else if(res.data?.data?.cardId){
|
|
|
+ this.loadingErp = false
|
|
|
+ Toast("用户卡号未绑定")
|
|
|
+ }else{
|
|
|
+ this.loadingErp = false
|
|
|
+ this.userNoAlert()
|
|
|
+ }
|
|
|
+ }).catch(err =>{
|
|
|
+ this.loadingErp = false
|
|
|
+ this.userNoAlert()
|
|
|
+ });
|
|
|
+ },
|
|
|
+ userNoAlert(){
|
|
|
+ Toast("当前账户初始流程中,请耐心等待或联系管理人员查询")
|
|
|
+ },
|
|
|
+ getQueryVariable(variable){//参数获取 设定微信进入参数
|
|
|
+ //window.location.search.substring(1);
|
|
|
+ console.log(variable)
|
|
|
+ var query = window.location.hash.substring(3);
|
|
|
+ var vars = query.split("&");
|
|
|
+ if(vars[2]){ //判定微信端进入
|
|
|
+ localStorage.setItem("passageway","weixin")
|
|
|
+ }else{
|
|
|
+ localStorage.removeItem("passageway")
|
|
|
+ }
|
|
|
+ for (var i=0;i<vars.length;i++) {
|
|
|
+ var pair = vars[i].split("=");
|
|
|
+ if(pair[0] == variable || pair[0] =="mount?token"){
|
|
|
+
|
|
|
+ if(vars[1] != "classify"){
|
|
|
+ // localStorage.removeItem("classify")
|
|
|
+ }
|
|
|
+ if(variable =="token"){
|
|
|
+ this.user = pair[1]
|
|
|
+ }else if(variable =="type"){
|
|
|
+ this.type = pair[1]
|
|
|
+ }
|
|
|
+ return pair[1];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return(false);
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ handleClose() {
|
|
|
+ this.money = Number(this.money);
|
|
|
+ this.overlayShow = false;
|
|
|
+ },
|
|
|
+ allOrder(){
|
|
|
+ this.$router.push({ path: "/orderList"})
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //返回上级或app目录页
|
|
|
+ fanhuiBtn(){
|
|
|
+ this.$router.go(-1)
|
|
|
+ // if(localStorage.getItem("passageway")){
|
|
|
+ // this.$router.go(-1)
|
|
|
+ // }else{
|
|
|
+ // setTimeout(()=>{
|
|
|
+ // this.$router.go(-2)
|
|
|
+ // },10)
|
|
|
+
|
|
|
+ //window.location.href = "https://smartpark.caih.com/h5/#/home/feature?isApp=true"
|
|
|
+ //}
|
|
|
+ }
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.mianBox{
|
|
|
+ width:100%;
|
|
|
+ height:100%;
|
|
|
+ background-color: #F9F9F9 !important;
|
|
|
+ .headerBox{
|
|
|
+ position: relative;
|
|
|
+ .arrow-left{
|
|
|
+ font-size: 24px;
|
|
|
+ vertical-align: middle;
|
|
|
+ margin-left:-6px;
|
|
|
+ }
|
|
|
+ .return{
|
|
|
+ vertical-align: middle;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 42px;
|
|
|
+ }
|
|
|
+ .title{
|
|
|
+ position: absolute;
|
|
|
+ width:calc(100vw - 30px);
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .top{
|
|
|
+ padding:0 15px;
|
|
|
+ background-color: #fff;
|
|
|
+ .timeType{
|
|
|
+ padding:10px 0 2px;
|
|
|
+ text-align: left;
|
|
|
+ .describe{
|
|
|
+ font-size: 16px;
|
|
|
+ // font-family: PingFangMedium;
|
|
|
+ font-weight: 700;
|
|
|
+ width:100%;
|
|
|
+ }
|
|
|
+ .time{
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .RecommendedDishes{
|
|
|
+ margin-top:6px;
|
|
|
+ .dishes{
|
|
|
+ padding:10px 0;
|
|
|
+ background-color: #F9F9F9;
|
|
|
+ color:#666;
|
|
|
+ text-align: center;
|
|
|
+ border-radius: 6px;
|
|
|
+ font-size: 14px;
|
|
|
+ margin-top:8px;
|
|
|
+ }
|
|
|
+ .dishes:nth-child(3n),.dishes:nth-child(3n-1){
|
|
|
+ margin-left:21px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .button{
|
|
|
+ width:100%;
|
|
|
+ margin:20px 0;
|
|
|
+ border-radius: 10px;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .bottom{
|
|
|
+ background-color: #fff;
|
|
|
+ margin-top:10px;
|
|
|
+ .title{
|
|
|
+ padding:10px 15px;
|
|
|
+ border-bottom:1px solid #F9F9F9;
|
|
|
+ text-align: left;
|
|
|
+ .describe{
|
|
|
+ font-size: 16px;
|
|
|
+ // font-family: PingFangMedium;
|
|
|
+ font-weight: 700;
|
|
|
+ }
|
|
|
+ .allOrder{
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ text-align: right;
|
|
|
+ .right_icon{
|
|
|
+ width:6px !important;
|
|
|
+ margin-left:10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .orderList{
|
|
|
+ .order{
|
|
|
+ padding:15px 15px 15px;
|
|
|
+ .moneyText,.orderTimeText,.statusText{
|
|
|
+ color:#999999;
|
|
|
+
|
|
|
+ }
|
|
|
+ .money,.orderTime,.status{
|
|
|
+ color:#333;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+ div{
|
|
|
+ font-size: 14px;
|
|
|
+ padding:5px 0;
|
|
|
+ }
|
|
|
+ // div:nth-child(even){
|
|
|
+ // text-align: right;
|
|
|
+ // }
|
|
|
+ .status1{
|
|
|
+ color:#D7000F;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
+ .van-steps{
|
|
|
+ width:100%;
|
|
|
+ background:transparent;
|
|
|
+ height:50px;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .order:nth-child(odd){
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+ .order:nth-child(even){
|
|
|
+ background-color: #F9F9F9;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ .noMore{
|
|
|
+ background-color: #F9F9F9;
|
|
|
+ color:#999999;
|
|
|
+ text-align: center;
|
|
|
+ padding:20px 0;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+</style>
|
|
|
+<style>
|
|
|
+.van-steps__items{
|
|
|
+ margin-top:-10px !important;
|
|
|
+}
|
|
|
+.van-step__title{
|
|
|
+ position: absolute !important;
|
|
|
+ top:40px;
|
|
|
+ font-size: 14px !important;
|
|
|
+}
|
|
|
+</style>
|