Bladeren bron

fix:“修复订单明细支付时间错乱问题,添加筛选国内海外数据功能”

soobin 1 jaar geleden
bovenliggende
commit
e154ed779f

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

@@ -40,7 +40,10 @@
     "sz": "Sunzee",
     "sc": "Sevencloud",
     "MG": "Marshmallow",
-    "POP": "Popcorn"
+    "POP": "Popcorn",
+    "ifForeignes": "Account type",
+    "mainland": "Chinese mainland",
+    "overseas": "Hong Kong, Macao, Taiwan and overseas"
   },
   "navBar": {
     "homePage": "home page",

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

@@ -40,7 +40,10 @@
     "sz": "申泽",
     "sc": "七云",
     "MG": "棉花糖",
-    "POP": "爆米花"
+    "POP": "爆米花",
+    "ifForeignes": "账号类型",
+    "mainland": "大陆",
+    "overseas": "港澳台及海外"
   },
   "navBar": {
     "homePage": "首页",

+ 41 - 3
src/components/typeSelectList/index.vue

@@ -21,6 +21,15 @@
         <van-picker :title="$t('typeSelectList.companies')" :columns="companyList" @confirm="companyConfirm"
           @cancel="companyCancel" />
       </van-popup>
+      <div v-if="isShowAdminAndCompany()" class="selectIconBox" @click="foreignShow()">
+        <div class="section3 flex-col"></div>
+        <span class="txt4">{{ ifForeignes }}</span>
+        <div class="layer1 flex-col"></div>
+      </div>
+      <van-popup v-model:show="ifForeign" position="bottom">
+        <van-picker :title="$t('typeSelectList.ifForeignes')" :columns="foreignList" @confirm="foreignConfirm"
+          @cancel="foreignCancel" />
+      </van-popup>
       <div class="selectIconBox" @click="payShow()">
         <div class="section3 flex-col"></div>
         <span class="txt4">{{ paymentMethod }}</span>
@@ -95,6 +104,8 @@ export default {
     const { t } = useI18n();
     // 支付方式
     const paymentMethod = ref(t('typeSelectList.paymentMethod'));
+    // 账号地区
+    const ifForeignes = ref(t('typeSelectList.ifForeignes'));
     // 公司平台
     const companies = ref(t('typeSelectList.companies'));
     // 公司平台
@@ -112,7 +123,8 @@ export default {
       productNo: '',
       equipmentId: '',
       companyType: '',
-      machineType: ''
+      machineType: '',
+      ifForeign: '',
     });
     // 商户选择
     const adminTypeShow = ref(false);
@@ -136,6 +148,25 @@ export default {
         adminList.value.unshift(t('typeSelectList.allSuboUsers'));
       }
     }
+    // 账号地区选择
+    const ifForeign = ref(false);
+    const foreignShow = () => { ifForeign.value = true; };
+    const foreignSouerList = [
+      { text: t('typeSelectList.mainland'), values: '0' },
+      { text: t('typeSelectList.overseas'), values: '1' },
+    ];
+    const foreignList = ref([
+      t('typeSelectList.mainland'),
+      t('typeSelectList.overseas'),
+    ]);
+    const foreignConfirm = (currentValue) => {
+      ifForeignes.value = currentValue;
+      const selectPay = foreignSouerList.filter(i => i.text === currentValue);
+      if (selectPay && selectPay.length > 0) { searchParams.ifForeign = selectPay[0].values; }
+      ifForeign.value = false;
+      outputDate();
+    }
+    const foreignCancel = () => { ifForeign.value = false; }
     // 公司平台选择
     const companyType = ref(false);
     const companyShow = () => { companyType.value = true; };
@@ -228,8 +259,8 @@ export default {
     const equipmentSourceList = ref([]);
     const deviceConfirm = (currentValue) => {
       allDevices.value = currentValue;
-      console.log("currentValue",currentValue)
-      if(currentValue != t('typeSelectList.allDevices')) {
+      console.log("currentValue", currentValue)
+      if (currentValue != t('typeSelectList.allDevices')) {
         const selectEquipment = equipmentSourceList.value.filter(i => i.name === currentValue);
         if (selectEquipment && selectEquipment.length > 0) {
           searchParams.equipmentId = selectEquipment[0].id;
@@ -282,6 +313,8 @@ export default {
     const isShowAdmin = () => { return (user && user.type === 2); }
     // 是否管理员
     const isShowCompany = () => { return (user && user.type === 0); }
+    // 是否管理员和公司人员
+    const isShowAdminAndCompany = () => { return (user && user.type < 2); }
     // 是否商户及子账户
     const isShowDevice = () => { return (user && (user.type === 2 || user.type === 3)); }
     // 返回参数
@@ -326,10 +359,14 @@ export default {
       isShowCompany,
       // 是否商户及子账户
       isShowDevice,
+      // 是否管理员和公司人员
+      isShowAdminAndCompany,
       // 商家选择
       adminTypeShow, adminList, adminShow, adminConfirm, adminCancel,
       // 支付方式选择
       payType, payList, payShow, payConfirm, payCancel,
+      // 国内和海外选择
+      ifForeign, foreignList, foreignShow, foreignConfirm, foreignCancel,
       // 公司平台选择
       companyType, companyList, companyShow, companyConfirm, companyCancel,
       // 设备类型选择
@@ -341,6 +378,7 @@ export default {
       // 订单状态
       orderStatusShow, orderStatus, orderStatusList, orderStatusConfirm, orderStatusCancel,
       paymentMethod,
+      ifForeignes,
       companies,
       machines,
       allDevices,

+ 18 - 0
src/utils/dateUtil.js

@@ -43,6 +43,24 @@ const dateUtil = {
     }
     return format;
   },
+  // 根据时区转换时间
+  timeZoneDate(currentDate) {
+    // 获取设备的时区偏移量(分钟)
+    const deviceTimezoneOffset = new Date().getTimezoneOffset();
+    // 获取北京时间的时区偏移量(分钟)
+    const beijingTimezoneOffset = -480; // -480分钟为北京时区偏移量
+    // 计算设备时区与北京时区的偏移量差
+    const offsetDifference = deviceTimezoneOffset - beijingTimezoneOffset;
+    // 将设备的时区偏移量转换为毫秒数
+    const offsetMilliseconds = offsetDifference * 60 * 1000;
+    // 将北京时间的毫秒数加上设备的时区偏移量的毫秒数(仅对非北京时间进行调整)
+    const adjustedMilliseconds = offsetMilliseconds !== 0 ? currentDate.getTime() + offsetMilliseconds : currentDate.getTime();
+    // 使用调整后的时间创建一个新的Date对象
+    const adjustedDate = new Date(adjustedMilliseconds);
+    // 格式化调整后的时间
+    const formattedDate = dateUtil.formateDate(adjustedDate, 'yyyy-MM-dd hh:mm:ss');
+    return formattedDate;
+  },
   // isSameWeek(old,now){
   //   var oneDayTime = 1000*60*60*24;  
   //   var old_count =parseInt(old.getTime()/oneDayTime);  

+ 1 - 15
src/views/device/index.vue

@@ -399,21 +399,7 @@ export default {
         return "";
       }
       const currentDate = new Date(dateUtil.formateDate(new Date(date), "yyyy-MM-dd hh:mm:ss"));
-      // 获取设备的时区偏移量(分钟)
-      const deviceTimezoneOffset = new Date().getTimezoneOffset();
-      // 获取北京时间的时区偏移量(分钟)
-      const beijingTimezoneOffset = -480; // -480分钟为北京时区偏移量
-      // 计算设备时区与北京时区的偏移量差
-      const offsetDifference = deviceTimezoneOffset - beijingTimezoneOffset;
-      // 将设备的时区偏移量转换为毫秒数
-      const offsetMilliseconds = offsetDifference * 60 * 1000;
-      // 将北京时间的毫秒数加上设备的时区偏移量的毫秒数(仅对非北京时间进行调整)
-      const adjustedMilliseconds = offsetMilliseconds !== 0 ? currentDate.getTime() + offsetMilliseconds : currentDate.getTime();
-      // 使用调整后的时间创建一个新的Date对象
-      const adjustedDate = new Date(adjustedMilliseconds);
-      // 格式化调整后的时间
-      const formattedDate = dateUtil.formateDate(adjustedDate, 'yyyy-MM-dd hh:mm:ss');
-      return formattedDate;
+      return dateUtil.timeZoneDate(currentDate);
     };
 
     // 点击查看定位

+ 1 - 1
src/views/home/index.vue

@@ -213,7 +213,7 @@ export default {
         ...dateSelect.value,
         // ...typeSelectData,
         adminId: user.id,
-        ifForeign: user.ifForeign,
+        ifForeign: typeSelectData.ifForeign === '' ? user.ifForeign :  typeSelectData.ifForeign,
         payType: typeSelectData.payType,
         clientId: typeSelectData.clientId,
         username: typeSelectData.userName, // 商家

+ 11 - 35
src/views/orderCenter/index.vue

@@ -116,34 +116,6 @@
                         item.refundQuantity) }}</span>
                     </template>
                   </van-card>
-                  <!-- <div class="flex-row align-center">
-                    <div class="flex-col">
-                      <div class="flex-row align-center">
-                        <div class="main10 flex-col"></div>
-                        <span class="txt11">{{ showOrderTime(item, 1) }}</span>
-                      </div>
-                      <div class="flex-row align-center">
-                        <div class="sugerPhto" v-if="showSugerPhoto(item)">
-                          <img class="sugerImg" :src="showSugerPhoto(item)" />
-                        </div>
-                        <span class="word11">{{ $t('orderCenter.equipmentNo') }}:{{ showClientId(item) }}</span>
-                        <span class="word13">{{ $t('orderCenter.tradeName') }}:{{ item.productName }}</span>
-                      </div>
-                      <div class="flex-row align-center">
-                        <span class="word11">{{ $t('orderCenter.equipmentName') }}:{{ item.es }}</span>
-                        <span class="word13"></span>
-                      </div>
-                      <div class="flex-row align-end">
-                        <div class="pricBox flex-row align-end" :class="{ orderError: item.status === 0 }">
-                          <span class="txt9">{{ item.statusText }}:</span>
-                          <span class="info5">&yen;</span>
-                          <span class="word12">{{ item.price }}</span>
-                        </div>
-                        <span class="word14">{{ $t('orderCenter.dividingDomesticService') }}:&yen;{{ showSubcom(item)
-                        }}</span>
-                      </div>
-                    </div>
-                  </div> -->
                   <div v-if="typeof item.status === 'undefined'" class="main11 flex-col orderSuccess"></div>
                   <div v-else class="main11 flex-col" :class="{
                     orderSuccess: item.status === 1,
@@ -504,6 +476,7 @@ export default {
       status: "",//支付状态
       companyType: "", // 公司平台
       machineType: "", // 设备类型
+      ifForeign: "",
     });
 
     let chartType = "day";
@@ -586,13 +559,16 @@ 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', searchParams)
+      // console.log('searchParams.ifForeign', searchParams.ifForeign)
+      searchParams.type = searchParams.ifForeign;
       search();
     };
     // 初始化页面获取列表
@@ -627,7 +603,7 @@ export default {
         onLoad();
         addEventListener('load', onLoad);
         // 获取账户详情
-        if(user.ifForeign === '0') {
+        if (user.ifForeign === '0') {
           getAccountDetail(user.id);
         }
       }
@@ -678,15 +654,15 @@ export default {
       if (idx === 1) {
         switch (item.status) {
           case 1:
-            return dateUtil.formateDate(new Date(item.payDate), "yyyy-MM-dd hh:mm:ss");
+            return dateUtil.timeZoneDate(new Date(dateUtil.formateDate(new Date(item.payDate), "yyyy-MM-dd hh:mm:ss")));
           case 3:
-            return dateUtil.formateDate(new Date(item.refundDate), "yyyy-MM-dd hh:mm:ss");
+            return dateUtil.timeZoneDate(new Date(dateUtil.formateDate(new Date(item.refundDate), "yyyy-MM-dd hh:mm:ss")));
           default:
-            return dateUtil.formateDate(new Date(item.createDate), "yyyy-MM-dd hh:mm:ss");
+            return dateUtil.timeZoneDate(new Date(dateUtil.formateDate(new Date(item.createDate), "yyyy-MM-dd hh:mm:ss")));
         }
       } else {
         return item && item.createDate
-          ? dateUtil.formateDate(new Date(item.createDate), "yyyy-MM-dd hh:mm:ss")
+          ? dateUtil.timeZoneDate(new Date(dateUtil.formateDate(new Date(item.createDate), "yyyy-MM-dd hh:mm:ss")))
           : "";
       }
     };
@@ -768,7 +744,7 @@ export default {
         adminId: user.id,
         chartType: chartType,
         endDate: searchParams.endDate,
-        ifForeign: user.ifForeign,
+        ifForeign: searchParams.ifForeign == ''? user.ifForeign : searchParams.ifForeign,
         startDate: searchParams.startDate,
         userName: searchParams.userName,
         clientId: