Преглед изворни кода

feat: "隐藏海外线下订单的退款按钮"

Ritchie пре 2 година
родитељ
комит
0310f9827c
2 измењених фајлова са 37 додато и 8 уклоњено
  1. 37 7
      src/views/orderCenter/index.vue
  2. 0 1
      src/views/user.vue

+ 37 - 7
src/views/orderCenter/index.vue

@@ -210,8 +210,15 @@
               <span class="word8">{{ $t('orderCenter.refunded') }}</span>
               <span class="info4">{{ refundObject.refundAmount }}</span>
             </div>
-            <van-button size="small" v-if="refundObject.status === 1" @click="noticeClk(refundObject)" round
-              type="primary" style="margin-top: 20px;">
+            <!-- 发起退款 -->
+            <!-- TODO: 线下订单隐藏退款按钮,当前海外都是线下,后续加上 isAir 判断 -->
+            <van-button 
+              size="small" 
+              v-if="refundObject.status === 1 && disRefund === 1" 
+              @click="noticeClk(refundObject)" 
+              round
+              type="primary" 
+              style="margin-top: 20px;">
               {{ $t('orderCenter.initiateRefund') }}
             </van-button>
           </div>
@@ -397,7 +404,7 @@ export default {
           isLoading.value = true; // 开始加载
           refundAjax();
           isLoading.value = false; // 加载完成
-      
+
           kDialogRef.value.closeDialog();
         }).catch(() => {
           return;
@@ -419,10 +426,10 @@ export default {
           });
         } else {
           Toast.fail(data.message);
-        } 
+        }
       } catch (error) {
         Toast.fail(t('orderCenter.requestFailed'));
-      } 
+      }
     };
     // 修改的价格
     const cofficentForm = reactive({
@@ -463,6 +470,7 @@ export default {
     const loading = ref(true);
     const error = ref(false);
     const finished = ref(false);
+    const isAir = ref("0"); // 默认不是云汇,线下
     // 滚动加载
     const onLoad = () => {
       if (!finished.value) {
@@ -470,12 +478,28 @@ export default {
         getList();
       }
     };
+
+    // 禁用退款按钮
+    const disRefund = ref(false);
+    const checkDisRefund = async () => {
+      try {
+        // 如果是海外 并且 不是线上的空中云汇
+        if (user.ifForeign === '1' && isAir.value != '1') { 
+          disRefund.value = true;
+        }
+      } catch (error) {
+        console.error(error);
+      }
+    }
+
     // 页面列表查询参数
     let searchParams = reactive({
       adminId: "", // 用户账户id
       userName: "", // 用户名 String 没有值时传null
       adminType: "", // 判断是否查全部商户 当用户为商家时,“本商户”这个选项为“所有下级用户”传入一个“all”的值,其他情况传null
-      type: user.ifForeign, // 订单类型 用来区分是线上、线下订单,0:线上,1:线下。默认值一般要根据当前登录用户的类型去选择。区分的参数是admin里ifForeign的值。ifForeign=0则type=0.
+      type: user.ifForeign, // 订单类型 用来区分是国内、海外订单,0:国内,1:海外。默认值一般要根据当前登录用户的类型去选择。区分的参数是admin里ifForeign的值。ifForeign=0则type=0.
+      // ifForeign现在用于区分国内0,海外1
+      // isAir海外又分为两种情况,0/null为线下,1是线上
       payType: "", // 支付方式 全部时传null 0:无需支付 1:硬币 2:纸币 3:硬币+纸币 4:信用卡 5:电子支付 ALIPAY_NATIVE:支付宝主扫 WEIXIN_NATIVE:微信主扫 ALIPAY_CARD:支付宝反扫 WEIXIN_CARD:微信反扫
       productNo: "", // 商品的标识 全部时传null。 Tproductd对象的属性no的值。
       clientId: "", // 设备编号 String
@@ -486,6 +510,7 @@ export default {
       size: 20, // 页大小
       status: "",//支付状态
       companyType: "", // 公司平台
+      isAir: "", // 是否空中云汇线上订单 0或null:线下 1:线上
     });
     let chartType = "day";
     // 获取订单列表数据
@@ -510,7 +535,10 @@ export default {
       } else {
         params.endDate = "";
       }
+
+      // 获取订单列表
       const { data } = await getOrderList(Object.assign({}, params));
+      console.log("获取订单 data 结果" + data.data);
       if (data.code === "00000") {
         if (params.current === 1) {
           orderList.value = [];
@@ -730,6 +758,7 @@ export default {
         payType:
           searchParams.payType === "" ? null : searchParams.payType,
         companyType: searchParams.companyType,
+        isAir: searchParams.isAir === "" ? null : searchParams.isAir,
       };
       const { data } = await getStatistics(params);
       if (data.code && data.data) {
@@ -791,7 +820,8 @@ export default {
       checkGood,
       plusRefundGood,
       minusRefundGood,
-      isLoading
+      isLoading,
+      checkDisRefund
     };
   },
 };

+ 0 - 1
src/views/user.vue

@@ -475,7 +475,6 @@ export default {
         console.log("用户的海内外信息" + userIfForeign.ifForeign);
         // console.log("看下user是什么***" + user.menuCodeList);
         if (userIfForeign.ifForeign === '1') {
-          // TODO: 这里先把isAbroad设置为fasle,等开发完成再改成true;
           isAbroad.value = true;
           isInland.value = false;
         }