Ver código fonte

feat:"增加爆米花糖桶重量参数"

soobin 1 ano atrás
pai
commit
d7448f2397

+ 1 - 0
src/assets/language/en.json

@@ -476,6 +476,7 @@
     "editCheck": "Are you sure about the change?",
     "unknownError": "Unknown error!",
     "degree": "℃",
+    "weight": " kg",
     "humidity": "%RH",
     "volume": "Volume",
     "alarmContent": "Alarm content",

+ 1 - 0
src/assets/language/ja.json

@@ -477,6 +477,7 @@
         "editCheck": "変更を確認しますか?",
         "unknownError": "未知のエラー",
         "degree": "℃",
+        "weight": " kg",
         "humidity": "%RH",
         "volume": "ボリューム",
         "alarmContent": "アラーム内容",

+ 6 - 4
src/assets/language/zh.json

@@ -473,6 +473,7 @@
     "stirringTemperature": "温度二",
     "cornGeneratorTemperature": "温度一",
     "cupQuantity": "杯子数量",
+    "bucketWeight": "糖桶总重量",
     "numberOneTm": "NO.1000",
     "candyGeneratorTm": "发生器温度",
     "outsideTm": "柜外温度",
@@ -483,6 +484,7 @@
     "editCheck": "是否确认更改?",
     "unknownError": "未知错误!",
     "degree": "℃",
+    "weight": " kg",
     "humidity": "%RH",
     "volume": "音量",
     "time": "时间",
@@ -1049,10 +1051,10 @@
     "address": "地址",
     "searchPop": {
       "title": "根据以下条件筛选",
-      "orderNo": "订单编号",
-      "orderNoPlace": "请输入订单编号",
-      "busiName": "商户名称",
-      "busiNamePlace": "请输入商户名称",
+      "orderNo": "设备编号",
+      "orderNoPlace": "请输入设备编号",
+      "busiName": "商户账号",
+      "busiNamePlace": "请输入商户账号",
       "clearFilter": "清空条件",
       "filter": "筛选",
       "mainOver": "大陆/海外",

+ 5 - 0
src/service/popPayment.js

@@ -6,3 +6,8 @@ import { stringToUrl } from '@/common/js/utils';
 export function getOrderBySn(params) {
   return axios.get(`/PAY-SERVER/tOrder/getOrderBySn?${stringToUrl(params)}`,params);
 }
+
+// 获取微信支付参数
+export function getWxPayParams(params) {
+  return axios.get(`/PAY-SERVER/wechatPayInfo/getWechatPayInfo?${stringToUrl(params)}`,params);
+}

+ 6 - 5
src/styles/merchantManage/index.less

@@ -253,16 +253,17 @@
 
         .tab {
             .info {
-                width: 98px;
-                height: 13px;
+                // width: auto;
+                // height: 13px;
                 overflow-wrap: break-word;
                 color: rgba(64, 77, 116, 1);
                 font-size: 14px;
                 text-align: left;
-                white-space: nowrap;
-                line-height: 14px;
+                // white-space: nowrap;
+                line-height: 25px;
                 display: block;
-                margin: 21px 0 0 32px;
+                // margin: 21px 0 0 32px;
+                margin: 10px 25px;
             }
 
             .activate {

+ 6 - 3
src/views/device/index.vue

@@ -95,14 +95,17 @@
                     + $t("device.humidity") }}
                 </span>
                 <span v-if="item.machineType == '1' && item.equimentType == 'P30'" class="txt1 o-mt-10">
-                  {{ $t("device.cornGeneratorTemperature") + ':' + item.cabinetTm + $t("device.degree") }}
+                  {{ $t("device.cornGeneratorTemperature") + ':' + (item.cabinetTm ? item.cabinetTm : '0') + $t("device.degree") }}
                 </span>
                 <span v-if="item.machineType == '1' && item.equimentType == 'P30'" class="txt1 o-mt-10">
-                  {{ $t("device.stirringTemperature") + ':' + item.cabinetHd + $t("device.degree") }}
+                  {{ $t("device.stirringTemperature") + ':' + (item.cabinetHd ? item.cabinetHd : '0') + $t("device.degree") }}
                 </span>
-                <span v-if="item.machineType == '1' && item.equimentType == 'P30'" class="txt1 o-mt-10">
+                <span v-if="item.machineType == '1' && item.equimentType == 'P30' && (item.furnaceTm && item.furnaceTm != '-1')" class="txt1 o-mt-10">
                   {{ $t("device.cupQuantity") + ':' + item.furnaceTm }}
                 </span>
+                <span v-if="item.machineType == '1' && item.equimentType == 'P30' && item.furnaceSp" class="txt1 o-mt-10">
+                  {{ $t("device.bucketWeight") + ':' + item.furnaceSp + $t("device.weight") }}
+                </span>
                 <img v-if="item.checkType" class="pic1" referrerpolicy="no-referrer" src="../../assets/home/line.png" />
                 <div class="contentBottomCon" v-if="item.checkType">
 

+ 2 - 3
src/views/orderExport/index.vue

@@ -247,7 +247,8 @@ export default {
         loading.value = false;
       } else {
         loading.value = false;
-        showFailToast("数据加载失败");
+        finished.value = true;
+        showFailToast(data.message);
       }
     };
     // getOrderList(Object.assign(param, searchParams)).then((res) => {
@@ -309,8 +310,6 @@ export default {
         size: pageSize.value,
       };
       const { headers, data } = await Api_getOrderExport(Object.assign(param, searchParams));
-      // console.log('headers', headers)
-      // console.log('data', data)
       $M_ExportFile(data, headers);
     };
     // 筛选弹窗的元素

+ 101 - 15
src/views/payWechat.vue

@@ -1,11 +1,18 @@
 <template>
     <div>
+        <van-nav-bar title="订单信息" />
+        <van-card class="my-card" v-for="(orderDetail, index) in orderDetails" :key="index" :num="orderDetail.productNumber"
+            :price="orderDetail.price.toFixed(2)" :title="orderDetail.productName"
+            :thumb="showSugarPhoto(orderDetail.productNo)" />
+        <van-submit-bar :price="amount" button-color="#07c160" button-text="支付" @click="wxPay()" />
     </div>
 </template>
   
 <script>
-import { onMounted } from "vue";
 import { useRoute } from "vue-router";
+import { showFailToast, showSuccessToast, showToast, showDialog } from 'vant';
+import { getOrderBySn, getWxPayParams } from '@/service/popPayment';
+import { onMounted, ref } from "vue";
 
 
 export default {
@@ -13,26 +20,105 @@ export default {
 
     setup() {
         const route = useRoute();
-        console.log(route.query.sn);
         const sn = route.query.sn;
-        const appId = "wxcd5b1b2636c9f611";
-    
-        onMounted(() => {
-            wxPay();
-        });
+        const status = ref(0);
+        const order = ref(null);
+        const orderDetails = ref([]);
+        const amount = ref();
 
+        // 支付参数
+        const params = {
+            appId: "wxcd5b1b2636c9f611",
+            timeStamp: "",
+            nonceStr: "",
+            package: "",
+            paySign: ""
+        }
 
+        onMounted(async () => {
+            await getOrder();
+            if (status.value == 1) {
+                showDialog({
+                    message: '订单已支付',
+                    theme: 'round-button',
+                    confirmButtonColor: '#07c160',
+                }).then(() => {
+                    if (typeof window.WeixinJSBridge !== 'undefined') {
+                        window.WeixinJSBridge.call('closeWindow');
+                    } else {
+                        window.close();
+                    }
+                })
+            } else {
+                await getPayParams();
+            }
+        });
+        const getOrder = async () => {
+            const { data } = await getOrderBySn({ sn: sn });
+            if (data.code === '00000') {
+                order.value = data.data;
+                status.value = data.data.status;
+                orderDetails.value = data.data.orderDetails;
+                console.log("order", order.value);
+                console.log("orderDetails", orderDetails.value[0]);
+                amount.value = order.value.price * 100;
+            } else { showFailToast(data.message); }
+        };
+         
+        const getPayParams = async () => {
+            const { data } = await getWxPayParams({ sn: sn });
+            if (data.code === '00000') {
+                console.log("data", data);
+                console.log("data.data", data.data);
+                console.log("data.data.timeStamp", data.data.timeStamp);
+                console.log("data.data.nonceStr", data.data.nonceStr);
+                params.timeStamp = data.data.timeStamp;
+                params.nonceStr = data.data.nonceStr;
+                params.package = data.data.packageValue;
+                params.paySign = data.data.paySign;
+            }
+        }
+        const showSugarPhoto = (no) => {
+            return require(`../assets/order/spunSugar/goods/${no}.png`);
+        };
         const wxPay = () => {
-            // 处理回调接口
-            const redirectUri = encodeURIComponent('http://szwlh.sunzee.com.cn/PAY-SERVER/tOrder/callBack');
-            const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirectUri}&response_type=code&scope=snsapi_base&state=${sn}&connect_redirect=1#wechat_redirect`;
-            console.log(url)
-            window.location.replace(url);
+            WeixinJSBridge.invoke(
+                'getBrandWCPayRequest', {
+                "appId": params.appId,     //公众号ID,由商户传入     
+                "timeStamp": params.timeStamp,         //时间戳,自1970年以来的秒数     
+                "nonceStr": params.nonceStr, //随机串     
+                "package": params.package,
+                "signType": "RSA",         //微信签名方式:     
+                "paySign": params.paySign //微信签名 
+            },
+                function (res) {
+                    if (res.err_msg == "get_brand_wcpay_request:ok") {
+                        console.log("支付成功");
+                        showSuccessToast('支付成功');
+                    } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
+                        console.log("取消支付");
+                        showToast('取消支付');
+                    } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
+                        console.log("支付失败");
+                        showFailToast('支付失败');
+                    }
+                }
+            )
         };
-
         return {
-            wxPay
+            wxPay,
+            getOrder,
+            orderDetails,
+            showSugarPhoto,
+            // price,
+            amount
         };
     }
 };
-</script>
+</script>
+
+<style>
+.van-image__img {
+    object-fit: contain !important;
+}
+</style>