Prechádzať zdrojové kódy

feat:“优化优惠码功能,修复权限问题,”

soobin 1 rok pred
rodič
commit
70512b5a04

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

@@ -479,9 +479,10 @@
     "humidity": "%RH",
     "volume": "Volume",
     "alarmContent": "Alarm content",
+    "time": "Time",
     "alarmContentNoData": "Machine is normal.",
     "alarmClock": "Machine alarm!",
-    "eliminateAlarm": "Eliminate",
+    "eliminateAlarm": "Clear",
     "editDevice": "Machine information",
     "seeMore": "See more",
     "stow": "Pack up",
@@ -664,6 +665,7 @@
     "theNumberOfDiscountCodesCannotExceed": "The number of discount codes cannot exceed 200",
     "theValidityPeriodCannotExceedMonths": "The validity period cannot exceed 3 months",
     "discountCannotBeGreaterThan": "Discount cannot be greater than 10",
+    "deductionRollNoZero": "The immediate reduction price cannot be zero",
     "successfulProductionOfDiscountCode": "Application successful",
     "applDiscCode": "Apply for discount code"
   },
@@ -941,6 +943,8 @@
     "orderNo": "Order No",
     "commodity": "commodity",
     "distribution": "Distribution",
+    "seeMore": " See more",
+    "stow": " Stow",
     "state": "state",
     "paymentMethod": "Payment method",
     "creationTime": "Creation time",

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

@@ -480,9 +480,10 @@
         "humidity": "%RH",
         "volume": "ボリューム",
         "alarmContent": "アラーム内容",
+        "time": "時間",
         "alarmContentNoData": "マシンは正常、アラームはない",
         "alarmClock": "デバイスアラーム",
-        "eliminateAlarm": "アラームを消去",
+        "eliminateAlarm": "消去",
         "editDevice": "詳細情報",
         "seeMore": "もっと見る",
         "stow": "隠す",
@@ -665,6 +666,7 @@
         "theNumberOfDiscountCodesCannotExceed": "ディスカウントコードの数は200を超えてはなりません",
         "theValidityPeriodCannotExceedMonths": "有効期限は3ヶ月を超えてはいけません",
         "discountCannotBeGreaterThan": "割引は10を超えてはいけません",
+        "deductionRollNoZero": "割り引き価格は0にできません",
         "successfulProductionOfDiscountCode": "ディスカウントコードの申請に成功",
         "applDiscCode": "ディスカウントコードを申請"
     },
@@ -941,6 +943,8 @@
         "business": "ビジネス",
         "orderNo": "注文番号",
         "commodity": "商品",
+        "seeMore": " もっと見る",
+        "stow": " 隠す",
         "distribution": "分配状況",
         "state": "状態",
         "paymentMethod": "支払い方法",

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

@@ -485,6 +485,7 @@
     "degree": "℃",
     "humidity": "%RH",
     "volume": "音量",
+    "time": "时间",
     "alarmContent": "报警内容",
     "alarmContentNoData": "机器正常,无报警",
     "alarmClock": "设备报警!",
@@ -659,7 +660,7 @@
     "days": "天",
     "type": "类型",
     "deductionRoll": "立减券",
-    "discount2": "折",
+    "discount2": "折扣券",
     "deductionPriceLabdel": "立减价格",
     "deductionPricePlaceholder": "请输入立减价格",
     "enterNumber": "输入数字",
@@ -671,6 +672,7 @@
     "theNumberOfDiscountCodesCannotExceed": "优惠码个数不能超过200",
     "theValidityPeriodCannotExceedMonths": "有效期不能超过3个月",
     "discountCannotBeGreaterThan": "折扣不能大于10",
+    "deductionRollNoZero": "立减价格不能为0",
     "successfulProductionOfDiscountCode": "申请成功",
     "applDiscCode": "申请优惠码"
   },
@@ -970,6 +972,8 @@
     "orderNo": "订单编号",
     "commodity": "商品",
     "distribution": "分销情况",
+    "seeMore": " 展开",
+    "stow": " 收起",
     "state": "状态",
     "paymentMethod": "支付方式",
     "creationTime": "创建时间",
@@ -996,6 +1000,7 @@
     "weChatScanning": "微信主扫",
     "antiScanningOfAlipay": "支付宝反扫",
     "weChatBackScanning": "微信反扫",
+    "eCNYBackeScanning": "数字人民币反扫",
     "refundSucceeded": "退款成功",
     "userNameLabel": "用户名",
     "userNamePlaceholder": "请输入用户名",

+ 10 - 2
src/components/NavBar.vue

@@ -35,7 +35,7 @@
   <!-- <div> -->
   <van-tabbar route active-color="#4d6add" inactive-color="#404d74" class="nav-bar">
     <van-tabbar-item replace to="/home" icon="home-o">{{ $t('navBar.homePage') }}</van-tabbar-item>
-    <van-tabbar-item replace to="/device" :dot="hasAlarm" icon="setting-o">{{
+    <van-tabbar-item v-if="isDeviceData" replace to="/device" :dot="hasAlarm" icon="setting-o">{{
       $t('navBar.deviceInformation') }}</van-tabbar-item>
     <van-tabbar-item replace to="/robotranking" icon="bar-chart-o">{{ $t('navBar.machineRanking') }}</van-tabbar-item>
     <van-tabbar-item replace to="/user" icon="user-o">{{ $t('navBar.personalCenter') }}</van-tabbar-item>
@@ -44,8 +44,9 @@
 </template>
 
 <script>
-import { onMounted, computed } from "vue";
+import { onMounted, computed, ref } from "vue";
 import { useStore } from "vuex";
+import { getLoginUser } from "../common/js/utils";
 // import { useRouter } from "vue-router";
 
 export default {
@@ -58,20 +59,27 @@ export default {
   setup() {
     // const router = useRouter()
     const store = useStore();
+    const user = getLoginUser();
     onMounted(() => {
       // const token = getLocal('token')
       // const path = route.path
       // if (token && !['/home', '/category'].includes(path)) {
       //   store.dispatch('updateCart')
       // }
+      isDeviceData.value = user.menuCodeList.some((item) => {
+        return item === "M1";
+      });
 
     });
+    // 设备管理权限
+    const isDeviceData = ref(false);
     const count = computed(() => {
       return store.state.cartCount;
     });
 
     return {
       count,
+      isDeviceData
     };
   },
 };

+ 3 - 1
src/main.js

@@ -4,7 +4,8 @@ import {
   AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem,
   PullRefresh, List, Tab, Tabs, SubmitBar, Toast, Skeleton, RadioGroup, Radio, NoticeBar, ActionSheet, Cascader, Col, Row,
   Slider, DatePicker, Switch, Calendar, Picker, Uploader, Tag, DropdownMenu, DropdownItem, Notify, ConfigProvider, NavBar,
-  Area, Popover, Collapse, CollapseItem, PickerGroup, TimePicker, BackTop, Progress, Tabbar, TabbarItem, Search, FloatingBubble
+  Area, Popover, Collapse, CollapseItem, PickerGroup, TimePicker, BackTop, Progress, Tabbar, TabbarItem, Search, FloatingBubble,
+  TextEllipsis
 } from 'vant';
 import { Image as VanImage } from 'vant';
 import App from './App.vue'
@@ -92,6 +93,7 @@ app.use(ActionBarButton)
   .use(TabbarItem)
   .use(Search)
   .use(FloatingBubble)
+  .use(TextEllipsis)
 
 app.use(router)
 app.use(store)

+ 4 - 0
src/service/order/index.js

@@ -25,6 +25,10 @@ export function refundOrder(params) {
 export function refundWechatOrder(params) {
   return axios.post(`/PAY-SERVER/wechatPay/refund`, params);
 }
+// 收钱吧订单退款
+export function refundSqbOrder(params) {
+  return axios.post(`/PAY-SERVER/tOrder/sqbRefund`, params);
+}
 // 订单列表-导出
 export function Api_getOnlineExport(params) {
   return axios.get(`/ORDER-SERVER/tOrder/orderExport?${stringToUrl(params)}`,{responseType:'blob'});

+ 44 - 67
src/styles/device/index.less

@@ -26,8 +26,6 @@
           }
 
           .txt2 {
-            // width: 65px;
-            // height: 15px;
             overflow-wrap: break-word;
             color: rgba(64, 77, 116, 1);
             font-size: 0.4rem;
@@ -64,19 +62,12 @@
         padding: 0.8rem 0.2rem;
 
         .box2 {
-          // width: 100%;
-          // height: 100%;
 
           .TextGroup3 {
-            // height: 57px;
-            // width: 48px;
 
             .group1 {
-              // width: 48px;
-              // height: 57px;
 
               .word4 {
-                // height: 26px;
                 overflow-wrap: break-word;
                 color: rgba(223, 94, 76, 1);
                 font-size: 0.7rem;
@@ -88,14 +79,12 @@
               }
 
               .info1 {
-                // height: 17px;
                 overflow-wrap: break-word;
                 color: rgba(135, 135, 166, 1);
                 font-size: 0.375rem;
                 text-align: center;
                 white-space: nowrap;
                 line-height: 1rem;
-                // margin-top: 14px;
                 display: block;
               }
             }
@@ -110,26 +99,21 @@
       .section1 {
         background-color: rgba(255, 255, 255, 1);
         margin-top: 1px;
-        // width: 100%;
 
         .outer1 {
-          // width: 100%;
 
           .bd1 {
             width: 100%;
-            // height: 15px;
 
             .layer1 {
               background-color: #8096ec;
               border-radius: 2px;
               width: 4px;
               height: 12px;
-              // margin-top: 4px;
             }
 
             .txtBox {
               width: 295px;
-              // overflow: auto;
 
               .txt1 {
                 white-space: nowrap;
@@ -140,7 +124,6 @@
                 line-height: 0.7rem;
                 display: block;
                 margin: 0 0 0 6px;
-                // overflow: hidden;
                 white-space: normal;
                 text-overflow: ellipsis;
               }
@@ -212,13 +195,17 @@
               // width: 100%;
               padding: 10px 10px;
               color: rgba(64, 77, 116, 1);
-              font-size: 13px;
+              // font-size: 13px;
               text-align: left;
               flex-wrap: wrap; 
               line-height: 13px;
               display: flex;
               align-items: center;
 
+              .word {
+                font-size: 12px;
+              }
+
               .word2 {
                 width: 75%;
                 padding: 0 0;
@@ -250,7 +237,6 @@
 
               .editIcon {
                 color: #4d6add;
-                // padding: 0 0 0 5px;
               }
               
               .btn {
@@ -258,44 +244,47 @@
               }
 
               .clickable-link {
-                // text-decoration: underline;
                 cursor: pointer;
-                font-size: 13px;
+                font-size: 12px;
                 width: 240px;
-                // display: flex;
-                // flex-wrap: wrap;
-                // padding-right: 1rem;
-                // margin-right: 1rem;
                 line-height: 20px;
               }
 
             }
 
-            // .word11 {
-            //   width: 95%;
-            //   padding: 10px 10px;
-            //   // overflow-wrap: break-word;
-            //   color: rgba(64, 77, 116, 1);
-            //   font-size: 14px;
-            //   text-align: left;
-            //   // white-space: nowrap;
-            //   // text-overflow: ellipsis;
-            //   line-height: 14px;
-            //   display: flex;
-            //   align-items: center;
-            //   // justify-content: space-between;
-
-            //   .word12 {
-            //     width: 65%;
-            //   }
-            // }
+            .alert-item {
+              display: flex;
+              justify-content: space-between; /* 左右分隔排列 */
+              align-items: center;
+              padding: 10px 10px;
+              color: rgba(64, 77, 116, 1);
+              font-size: 13px;
+              line-height: 20px;
 
+              .lineCon {
+                width: 0.1px;
+                height: 35px;
+                border: 1px solid #ffffff;
+                transform: scale(0.6);
+                background-color: #ffffff;
+              }
+
+            }
+
+            
+            .alert-info {
+              flex: 1; /* 左侧部分占据剩余空间 */
+            }
+            
+            .alert-actions {
+              margin-left: 10px; /* 右侧消除按钮与左侧内容之间的间距 */
+            }
 
             .van-button--primary {
               background-color: #4d6add;
-              padding: 0 5px;
-              margin: 0 5px 0 0;
-              height: 30px !important;
+              padding: 0 8px;
+              margin: 0 10px 0 0;
+              height: 25px !important;
             }
 
 
@@ -329,24 +318,11 @@
               // width: 100%;
               padding: 10px 10px;
               .word5 {
-                // width: 33.33%;
-                // overflow-wrap: break-word;
+
                 color: rgba(64, 77, 116, 1);
-                font-size: 0.375rem;
-                // text-align: left;
-                // line-height: 0.8rem;
-                // display: block;
+                font-size: 12px;
                 
               }
-
-              // .word6 {
-              //   // width: 33.33%;
-              //   overflow-wrap: break-word;
-              //   color: rgba(64, 77, 116, 1);
-              //   font-size: 14px;
-              //   line-height: 13px;
-              //   display: block;
-              // }
             }
 
             .info1 {
@@ -391,11 +367,10 @@
 
             .editDeviceBtnCon {
               .box2 {
-                width: 10px;
-                height: 0.5rem;
+                width: 20px;
+                height: 20px;
                 background: url("../../assets/order/gotoRight.png") no-repeat;
                 background-size: 100%;
-                // margin-top: 0.2rem;
               }
               .c-text-14 {
                 display: inline-block;
@@ -575,9 +550,11 @@
 
           .sugarTxt {
             color: rgba(64, 77, 116, 1);
-            font-size: 0.375rem;
-            // line-height: 0.8rem;
             padding: 10px 10px;
+            
+            .word {
+              font-size: 12px;
+            }
           }
 
           .bd6 {
@@ -595,7 +572,7 @@
 
             .group2 {
               width: 10px;
-              height: 5px;
+              height: 10px;
               background: url("../../assets/device/deviceSelect.png") center no-repeat;
               background-size: 100%;
 

+ 3 - 2
src/styles/home/index.less

@@ -28,9 +28,10 @@
       padding: 0.3rem 0.5rem;
 
       .lineCon {
-        width: 1px;
-        height: 0.8rem;
+        width: 0.1px;
+        height: 25px;
         border: 1px solid #B9BAD0;
+        background-color: #B9BAD0;
         transform: scale(0.6);
       }
 

+ 5 - 5
src/styles/orderCenter/index.less

@@ -491,15 +491,15 @@
 
       .content {
         width: 200px;
-        overflow-wrap: break-word;
+        // overflow-wrap: break-word;
         color: rgba(64, 77, 116, 1);
         font-size: 13px;
         text-align: right;
-        text-overflow: ellipsis;
-        white-space: nowrap;
-        overflow: hidden;
+        // text-overflow: ellipsis;
+        // white-space: nowrap;
+        // overflow: hidden;
         line-height: 16px;
-        display: block;
+        // display: block;
       }
     }
 

+ 84 - 86
src/views/device/index.vue

@@ -74,51 +74,52 @@
                 <span class="txt1 o-mt-10">{{ $t("device.machineUniqueCode") }}:{{ item.clientId }}</span>
                 <!-- 锁机状态 -->
                 <span v-if="user.type < 1" class="txt1 o-mt-10">
-                  {{ $t("device.lockCondition") }}:{{ item.isBlocked ? $t("device.lockState") : $t("device.unLockState") }}
+                  {{ $t("device.lockCondition") }}:{{ item.isBlocked ? $t("device.lockState") : $t("device.unLockState")
+                  }}
                 </span>
                 <!-- 温湿度 -->
-                <!-- <span v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'"
-                  class="txt1 o-mt-10">
-                  <van-col class="word5" style="">{{ $t("device.furnaceHeadTemperature") + ':' +
-                    item.furnaceTm
-                    + $t("device.degree") }}</van-col>
-                  <van-col class="word5" style="">{{ '&nbsp;' + $t("device.temperatureInCabinet") + ':' + item.cabinetTm
-                    + $t("device.degree") }}</van-col>
-                  <van-col class="word5" style="">{{ '&nbsp;' + $t("device.humidityInCabinet") + ':' + item.cabinetHd
-                    + $t("device.humidity") }}</van-col>
-                </span> -->
                 <span v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'"
                   class="txt1 o-mt-10">
                   {{ $t("device.temperatureInCabinet") + ':' + item.cabinetTm
-                    + $t("device.degree") }}
+        + $t("device.degree") }}
                 </span>
                 <span v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'"
                   class="txt1 o-mt-10">
                   {{ $t("device.humidityInCabinet") + ':' + item.cabinetHd
-                    + $t("device.humidity") }}
+        + $t("device.humidity") }}
                 </span>
                 <span v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'"
                   class="txt1 o-mt-10">
                   {{ $t("device.furnaceHeadTemperature") + ':' +
-                    item.furnaceTm
-                    + $t("device.degree") }}
+        item.furnaceTm
+        + $t("device.degree") }}
+                </span>
+                <span v-if="item.machineType == '1' && item.equimentType == 'P30'" class="txt1 o-mt-10">
+                  {{ $t("device.cornGeneratorTemperature") + ':' + item.cabinetTm + $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") }}
+                </span>
+                <span v-if="item.machineType == '1' && item.equimentType == 'P30'" class="txt1 o-mt-10">
+                  {{ $t("device.cupQuantity") + ':' + item.furnaceTm }}
                 </span>
                 <img v-if="item.checkType" class="pic1" referrerpolicy="no-referrer" src="../../assets/home/line.png" />
                 <div class="contentBottomCon" v-if="item.checkType">
 
                   <!-- 所属商家 -->
                   <!-- <span class="txt1 o-mt-10">{{ $t("device.affiliatedMerchants") }}:{{ item.adminUserName }}</span> -->
-                  <div class="contentWord kBordBott">{{ $t("device.affiliatedMerchants") }}:{{ item.adminUserName }}
+                  <div v-if="user.type < 2" class="contentWord kBordBott">{{ $t("device.affiliatedMerchants") }}:{{
+        item.adminUserName }}
                   </div>
                   <!-- 睡眠状态 -->
                   <div class="contentWord kBordBott">
-                    <span class="o-mr-10">{{ $t("device.sleepState") }}:{{ item.isSleep ? $t("device.sleeping") :
-                      $t("device.notSleeping") }}</span>
-                    <van-switch :model-value="item.isSleep" size="23px" @click="changeSleep(item)" />
+                    <span class="word o-mr-10">{{ $t("device.sleepState") }}:{{ item.isSleep ? $t("device.sleeping") :
+        $t("device.notSleeping") }}</span>
+                    <van-switch :model-value="item.isSleep" size="18px" @click="changeSleep(item)" />
                   </div>
                   <!-- 睡眠描述 -->
                   <div v-if="item.isSleep" class="contentWord kBordBott">
-                    <span class="">{{ $t("device.sleepDesc") }}:</span>
+                    <span class="word">{{ $t("device.sleepDesc") }}:</span>
                     <van-field colon center class="word2" v-model="item.sleepDesc" v-if="!sleepDescBoxShow"
                       :placeholder="$t('device.sleepDescPlace')" label-width="auto">
                       <template #button class="button_1">
@@ -129,21 +130,22 @@
                       </template>
                     </van-field>
                     <div class="l-flex-RC" v-else>
-                      <span class="o-mr-10">{{ item.sleepDesc == null ? $t("device.SuspendBusiness") : item.sleepDesc
+                      <span class="word o-mr-10">{{ item.sleepDesc == null ? $t("device.SuspendBusiness") :
+        item.sleepDesc
                         }}</span>
                       <van-button type="primary" @click="editSleepDesc()">{{ $t("device.modify") }}</van-button>
                     </div>
                   </div>
                   <span v-if="item.machineType == null || item.machineType == '0'"
                     class="contentWord kBordBott l-flex-RC">
-                    <span>{{ $t("device.clickRestart") }}:</span>
+                    <span class="word">{{ $t("device.clickRestart") }}:</span>
                     <van-button @click="restartHead(item.id)" type="primary">{{ $t("device.restartHead") }}</van-button>
                   </span>
                   <!-- 炉头状态 -->
                   <div class="contentWord kBordBott" v-if="item.machineType == null || item.machineType == '0'">
-                    <span>
+                    <span class="word">
                       {{ (item.machineType == '0' || item.machineType == null) ? $t("device.furnHeadStatus") :
-                        $t("device.deviceStatus") }}:
+        $t("device.deviceStatus") }}:
                       {{ item.eqeStatus === 1 ? $t("device.opened") : $t("device.closed") }}
                     </span>
                     <div class="o-ml-10">
@@ -155,54 +157,40 @@
                   <!-- <span class="txt5 o-ptb-10 kBordBott l-flex-RC"><span>远程开门:</span>
                     <van-button type="primary">开门</van-button>
                   </span> -->
-
-                  <!-- 设备地址 -->
-                  <!-- <span class="txt1 o-ptb-7">{{ item.fullName }}</span> -->
-                  <!-- 定位: -->
-                  <!-- <div>
-                    <span v-if="item.latitude" class="txt5 o-ptb-7 kBordBott l-flex-RC">
-                      <span class="info1">{{
-                        $t("device.position") }}:</span>
-                      <van-button @click="viewPosiClk(item)" type="primary">{{
-                        $t("device.view")
-                      }}</van-button>
-                    </span>
-                  </div> -->
-
                   <!-- 定位: -->
                   <span v-if="item.latitude" class="contentWord kBordBott l-flex-LC justify-space-between">
-                    <span>{{ $t("device.position") }}:</span>
+                    <span class="word">{{ $t("device.position") }}:</span>
                     <a class="clickable-link" @click="viewPosiClk(item)">{{ item.fullName }}</a>
                   </span>
 
                   <!-- 机器参数 -->
                   <!-- <van-row class="layer5 kBordBott" justify="space-between"
                     v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'">
-                    <van-col class="word5" style="">{{ $t("device.furnaceHeadTemperature") }}:{{
+                    <van-col class="word5">{{ $t("device.furnaceHeadTemperature") }}:{{
         item.furnaceTm
       }}{{ $t("device.degree") }}</van-col>
-                    <van-col class="word5" style="">{{ $t("device.temperatureInCabinet") }}:{{
+                    <van-col class="word5">{{ $t("device.temperatureInCabinet") }}:{{
         item.cabinetTm
       }}{{ $t("device.degree") }}</van-col>
-                    <van-col class="word5" style="">{{ $t("device.humidityInCabinet") }}:{{
+                    <van-col class="word5">{{ $t("device.humidityInCabinet") }}:{{
         item.cabinetHd
       }}{{ $t("device.humidity") }}</van-col>
                   </van-row> -->
 
 
-                  <van-row class="layer5 kBordBott" justify="space-between" v-if="item.machineType == '1'">
-                    <van-col class="word5" style="">{{ $t("device.cornGeneratorTemperature") }}:{{
-                      item.cabinetTm
-                    }}{{ $t("device.degree") }}</van-col>
-                    <van-col class="word5" style="">{{ $t("device.stirringTemperature") }}:{{
-                      item.cabinetHd
-                    }}{{ $t("device.degree") }}</van-col>
-                    <van-col class="word5" style="">{{ $t("device.cupQuantity") }}:{{ item.furnaceTm
+                  <!-- <van-row class="layer5 kBordBott" justify="space-between" v-if="item.machineType == '1'">
+                    <van-col class="word5">{{ $t("device.cornGeneratorTemperature") }}:{{
+        item.cabinetTm
+      }}{{ $t("device.degree") }}</van-col>
+                    <van-col class="word5">{{ $t("device.stirringTemperature") }}:{{
+        item.cabinetHd
+      }}{{ $t("device.degree") }}</van-col>
+                    <van-col class="word5">{{ $t("device.cupQuantity") }}:{{ item.furnaceTm
                       }}</van-col>
-                  </van-row>
+                  </van-row> -->
                   <template v-if="item.isMaterialUse === '1' && (item.machineType == '0' || item.machineType == null)">
                     <van-row justify="space-between" class="sugarTxt kBordBott">
-                      <van-col style="">
+                      <van-col>
                         {{ $t("device.whiteSugar") }}:{{ Format_calcuDecial(item.whiteSugar) }}%
                       </van-col>
                       <van-col>
@@ -211,14 +199,14 @@
                       <van-col>
                         {{ $t("device.yellowSugar") }}:{{ Format_calcuDecial(item.yellowSugar) }}%
                       </van-col>
-                      <van-col style="">
+                      <van-col>
                         {{ $t("device.blueSugar") }}:{{ Format_calcuDecial(item.blueSugar) }}%
                       </van-col>
                     </van-row>
                     <div class="sugarTxt kBordBott">
                       <span>{{ $t("device.stick") }}:{{
-                        Format_calcuDecial(item.stick)
-                      }}%</span>
+        Format_calcuDecial(item.stick)
+      }}%</span>
                     </div>
                     <van-row gutter="20" class="sugarTxt kBordBott">
                       <van-col>
@@ -232,49 +220,59 @@
                     <span class="contentWord kBordBott">
                       <span class="l-flex-RC">{{ $t("device.oneKeyFeed") }}:
                         <van-button class="replenishment" @click="replenishmentClk(item)" type="primary">{{
-                          $t("device.replenishment") }}
+        $t("device.replenishment") }}
                         </van-button>
                       </span>
-                      <!-- <a class="replenishment" @click="replenishmentClk(item)">{{ $t("device.replenishment")
-                      }}</a> -->
                     </span>
                   </template>
                   <!-- 最近刷新时间 -->
                   <span class="contentWord kBordBott">{{ $t("device.lastRefreshTime") }}:{{
-                    showDateTime(item.lastUpdateTime)
-                  }}</span>
+        showDateTime(item.lastUpdateTime)
+      }}</span>
                   <!-- 音量 -->
                   <span v-if="item.machineType != '2'" class="contentWord kBordBott">{{ $t("device.volume") }}:{{
-                    item.volume }}</span>
+        item.volume }}</span>
                   <!-- 报警内容 -->
-                  <div class="contentWord kBordBott l-flex-LC justify-space-between">
+                  <!-- <div class="contentWord kBordBott l-flex-LC justify-space-between">
                     <span>{{ $t("device.alarmContent") }}:</span>
-                    <!-- <div class="l-flex-RC"> -->
                     <span class="word3">{{
-                      item.alarmList && item.alarmList[0] && item.alarmList[0].alarmContent
-                        ? showDateTime(item.alarmList[0].occurrenceTime) + " " + item.alarmList[0].alarmContent
-                        : $t("device.alarmContentNoData")
-                    }}
+        item.alarmList && item.alarmList[0] && item.alarmList[0].alarmContent
+          ? showDateTime(item.alarmList[0].occurrenceTime) + " " + item.alarmList[0].alarmContent
+          : $t("device.alarmContentNoData")
+      }}
                     </span>
                     <van-button v-if="item.alarmList && item.alarmList[0] && item.alarmList[0].alarmContent"
                       style="flex-shrink: 0; margin: 0;" type="primary" color="#07c160"
                       :text="$t('device.eliminateAlarm')" @click="clearAlarm(item.alarmList[0], item)"></van-button>
-                    <!-- </div> -->
+                  </div> -->
+                  <div class="alert-item kBordBott" v-for="itemAlarm in item.alarmList" :key="itemAlarm">
+                    <div class="alert-info o-pr-5">
+                      <span style="display: block;">{{ $t("device.time") }} : {{ showDateTime(itemAlarm.occurrenceTime)
+                        }}
+                      </span>
+                      <span>{{ $t("device.alarmContent") }} : {{ itemAlarm.alarmContent }}</span>
+                    </div>
+                    <div class="lineCon"></div>
+                    <div class="alert-actions">
+                      <van-button type="primary" color="#07c160" style="margin: 0 10px;"
+                        :text="$t('device.eliminateAlarm')"
+                        @click="clearAlarm(itemAlarm, item, item.alarmList)"></van-button>
+                    </div>
                   </div>
                   <div class="editDeviceBtnCon l-flex-center o-mt-10">
                     <!-- 详细信息 -->
                     <div class="l-flex-RC" @click="deviceSet(item)">
                       <span class="c-text-14">{{
-                        $t("device.editDevice")
-                      }}</span>
+        $t("device.editDevice")
+      }}</span>
                       <div class="box2 flex-col"></div>
                     </div>
 
                     <!-- 远程操作 -->
                     <div class="l-flex-RC" @click="deviceOprShow(item)">
                       <span class="c-text-14">{{
-                        $t("device.commonOperations")
-                      }}</span>
+        $t("device.commonOperations")
+                        }}</span>
                       <div class="box2 flex-col"></div>
                     </div>
                   </div>
@@ -282,9 +280,9 @@
                 </div>
                 <div class="bd6 l-flex-center o-ptb-7" @click="item.checkType = !item.checkType">
                   <div class="l-flex-RC">
-                    <span class="info2 o-mr-2">{{
+                    <span class="info2 o-mr-5">{{
                       item.checkType ? $t("device.stow") : $t("device.seeMore")
-                    }}</span>
+                      }}</span>
                     <div class="group2 flex-col" :class="{ checkType: item.checkType }"></div>
                   </div>
                 </div>
@@ -299,7 +297,6 @@
     <!-- 搜索弹出框 -->
     <deviceSearch ref="searchRef" @search="search($event)"></deviceSearch>
     <div style="height: 50px;"></div>
-    <!-- <nav-bar></nav-bar> -->
   </div>
 </template>
 
@@ -310,7 +307,6 @@ import {
 } from "../../service/home";
 import { onMounted, reactive, toRefs, ref, onActivated } from "vue";
 import { showFailToast, showSuccessToast, showToast, showConfirmDialog } from "vant";
-// import navBar from "../../components/NavBar";
 import sHeader from "../../components/SimpleHeader";
 import { getLoginUser, Format_calcuDecial, styleUrl } from "../../common/js/utils";
 import {
@@ -355,7 +351,7 @@ export default {
     onActivated(() => {
       // 当组件被激活时,可能是从 keep-alive 缓存中激活的
       // 这时重新添加滚动事件监听器
-      console.log("进入时的位置", verticalScrollPosition.value);
+      // console.log("进入时的位置", verticalScrollPosition.value);
       document.documentElement.scrollTop = verticalScrollPosition.value;
       document.body.scrollTop = verticalScrollPosition.value;
       window.scrollY = verticalScrollPosition.value;
@@ -365,7 +361,7 @@ export default {
 
     onBeforeRouteLeave(() => {
       verticalScrollPosition.value = document.documentElement.scrollTop || document.body.scrollTop || window.scrollY;
-      console.log("离开时的位置", verticalScrollPosition.value);
+      // console.log("离开时的位置", verticalScrollPosition.value);
     })
 
     // 在组件卸载前清除定时器
@@ -498,7 +494,7 @@ export default {
       oprRef.value.showOper(e);
     };
     // 消除报警
-    const clearAlarm = async (e, e1) => {
+    const clearAlarm = async (e, e1, e2) => {
       const params = {
         id: e.id,
         name: e.name,
@@ -516,8 +512,11 @@ export default {
       if (data.code) {
         showSuccessToast(t("device.successfullyEliminatedTheAlarm"));
         setTimeout(() => {
-          e.alarmContent = "";
-          e1.hasTodayAlarm = false;
+          e2 = e2.filter((item) => item.id !== e.id);
+          list.value[list.value.findIndex((item) => item.id === e1.id)].alarmList = e2;
+          if (e2.length === 0) {
+            e1.hasTodayAlarm = false;
+          }
         }, 1000);
       } else {
         showFailToast(data.message);
@@ -533,7 +532,7 @@ export default {
 
     // 点击查看定位
     const viewPosiClk = (row) => {
-      console.log("row 是 >>>", row);
+      // console.log("row 是 >>>", row);
       if (row.latitude) {
         router.push({
           path: "viewPosition",
@@ -613,7 +612,6 @@ export default {
     }
     // 点击睡眠描述的确定按钮
     const sleepDescChg = async (sleepDesc, id) => {
-      console.log(sleepDesc);
       if (!sleepDesc) {
         showToast(t("device.sleepDescPlace"));
       } else {
@@ -634,7 +632,7 @@ export default {
     // 点击标签
     const active = ref("");
     const clickLabel = (item) => {
-      console.log(item);
+      // console.log(item);
       list.value = [];
       searchParams.current = 1;
       searchParams.labelId = item.name;
@@ -708,8 +706,8 @@ export default {
     };
     // 开启/关闭炉头
     const openCloseHead = (id, status) => {
-      console.log("id", id);
-      console.log("status", status);
+      // console.log("id", id);
+      // console.log("status", status);
       showConfirmDialog({
         title: t('user.tips'),
         message: (status == 1 ? t("device.openFurnaceHeadTips") : t("device.closeFurnaceHeadTips")),

+ 7 - 3
src/views/discountCode/payCode.vue

@@ -32,8 +32,8 @@
           <div class="van-cell__title van-field__label"><span>{{ $t('discountCode.type') }}</span></div>
           <div class="van-cell__value van-field__value radioBox">
             <van-radio-group v-model="type" direction="horizontal">
-              <van-radio name="1" icon-size="18px">{{ $t('discountCode.deductionRoll') }}</van-radio>
               <van-radio name="0" icon-size="18px">{{ $t('discountCode.discount2') }}</van-radio>
+              <van-radio name="1" icon-size="18px">{{ $t('discountCode.deductionRoll') }}</van-radio>
             </van-radio-group>
           </div>
         </div>
@@ -96,7 +96,7 @@ export default {
       codeNum: '', // 优惠码
       number: '', // 优惠码个数
       month: '', // 有效期
-      type: '1', // 优惠卷类型
+      type: '0', // 优惠卷类型
       discount: '', // 折扣
       frpCode: 'WEIXIN_NATIVE', // 支付方式
     });
@@ -112,7 +112,7 @@ export default {
       payCodeType.value = false;
       payParams.number = '';
       payParams.month = '';
-      payParams.type = '1';
+      payParams.type = '0';
       payParams.discount = '';
       payParams.frpCode = 'WEIXIN_NATIVE';
       if (user) {
@@ -137,6 +137,10 @@ export default {
       if (parseInt(payParams.number) > 200) { showToast(t('discountCode.theNumberOfDiscountCodesCannotExceed')); return; }
       if (parseInt(payParams.month) > 3) { showToast(t('discountCode.theValidityPeriodCannotExceedMonths')); return; }
       if (payParams.type === '0' && parseInt(payParams.discount) > 10) { showToast(t('discountCode.discountCannotBeGreaterThan')); return; }
+      if (payParams.type === '1' && payParams.discount == 0) {
+        showToast(t('discountCode.deductionRollNoZero'));
+        return;
+      }
       console.log("payParams", payParams);
       const { data } = await addCode(Object.assign({}, payParams));
       if (payParams.type === '0' && payParams.discount === '0' && promoCodeOpen.value != '0') {

+ 34 - 14
src/views/home/index.vue

@@ -36,7 +36,7 @@
       <div v-if="showDataDiv" class="o-plr-8 o-pt-10">
         <div class="salesData flex-col" @click="pushOrderCenter">
           <!-- <div class="block5 flex-col"> -->
-          <div class="topTitle flex-row justify-end">
+          <div class="topTitle flex-row justify-end" v-if="isOrderData">
             <span class="txt10">{{ $t("home.orderData") }}</span>
             <div class="layer4 flex-col"></div>
           </div>
@@ -67,8 +67,8 @@
         <!-- </div> -->
       </div>
       <!-- 时间 -->
-      <div v-if="showDataDiv" class="c-text-c" style="font-size: 0.5rem; margin-top: 0.1rem;">
-        {{ Format_time(dateSelect.startDate, 'YYYY-MM-DD') }}--{{ Format_time(dateSelect.endDate, 'YYYY-MM-DD') }}
+      <div v-if="showDataDiv" class="c-text-c" style="font-size: 18px; margin-top: 5px;">
+        {{ Format_time(dateSelect.startDate, 'YYYY/MM/DD') }}-{{ Format_time(dateSelect.endDate, 'YYYY/MM/DD') }}
       </div>
       <!-- ECharts
       <template v-if="showDataDiv && !noData(salesVolume, salesNumber)">
@@ -83,6 +83,31 @@
       </div>
       <kNoData v-else></kNoData>
       <!-- </div> -->
+      <!-- 常用工具 -->
+      <div v-if="user.type === 0">
+        <div class="outer9 flex-col justify-center">
+          <div class="main24 flex-col justify-between">
+            <div class="ImageText10 flex-col">
+              <div class="wrap2 flex-row justify-between">
+                <div class="outer10 flex-col"></div>
+                <div class="TextGroup13 flex-col">
+                  <span class="txt13">{{ $t("home.commonTools") }}</span>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="outer11 flex-row">
+          <div class="main25 flex-col" v-for="(item, index) in pushToolList" :key="index"
+            @click="pushToolPage(item.value)">
+            <img class="mod7 flex-col" :src="showLogo(item.value)" />
+            <div class="TextGroup14 flex-col">
+              <!-- <span class="info15" v-html="item.label"></span> -->
+              <span class="info15">{{ $t(item.label) }}</span>
+            </div>
+          </div>
+        </div>
+      </div>
 
       <div v-if="user.ifForeign === '1'">
         <!-- 机器销售额 -->
@@ -100,7 +125,7 @@
         </div>
         <!-- 各支付方式总额 -->
         <van-list offset="100" :immediate-check="false">
-          <div v-for="item in combinedList" :key="item" class="o-pb-20">
+          <div v-for="item in combinedList" :key="item" class="o-ptb-10">
             <div>
               <van-cell-group inset class="machineSaleBox">
                 <!-- 设备名称 -->
@@ -128,9 +153,8 @@
         </van-list>
       </div>
       <div v-else style="text-align: center;">
-        <div><br><br></div>
+        <br>
         {{ $t("home.migrationInstructions") }}
-        
       </div>
 
 
@@ -231,7 +255,6 @@ export default {
     // 获取公告
     const getNotice = () => {
       Api_getNotice({ adminId: user.id }).then((res) => {
-        // console.log("res", res);
         noticeContent.value = res.data.data || {};
       });
     };
@@ -243,8 +266,7 @@ export default {
       kDialogRef.value.openDialog();
     };
     // 点击右侧按钮
-    const confirmClk = (e) => {
-      console.log(e, 2222);
+    const confirmClk = () => {
       Api_getUpdateNotice({
         adminId: user.id,
       }).then((res) => {
@@ -557,7 +579,6 @@ export default {
           showFailToast(data.message);
         }
       } catch (error) {
-        console.log("error", error);
         console.error("Error", error)
       }
     }
@@ -674,7 +695,7 @@ export default {
         showDataDiv.value = true;
       } else {
         // 如果有数据概览权限 和 订单数据权限
-        if (isDataOverview && isOrderData.value) {
+        if (isDataOverview) {
           showDataDiv.value = true;
         }
       }
@@ -683,13 +704,11 @@ export default {
 
     // 常用操作跳转页面
     const pushToolPage = (index) => {
-      // console.log("常用操作跳转页面menuList >>> " + menuList);
       switch (index) {
         case "M1":
           router.push({ path: "/device" }); // 设备管理
           break;
         case "M3":
-          // router.push({ path: "/distributionSet" });
           router.push({ path: "/accountOperation" }); // 账户操作
           break;
         case "M4":
@@ -832,7 +851,8 @@ export default {
       // coinsBills,
       // creditCard,
       // electronicPayment,
-      combinedList
+      combinedList,
+      isOrderData
     };
   },
 

+ 19 - 27
src/views/orderCenter/index.vue

@@ -6,7 +6,6 @@
       <van-list v-model:loading="loading" v-model:error="error" :error-text="$t('public.requestFailed')"
         :finished="finished" :finished-text="$t('public.noMore')" offset="300" :immediate-check="false" @load="onLoad">
         <div class="main3 flex-col justify-center">
-          <!-- <div class="outer1 flex-col justify-between"> -->
           <div class="group4 flex-row justify-between">
             <div class="ImageText1 flex-col">
               <div class="outer2 flex-row justify-between">
@@ -31,7 +30,6 @@
         <!-- 销售数据 -->
         <div v-if="!noData(salesVolume, salesNumber, orderNumber)" class="o-plr-8 o-pt-15">
           <div class="salesData flex-col">
-            <!-- <div class="block5 flex-col"> -->
             <div class="salesDataBox flex-row">
               <div class="dataGroup flex-col">
                 <div class="dataGroupBox flex-row justify-center">
@@ -56,13 +54,11 @@
               </div>
             </div>
           </div>
-          <!-- </div> -->
         </div>
         <kNoData v-else></kNoData>
-        <!-- <div class="o-mt-5" style="height: 10px; background: #f5f5f5"></div> -->
         <!-- 时间 -->
-        <div class="c-text-c" style="font-size: 0.45rem; margin-top: 0.4rem;">
-          {{ Format_time(searchParams.startDate, 'YYYY-MM-DD') }}--{{ Format_time(searchParams.endDate, 'YYYY-MM-DD')
+        <div class="c-text-c" style="font-size: 18px; margin-top: 5px;">
+          {{ Format_time(searchParams.startDate, 'YYYY/MM/DD') }}-{{ Format_time(searchParams.endDate, 'YYYY/MM/DD')
           }}
         </div>
         <div class="OrderHead flex-col justify-center">
@@ -168,15 +164,18 @@
             </div> -->
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.orderNo') }}</span>
-          <span class="content">{{ refundObject.sn }}</span>
+          <!-- <span class="content">{{ refundObject.sn }}</span> -->
+          <van-text-ellipsis class="content" :content="refundObject.sn" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div v-if="refundObject.status != 0 && user.ifForeign === '0'" class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.orderSerialNumberLabel') }}</span>
-          <span class="content">{{ refundObject.trxNo }}</span>
+          <!-- <span class="content">{{ refundObject.trxNo }}</span> -->
+          <van-text-ellipsis class="content" :content="refundObject.trxNo" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.commodity') }}</span>
-          <span class="content">{{ refundObject.productName }}</span>
+          <!-- <span class="content">{{ refundObject.productName }}</span> -->
+          <van-text-ellipsis class="content" :content="refundObject.productName" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div v-if="user.ifForeign === '0' && user.isDistribution === '1'" class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.distribution') }}</span>
@@ -184,7 +183,8 @@
         </div>
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.equipmentNo') }}</span>
-          <span class="content">{{ refundObject.clientId }}</span>
+          <!-- <span class="content">{{ refundObject.clientId }}</span> -->
+          <van-text-ellipsis class="content" :content="refundObject.clientId" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.state') }}</span>
@@ -192,14 +192,16 @@
         </div>
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.paymentMethod') }}</span>
-          <span class="content">{{ showPayType(refundObject) }}</span>
+          <!-- <span class="content">{{ showPayType(refundObject) }}</span> -->
+          <van-text-ellipsis class="content" :content="showPayType(refundObject)" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div class="orderDetailBox flex-row justify-between">
           <span class="title">
             {{ refundObject.status === 1 ? $t('orderCenter.paymentTime') : refundObject.status === 3 ?
       $t('orderCenter.refundTime') : $t('orderCenter.creationTime') }}
           </span>
-          <span class="content">{{ showOrderTime(refundObject, 1) }}</span>
+          <!-- <span class="content">{{ showOrderTime(refundObject, 1) }}</span> -->
+          <van-text-ellipsis class="content" :content="showOrderTime(refundObject, 1)" :expand-text="$t('orderCenter.seeMore')" :collapse-text="$t('orderCenter.stow')" />
         </div>
         <div v-if="refundObject.status === 3" class="orderDetailBox flex-row justify-between">
           <span class="title">{{ $t('orderCenter.refunded') }}</span>
@@ -234,7 +236,7 @@
           <div v-if="refundObject.status === 1 && user.ifForeign === '0' && user.type < 2" style="width: 20px;">
           </div>
           <van-button size="small"
-            v-if="(refundObject.status === 1 && user.ifForeign === '0') || (refundObject.status === 1 && user.ifForeign === '1' && refundObject.isAir === '1')"
+            v-if="refundObject.status === 1 && user.ifForeign === '0' && isRefund"
             @click="noticeClk(refundObject)" round type="primary" style="padding: 15px 15px; margin-top: 20px;">
             {{ $t('orderCenter.initiateRefund') }}
           </van-button>
@@ -278,7 +280,6 @@
   </div>
 </template>
 <script>
-// import { Api_getOnlineExport } from "../../service/order";
 
 // 导入接口
 import { getAdminMch } from "../../service/merchantManage";
@@ -290,7 +291,7 @@ import kNoData from "../../components/commom/kNoData/index.vue";
 import { onMounted, reactive, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import orderSearch from "./orderSearch.vue";
-import { getOrderList, refundOrder, refundWechatOrder, updateIsInvoice, sentMessage, exportOrder } from "../../service/order/index";
+import { getOrderList, refundOrder, refundWechatOrder, updateIsInvoice, sentMessage, exportOrder, refundSqbOrder } from "../../service/order/index";
 import { showFailToast, showToast, showLoadingToast } from "vant";
 import { getLoginUser, $M_IsDate, Format_time, $M_ExportFile, styleUrl } from "../../common/js/utils";
 import { getHuifuId } from "../../service/huifuMch/index";
@@ -457,7 +458,6 @@ export default {
     const customerPhone = ref(''); // 消费者号码
     // 发送退款提醒短信
     const sentRefundMessage = async (row) => {
-      console.log(row)
       const params = {
         id: row.id,
         customerPhone: customerPhone.value,
@@ -466,7 +466,6 @@ export default {
         message: '是否确认发送短信?',
       }).then(async () => {
         const { data } = await sentMessage(params);
-        console.log(data);
         if (data.code) {
           showSuccessToast(data.data);
         } else {
@@ -483,10 +482,11 @@ export default {
         let data = null;
         if (orderType.value === '3') {
           data = await refundWechatOrder(cofficentForm);
+        } else if (orderType.value === '4') {
+          data = await refundSqbOrder(cofficentForm);
         } else {
           data = await refundOrder(cofficentForm);
         }
-        console.log(data);
         if (data.data.code && data.data.code !== 'B0001') {
           showDialog({
             message: t('orderCenter.refundSucceeded'),
@@ -626,7 +626,6 @@ export default {
           finished.value = true;
         } else {
           total.value = data.data.total;
-          console.log("订单总数", total.value);
           // orderTotal.value = data.data.total;
           if (params.current === 1) {
             orderList.value = [];
@@ -679,15 +678,12 @@ export default {
     const update = (uDate) => {
       chartType = uDate.chartType;
       searchParams = Object.assign(searchParams, uDate);
-      // console.log("searchParams.ifForeign",searchParams.ifForeign)
       searchParams.type = searchParams.ifForeign;
       search();
     };
     // 商户、支付方式、设备、商品选择回调
     const upselectdata = (uSData) => {
-      // console.log('uSData', uSData)
       searchParams = Object.assign(searchParams, uSData);
-      // console.log('searchParams.ifForeign', searchParams.ifForeign)
       searchParams.type = searchParams.ifForeign;
       search();
     };
@@ -743,8 +739,6 @@ export default {
       if (searchParams.type == null || searchParams.type == '') {
         searchParams.type = user.ifForeign;
       }
-      console.log("searchParams", searchParams);
-      console.log("user", user);
       // 显示加载框
       const downloadOrder = showLoadingToast({
         // message: '加载中...',
@@ -754,7 +748,6 @@ export default {
       try {
         // const { headers, data } = await Api_getOnlineExport(searchParams);
         const { headers, data, status } = await exportOrder(searchParams)
-        console.log("data", data)
         // 请求完成后隐藏加载框
         $M_ExportFile(data, headers);
         if (status == 200) {
@@ -771,7 +764,6 @@ export default {
       } catch (error) {
         // 请求发生错误时隐藏加载框
         // 处理错误情况
-        console.error(error);
         downloadOrder.close();
       }
     };
@@ -867,6 +859,7 @@ export default {
       { text: t('orderCenter.antiScanningOfAlipay'), values: "ALIPAY_CARD" },
       { text: t('orderCenter.weChatBackScanning'), values: "WEIXIN_CARD" },
       { text: t('orderCenter.weChatBackScanning'), values: "WEIXIN_PAYCODE" },
+      { text: t('orderCenter.eCNYBackeScanning'), values: 'ECNY_CARD' },
     ];
     // 弹窗支付上述
     const showPayType = (item) => {
@@ -883,7 +876,6 @@ export default {
     const orderNumber = ref(0);
     // 查询图表
     const getStatisticsFun = async () => {
-      // console.log('searchParams', searchParams)
       const params = {
         adminId: user.id,
         chartType: chartType,

+ 38 - 0
src/views/payWechat .vue

@@ -0,0 +1,38 @@
+<template>
+    <div>
+    </div>
+</template>
+  
+<script>
+import { onMounted } from "vue";
+import { useRoute } from "vue-router";
+
+
+export default {
+    name: 'weChatPay',
+
+    setup() {
+        const route = useRoute();
+        console.log(route.query.sn);
+        const sn = route.query.sn;
+        const appId = "wxcd5b1b2636c9f611";
+    
+        onMounted(() => {
+            wxPay();
+        });
+
+
+        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);
+        };
+
+        return {
+            wxPay
+        };
+    }
+};
+</script>