浏览代码

样式更新以及优化优惠码

soobin 2 年之前
父节点
当前提交
f769ef0726

二进制
public/favicon.ico


+ 1 - 1
public/index.html

@@ -6,7 +6,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title>shenze</title>
+    <title>Seven Cloud</title>
     <link rel="stylesheet" href="./fontIcon.css">
     <script type="text/javascript" src="./echarts.min.js"></script>
     <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

+ 19 - 2
src/assets/language/en.json

@@ -33,7 +33,10 @@
     "refunding": "refunding",
     "refunded": "Refunded",
     "orderStatus": "Order Status",
-    "allSuboUsers": "All subordinate users"
+    "allSuboUsers": "All subordinate users",
+    "companies": "Company platform",
+    "sz": "Sunzee",
+    "sc": "Sevencloud"
   },
   "navBar": {
     "homePage": "home page",
@@ -331,6 +334,8 @@
     "merchantNamePlaceholder": "Please enter the merchant name",
     "equipmentTypeLabel": "Equipment type",
     "equipmentTypePlaceholder": "Please select a device type",
+    "companyTypeLabel": "Company type",
+    "companyTypePlaceholder": "Please select a companytype",
     "equipmentModelLabel": "Equipment model",
     "equipmentModelPlaceholder": "Please select a device model",
     "powerOnStatus": "Power on status",
@@ -341,6 +346,8 @@
     "clickSearch": "Click Search",
     "spunSugar": "棉花糖",
     "popcorn": "popcorn",
+    "sz":"Sunzee",
+    "sc":"Sevencloud",
     "startUp": "Start up",
     "shutdown": "shutdown",
     "enable": "enable",
@@ -825,7 +832,12 @@
       "mainOver": "Mainland/overseas",
       "mainOverPlace": "Please select Mainland/overseas",
       "mainland": "mainland",
-      "overseas": "overseas"
+      "overseas": "overseas",
+      "companyTypeLabel": "Company type",
+      "companyTypePlaceholder":"Please select a companytype",
+      "whole":"All",
+      "sz": "Sunzee",
+      "sc": "Sevencloud"
     }
   },
   "role": {
@@ -1122,6 +1134,11 @@
     "changeTypePlace": "Please select statistics method",
     "patternStatistics": "Pattern statistics",
     "salesStatistics": "Sales statistics",
+    "companyTypeLabel": "Company type",
+    "companyTypePlaceholder":"Please select a companytype",
+    "whole":"All",
+    "sz": "Sunzee",
+    "sc": "Sevencloud",
     "seleWeekDateRangeNotSeveDays": "The date range of the selected week cannot exceed 7 days!!!",
     "rankMethod": "Ranking method"
   },

+ 20 - 3
src/assets/language/zh.json

@@ -33,7 +33,10 @@
     "refunding":"退款中",
     "refunded":"已退款",
     "orderStatus":"订单状态",
-    "allSuboUsers":"所有下级用户"
+    "allSuboUsers":"所有下级用户",
+    "companies": "公司平台",
+    "sz": "申泽",
+    "sc": "七云"
   },
   "navBar": {
     "homePage": "首页",
@@ -328,6 +331,8 @@
     "merchantNamePlaceholder": "请输入商家名",
     "equipmentTypeLabel": "设备类型",
     "equipmentTypePlaceholder": "请选择设备类型",
+    "companyTypeLabel": "公司平台",
+    "companyTypePlaceholder": "请选择公司平台",
     "equipmentModelLabel": "设备机型",
     "equipmentModelPlaceholder": "请选择设备机型",
     "powerOnStatus": "开机状态",
@@ -338,6 +343,8 @@
     "clickSearch": "点击搜索",
     "spunSugar": "棉花糖",
     "popcorn": "爆米花",
+    "sz":"申泽",
+    "sc":"七云",
     "startUp": "开机",
     "shutdown": "关机",
     "enable": "启用",
@@ -719,7 +726,7 @@
     "discountCode": "0折优惠码",
     "paymentPlatform": "支付平台",
     "convergence": "汇聚",
-    "shandePayment": "杉德支付",
+    "shandePayment": "杉德",
     "modificationSubmission": "修改提交",
     "merchantType": "商户类型",
     "contactName": "联系人姓名",
@@ -826,7 +833,12 @@
       "mainOver":"大陆/海外",
       "mainOverPlace":"请选择大陆/海外",
       "mainland":"大陆",
-      "overseas":"海外"
+      "overseas":"海外",
+      "companyTypeLabel": "公司平台",
+      "companyTypePlaceholder":"请选择公司平台",
+      "whole":"全部",
+      "sz": "申泽",
+      "sc": "七云"
     }
   },
   "role": {
@@ -1126,6 +1138,11 @@
     "changeTypePlace":"请选择统计方式",
     "patternStatistics":"花型统计",
     "salesStatistics":"销售额统计",
+    "companyTypeLabel": "公司平台",
+    "companyTypePlaceholder":"请选择公司平台",
+    "whole":"全部",
+    "sz": "申泽",
+    "sc": "七云",
     "seleWeekDateRangeNotSeveDays":"选择周的日期范围不能超过7天!!!",
     "rankMethod":"排行方式"
   },

+ 69 - 45
src/components/typeSelectList/index.vue

@@ -9,38 +9,35 @@
         <div class="layer1 flex-col"></div>
       </div>
       <van-popup v-model:show="adminTypeShow" position="bottom">
-        <van-picker
-          :title="$t('typeSelectList.merchant')"
-          :columns="adminList"
-          @confirm="adminConfirm"
-          @cancel="adminCancel"
-        />
+        <van-picker :title="$t('typeSelectList.merchant')" :columns="adminList" @confirm="adminConfirm"
+          @cancel="adminCancel" />
+      </van-popup>
+      <div v-if="isShowCompany()" class="selectIconBox" @click="companyShow()">
+        <div class="section3 flex-col"></div>
+        <span class="txt4">{{ companies }}</span>
+        <div class="layer1 flex-col"></div>
+      </div>
+      <van-popup v-model:show="companyType" position="bottom">
+        <van-picker :title="$t('typeSelectList.companies')" :columns="companyList" @confirm="companyConfirm"
+          @cancel="companyCancel" />
       </van-popup>
       <div class="selectIconBox" @click="payShow()">
         <div class="section3 flex-col"></div>
-        <span class="txt4">{{paymentMethod}}</span>
+        <span class="txt4">{{ paymentMethod }}</span>
         <div class="layer1 flex-col"></div>
       </div>
       <van-popup v-model:show="payType" position="bottom">
-        <van-picker
-          :title="$t('typeSelectList.paymentMethod')"
-          :columns="payList"
-          @confirm="payConfirm"
-          @cancel="payCancel"
-        />
+        <van-picker :title="$t('typeSelectList.paymentMethod')" :columns="payList" @confirm="payConfirm"
+          @cancel="payCancel" />
       </van-popup>
       <div v-if="isShowDevice()" class="selectIconBox" @click="deviceShow()">
         <div class="layer3 flex-col"></div>
-        <span class="txt4">{{allDevices}}</span>
+        <span class="txt4">{{ allDevices }}</span>
         <div class="layer1 flex-col"></div>
       </div>
       <van-popup v-model:show="deviceType" position="bottom">
-        <van-picker
-          :title="$t('typeSelectList.allDevices')"
-          :columns="deviceList"
-          @confirm="deviceConfirm"
-          @cancel="deviceCancel"
-        />
+        <van-picker :title="$t('typeSelectList.allDevices')" :columns="deviceList" @confirm="deviceConfirm"
+          @cancel="deviceCancel" />
       </van-popup>
       <!-- <div class="selectIconBox" @click="productShow()">
         <div class="bd2 flex-col"></div>
@@ -58,16 +55,12 @@
       <!-- 订单状态 -->
       <div v-if="!isHome" class="selectIconBox" @click="orderStatusShow()">
         <div class="section3 flex-col"></div>
-        <span class="txt4">{{orderStatusName}}</span>
+        <span class="txt4">{{ orderStatusName }}</span>
         <div class="layer1 flex-col"></div>
       </div>
       <van-popup v-model:show="orderStatus" position="bottom">
-        <van-picker
-          :title="$t('typeSelectList.orderStatus')"
-          :columns="orderStatusList"
-          @confirm="orderStatusConfirm"
-          @cancel="orderStatusCancel"
-        />
+        <van-picker :title="$t('typeSelectList.orderStatus')" :columns="orderStatusList" @confirm="orderStatusConfirm"
+          @cancel="orderStatusCancel" />
       </van-popup>
     </div>
   </div>
@@ -84,15 +77,17 @@ export default {
   components: {},
   props: {
     // 是否首页
-    isHome:{
-      type:Boolean,
-      default:false,
+    isHome: {
+      type: Boolean,
+      default: false,
     },
   },
   setup(props, { emit }) {
     const { t } = useI18n();
     // 支付方式
     const paymentMethod = ref(t('typeSelectList.paymentMethod'));
+    // 公司平台
+    const companies = ref(t('typeSelectList.companies'));
     // 所有设备
     const allDevices = ref(t('typeSelectList.allDevices'));
     // 订单状态
@@ -103,7 +98,8 @@ export default {
       adminType: '',
       clientId: '',
       payType: '',
-      productNo: ''
+      productNo: '',
+      companyType: ''
     });
     // 商户选择
     const adminTypeShow = ref(false);
@@ -111,14 +107,14 @@ export default {
     const adminList = ref([]);
     const adminConfirm = (currentValue) => {
       searchParams.adminType = (currentValue === t('typeSelectList.allSuboUsers')) ? 'all' : '';
-      searchParams.userName = (currentValue === t('typeSelectList.allSuboUsers')) ? 'all' : (currentValue === t('typeSelectList.thisMerchant'))?user.username:currentValue;
+      searchParams.userName = (currentValue === t('typeSelectList.allSuboUsers')) ? 'all' : (currentValue === t('typeSelectList.thisMerchant')) ? user.username : currentValue;
       adminTypeShow.value = false;
       outputDate();
     }
     const adminCancel = () => { adminTypeShow.value = false; }
     // 获取商家列表
     const getAdminListFun = async () => {
-      const { data } = await getAdminList({adminId: user.id});
+      const { data } = await getAdminList({ adminId: user.id });
       if (data.code === '00000') {
         adminList.value = data.data.map(item => {
           return item.username
@@ -127,6 +123,27 @@ export default {
         adminList.value.unshift(t('typeSelectList.allSuboUsers'));
       }
     }
+    // 公司平台选择
+    const companyType = ref(false);
+    const companyShow = () => { companyType.value = true; };
+    const companySouerList = [
+      { text: t('typeSelectList.whole'), values: '' },
+      { text: t('typeSelectList.sz'), values: '0' },
+      { text: t('typeSelectList.sc'), values: '1' },
+    ];
+    const companyList = ref([
+      t('typeSelectList.whole'),
+      t('typeSelectList.sz'),
+      t('typeSelectList.sc'),
+    ]);
+    const companyConfirm = (currentValue) => {
+      companies.value = currentValue;
+      const selectPay = companySouerList.filter(i => i.text === currentValue);
+      if (selectPay && selectPay.length > 0) { searchParams.companyType = selectPay[0].values; }
+      companyType.value = false;
+      outputDate();
+    }
+    const companyCancel = () => { companyType.value = false; }
     // 支付方式选择
     const payType = ref(false);
     const payShow = () => { payType.value = true; };
@@ -187,14 +204,14 @@ export default {
     const deviceCancel = () => { deviceType.value = false; }
     // 获取设备列表
     const getDeviceListFun = async () => {
-      const { data } = await getEquipmentList({adminId: user.id});
+      const { data } = await getEquipmentList({ adminId: user.id });
       if (data.code === '00000') {
         deviceList.value = data.data.map(item => {
           return item.name
         });
         deviceList.value.unshift(t('typeSelectList.allDevices'));
         equipmentSourceList.value = data.data;
-        equipmentSourceList.value.unshift({name: t('typeSelectList.allDevices'), id: null});
+        equipmentSourceList.value.unshift({ name: t('typeSelectList.allDevices'), id: null });
       }
     }
     // 商品选择
@@ -213,17 +230,19 @@ export default {
     const productCancel = () => { productType.value = false; }
     // 获取商品列表
     const getProductListFun = async () => {
-      const { data } = await getProductList({adminId: user.id});
+      const { data } = await getProductList({ adminId: user.id });
       if (data.code) {
         productList.value = data.data.map(item => {
           return item.productName
         });
-      console.log('productList',productList)
+        console.log('productList', productList)
         productSourceList.value = data.data;
       }
     }
     // 是否商户
     const isShowAdmin = () => { return (user && user.type === 2); }
+    // 是否管理员
+    const isShowCompany = () => { return (user && user.type === 0); }
     // 是否商户及子账户
     const isShowDevice = () => { return (user && (user.type === 2 || user.type === 3)); }
     // 返回参数
@@ -232,12 +251,12 @@ export default {
     const orderStatus = ref(false);
     const orderStatusShow = () => { orderStatus.value = true; };
     const orderStatusList = ref([
-          t('typeSelectList.whole'),
-          t('typeSelectList.unpaid'),
-          t('typeSelectList.paid'),
-          t('typeSelectList.refunding'),
-          t('typeSelectList.refunded'),
-        ]
+      t('typeSelectList.whole'),
+      t('typeSelectList.unpaid'),
+      t('typeSelectList.paid'),
+      t('typeSelectList.refunding'),
+      t('typeSelectList.refunded'),
+    ]
     );
     const orderStatusSouerList = [
       { text: t('typeSelectList.whole'), values: '' },
@@ -254,7 +273,7 @@ export default {
       outputDate();
     }
     const orderStatusCancel = () => { orderStatus.value = false; }
-    
+
     onMounted(() => {
       getAdminListFun();
       getDeviceListFun();
@@ -264,19 +283,24 @@ export default {
       ...toRefs(searchParams),
       // 是否商户
       isShowAdmin,
+      // 是否管理员
+      isShowCompany,
       // 是否商户及子账户
       isShowDevice,
       // 商家选择
       adminTypeShow, adminList, adminShow, adminConfirm, adminCancel,
       // 支付方式选择
       payType, payList, payShow, payConfirm, payCancel,
+      // 公司平台选择
+      companyType, companyList, companyShow, companyConfirm, companyCancel,
       // 设备选择
       deviceType, deviceList, deviceShow, deviceConfirm, deviceCancel,
       // 商品选择
       productType, productList, productShow, productConfirm, productCancel,
       // 订单状态
-      orderStatusShow,orderStatus,orderStatusList,orderStatusConfirm,orderStatusCancel,
+      orderStatusShow, orderStatus, orderStatusList, orderStatusConfirm, orderStatusCancel,
       paymentMethod,
+      companies,
       allDevices,
       orderStatusName,
     };

+ 1 - 1
src/service/login.js

@@ -3,7 +3,7 @@ import { stringToUrl } from '@/common/js/utils';
 
 // 登录
 export function login(params) {
-  return axios.post(`/SZWL-SERVER/tAdmin/login?username=${params.username}&password=${params.password}`, params);
+  return axios.post(`/SZWL-SERVER/tAdmin/login?username=${params.username}&password=${params.password}&hostName=${params.hostName}`, params);
 }
 // 根据系统ID获取logo和系统名称
 export function getSys(params) {

+ 1 - 1
src/styles/alarmClock/index.less

@@ -1,4 +1,4 @@
-.page {
+.clockPage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 100%;

+ 1 - 1
src/styles/deviceOper/index.less

@@ -124,7 +124,7 @@
     }
 }
 
-.page {
+.openDoorPage {
 	background-color: rgba(255, 255, 255, 1);
 	position: relative;
 	width: 100%;

+ 1 - 1
src/styles/deviceSet/index.less

@@ -1,4 +1,4 @@
-.page {
+.deviceSetPage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 100%;

+ 1 - 1
src/styles/doSugar/index.less

@@ -1,4 +1,4 @@
-.page {
+.sugarPage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 100%;

+ 8 - 8
src/styles/kDialog/index.less

@@ -3,11 +3,11 @@
     .operCheckBox {
       padding: 0 10px;
       padding-top: 20px;
-  
+
       .operCheckCon {
         padding-top: 20px;
         border-top: 1px solid #D7D7E2;
-  
+
         .word10 {
           width: 143px;
           height: 13px;
@@ -20,12 +20,12 @@
           display: block;
           margin: 33px auto;
         }
-  
+
         .block6 {
           width: 265px;
           height: 34px;
           margin: 20px auto;
-  
+
           .mod7 {
             border-radius: 17px;
             height: 34px;
@@ -33,7 +33,7 @@
             width: 120px;
             justify-content: center;
             align-items: center;
-  
+
             .info5 {
               overflow-wrap: break-word;
               color: #2c87c8;
@@ -45,7 +45,7 @@
               display: block;
             }
           }
-  
+
           .mod8 {
             background-color: #2c87c8;
             border-radius: 17px;
@@ -53,7 +53,7 @@
             width: 120px;
             justify-content: center;
             align-items: center;
-  
+
             .info6 {
               overflow-wrap: break-word;
               color: rgba(255, 255, 255, 1);
@@ -67,6 +67,6 @@
           }
         }
       }
-  
+
     }
   }

+ 1 - 1
src/styles/modulation/index.less

@@ -1,4 +1,4 @@
-.page {
+.modulationPage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 100%;

+ 1 - 1
src/styles/orderExport/index.less

@@ -1,4 +1,4 @@
-.page {
+.orderExpotPage {
     background-color: #fff;
     width: 100%;
     height: calc(100%-44px);

+ 1 - 1
src/styles/recharge/index.less

@@ -1,4 +1,4 @@
-.page {
+.rechargePage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 100%;

+ 1 - 1
src/styles/uniPay/index.less

@@ -1,4 +1,4 @@
-.page {
+.uniPayPage {
     background-color: rgba(255, 255, 255, 1);
     position: relative;
     width: 375px;

+ 1 - 1
src/styles/viewLogs/index.less

@@ -1,4 +1,4 @@
-.page {
+.viewLogsPage {
 	background-color: rgba(255, 255, 255, 1);
 	position: relative;
 	width: 100%;

+ 2 - 2
src/utils/config.js

@@ -3,9 +3,9 @@ let baseURL;
 if (process.env.NODE_ENV === 'development') {
     // 测试的
     // baseURL = 'http://szwltest.sunzee.com.cn:49002/'
-    baseURL = 'https://szwl.sunzee.com.cn/'
+    // baseURL = 'https://szwl.sunzee.com.cn/'
     // 正式的
-    // baseURL = 'https://sz.sunzee.com.cn/'
+    baseURL = 'https://sz.sunzee.com.cn/'
     
     // baseURL = 'http://120.25.151.99:49002/'
     // 编译环境

+ 1 - 0
src/views/accountPer/add.vue

@@ -174,6 +174,7 @@ export default {
       isEnabled: true,
       roleList: "",
       equipmentIds: "",
+      companyType: "1",
     });
     const cofficentForm = ref({
       equipmentNames: "",

+ 1 - 1
src/views/device/alarmClock.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 设备定时开关列表 -->
-  <div class="page flex-col">
+  <div class="clockPage flex-col">
     <s-header :name="$t('device.timeSwitch')" :noback="false"></s-header>
     <div class="bd1 flex-col">
       <div class="section5 flex-col">

+ 1 - 1
src/views/device/customLogo.vue

@@ -1,6 +1,6 @@
 <template>
 <!--  修改logo  -->
-  <div class="page flex-col">
+  <div class="viewLogsPage flex-col">
     <s-header :name="$t('device.customLogo.customLogo')" :noback="false"></s-header>
 	<div class="block2 flex-row justify-between">
 		<div class="block3 flex-col"></div>

+ 78 - 98
src/views/device/deviceSearch.vue

@@ -4,24 +4,20 @@
     <van-action-sheet v-model:show="sheetShow" :closeable='false' :title="$t('device.enterAnyInformationToSearch')">
       <div class="content">
         <van-form @submit="onSubmit">
-          <van-field
-            v-model="clientId"
-            name="clientId"
-            :label="$t('device.equipmentNoLabel')"
-            :placeholder="$t('device.equipmentNoPlaceholder')"
-          />
-          <van-field
-            v-model="equipmentName"
-            name="equipmentName"
-            :label="$t('device.equipmentNameLabel')"
-            :placeholder="$t('device.equipmentNamePlaceholder')"
-          />
-          <van-field
-            v-model="adminUserName"
-            name="adminUserName"
-            :label="$t('device.merchantNameLabel')"
-            :placeholder="$t('device.merchantNamePlaceholder')"
-          />
+          <van-field v-model="clientId" name="clientId" :label="$t('device.equipmentNoLabel')"
+            :placeholder="$t('device.equipmentNoPlaceholder')" />
+          <van-field v-model="equipmentName" name="equipmentName" :label="$t('device.equipmentNameLabel')"
+            :placeholder="$t('device.equipmentNamePlaceholder')" />
+          <van-field v-model="adminName" name="adminName" :label="$t('device.merchantNameLabel')"
+            :placeholder="$t('device.merchantNamePlaceholder')" />
+          <div v-if="isShowCompany()">
+            <van-field label-width="86" v-model="companyTypeText" is-link readonly :label="$t('device.companyTypeLabel')"
+              :placeholder="$t('device.companyTypePlaceholder')" @click="companyTypeShow = true" class="field" />
+            <van-popup v-model:show="companyTypeShow" round position="bottom">
+              <van-cascader v-model="companyType" :title="$t('device.companyTypePlaceholder')"
+                :options="companyTypeOptions" @close="companyTypeShow = false" @finish="companyTypeFinish" />
+            </van-popup>
+          </div>
           <!-- <van-field
             v-model="areaName"
             name="areaName"
@@ -31,90 +27,40 @@
           <!-- 设备类型、设备机型 -->
           <van-row>
             <van-col span="12">
-              <van-field
-                label-width="66"
-                v-model="machineTypeText"
-                is-link
-                readonly
-                :label="$t('device.equipmentTypeLabel')"
-                :placeholder="$t('device.equipmentTypePlaceholder')"
-                @click="machineTypeShow = true"
-                class="field"
-              />
+              <van-field label-width="66" v-model="machineTypeText" is-link readonly
+                :label="$t('device.equipmentTypeLabel')" :placeholder="$t('device.equipmentTypePlaceholder')"
+                @click="machineTypeShow = true" class="field" />
               <van-popup v-model:show="machineTypeShow" round position="bottom">
-                <van-cascader
-                  v-model="machineType"
-                  :title="$t('device.equipmentTypePlaceholder')"
-                  :options="machineTypeOptions"
-                  @close="machineTypeShow = false"
-                  @finish="machineTypeFinish"
-                />
+                <van-cascader v-model="machineType" :title="$t('device.equipmentTypePlaceholder')"
+                  :options="machineTypeOptions" @close="machineTypeShow = false" @finish="machineTypeFinish" />
               </van-popup>
             </van-col>
             <van-col span="12">
-              <van-field
-                label-width="66"
-                v-model="equimentTypeText"
-                is-link
-                readonly
-                :label="$t('device.equipmentModelLabel')"
-                :placeholder="$t('device.equipmentModelPlaceholder')"
-                @click="equimentTypeShow = true"
-                class="field"
-              />
+              <van-field label-width="66" v-model="equimentTypeText" is-link readonly
+                :label="$t('device.equipmentModelLabel')" :placeholder="$t('device.equipmentModelPlaceholder')"
+                @click="equimentTypeShow = true" class="field" />
               <van-popup v-model:show="equimentTypeShow" round position="bottom">
-                <van-cascader
-                  v-model="equimentType"
-                  :title="$t('device.equipmentModelPlaceholder')"
-                  :options="equimentTypeOptions"
-                  @close="equimentTypeShow = false"
-                  @finish="equimentTypeFinish"
-                />
+                <van-cascader v-model="equimentType" :title="$t('device.equipmentModelPlaceholder')"
+                  :options="equimentTypeOptions" @close="equimentTypeShow = false" @finish="equimentTypeFinish" />
               </van-popup>
             </van-col>
           </van-row>
           <!-- 开机状态、设备状态 -->
           <van-row>
             <van-col span="12">
-              <van-field
-                label-width="66"
-                v-model="eqeStatusText"
-                is-link
-                readonly
-                :label="$t('device.powerOnStatus')"
-                :placeholder="$t('device.pleaseSelectThePowerOnStatus')"
-                @click="eqeStatusShow = true"
-                class="field"
-              />
+              <van-field label-width="66" v-model="eqeStatusText" is-link readonly :label="$t('device.powerOnStatus')"
+                :placeholder="$t('device.pleaseSelectThePowerOnStatus')" @click="eqeStatusShow = true" class="field" />
               <van-popup v-model:show="eqeStatusShow" round position="bottom">
-                <van-cascader
-                  v-model="eqeStatus"
-                  :title="$t('device.pleaseSelectThePowerOnStatus')"
-                  :options="eqeStatusOptions"
-                  @close="eqeStatusShow = false"
-                  @finish="eqeStatusFinish"
-                />
+                <van-cascader v-model="eqeStatus" :title="$t('device.pleaseSelectThePowerOnStatus')"
+                  :options="eqeStatusOptions" @close="eqeStatusShow = false" @finish="eqeStatusFinish" />
               </van-popup>
             </van-col>
             <van-col span="12">
-              <van-field
-                label-width="66"
-                v-model="isUsingText"
-                is-link
-                readonly
-                :label="$t('device.equipmentStatus')"
-                :placeholder="$t('device.pleaseSelectTheDeviceStatus')"
-                @click="isUsingShow = true"
-                class="field"
-              />
+              <van-field label-width="66" v-model="isUsingText" is-link readonly :label="$t('device.equipmentStatus')"
+                :placeholder="$t('device.pleaseSelectTheDeviceStatus')" @click="isUsingShow = true" class="field" />
               <van-popup v-model:show="isUsingShow" round position="bottom">
-                <van-cascader
-                  v-model="isUsing"
-                  :title="$t('device.pleaseSelectTheDeviceStatus')"
-                  :options="isUsingOptions"
-                  @close="isUsingShow = false"
-                  @finish="isUsingFinish"
-                />
+                <van-cascader v-model="isUsing" :title="$t('device.pleaseSelectTheDeviceStatus')"
+                  :options="isUsingOptions" @close="isUsingShow = false" @finish="isUsingFinish" />
               </van-popup>
             </van-col>
           </van-row>
@@ -164,9 +110,9 @@
           <!-- 操作 -->
           <van-row justify="space-around" style="padding: 2em;">
             <van-button class="clearBtn" span="5" round plain type="primary" style="height: 2em; padding: 0 2em;"
-                        @click="registerClick">{{ $t('device.emptyingConditions') }}</van-button>
+              @click="registerClick">{{ $t('device.emptyingConditions') }}</van-button>
             <van-button class="selectBtn" span="5" round type="primary" style="height: 2em; padding: 0 2em;"
-                        native-type="submit">{{ $t('device.clickSearch') }}</van-button>
+              native-type="submit">{{ $t('device.clickSearch') }}</van-button>
           </van-row>
         </van-form>
       </div>
@@ -177,7 +123,7 @@
 <script>
 import { ref } from 'vue';
 import { useI18n } from 'vue-i18n';
-import {styleUrl} from "../../common/js/utils";
+import { getLoginUser, styleUrl } from "../../common/js/utils";
 
 export default {
   setup(prop, context) {
@@ -185,11 +131,15 @@ export default {
     const sheetShow = ref(false);
     const clientId = ref(''); // 设备唯一码_设备编号
     const equipmentName = ref(''); // 设备名称_机器名
-    const adminUserName = ref(''); // 商家名
+    const adminName = ref(''); // 商家名
     const areaName = ref(''); // 设备所在地_地址名
     const machineType = ref(''); // 设备类型
     const machineTypeText = ref(''); // 设备类型 - 页面显示
     const machineTypeShow = ref(false); // 设备类型级联状态
+    const companyType = ref(''); // 公司平台
+    const companyTypeText = ref(''); // 公司平台 - 页面显示
+    const companyTypeShow = ref(false); // 公司平台级联状态
+    const user = getLoginUser(); // 获取登录用户
     const machineTypeOptions = ref([
       {
         text: t('device.spunSugar'),
@@ -200,10 +150,24 @@ export default {
         value: '1',
       }
     ]); // 设备类型级联选项
+    const companyTypeOptions = ref([
+      {
+        text: t('device.sz'),
+        value: '0',
+      },
+      {
+        text: t('device.sc'),
+        value: '1',
+      }
+    ]);
     const machineTypeFinish = ({ selectedOptions }) => {
       machineTypeShow.value = false;
       machineTypeText.value = selectedOptions.map((option) => option.text).join('/');
     }; // 设备类型级联选择
+    const companyTypeFinish = ({ selectedOptions }) => {
+      companyTypeShow.value = false;
+      companyTypeText.value = selectedOptions.map((option) => option.text).join('/');
+    }; // 公司平台级联选择
 
     const equimentType = ref(''); // 设备机型
     const equimentTypeText = ref(''); // 设备机型 - 页面显示
@@ -220,6 +184,10 @@ export default {
       {
         text: 'MG280',
         value: 'MG280',
+      },
+      {
+        text: 'POP320',
+        value: 'POP320',
       }
     ]); // 设备机型级联选项
     const equimentTypeFinish = ({ selectedOptions }) => {
@@ -298,7 +266,7 @@ export default {
       channelShow.value = false;
       channelText.value = selectedOptions.map((option) => option.text).join('/');
     }; // 信道级联选择
-    
+
     // channel 信道
     // 父组件页面触发展示及初始化
     const showSearch = () => { sheetShow.value = true; };
@@ -307,9 +275,10 @@ export default {
       const searchParam = {
         clientId: clientId.value,
         equipmentName: equipmentName.value,
-        adminUserName: adminUserName.value,
+        adminName: adminName.value,
         areaName: areaName.value,
         machineType: machineType.value,
+        companyType: companyType.value,
         equimentType: equimentType.value,
         eqeStatus: eqeStatus.value,
         isUsing: isUsing.value,
@@ -323,10 +292,12 @@ export default {
     const registerClick = () => {
       clientId.value = '';
       equipmentName.value = '';
-      adminUserName.value = '';
+      adminName.value = '';
       areaName.value = '';
       machineType.value = '';
       machineTypeText.value = '';
+      companyType.value = '';
+      companyTypeText.value = '';
       equimentType.value = '';
       equimentTypeText.value = '';
       eqeStatus.value = '';
@@ -341,13 +312,16 @@ export default {
 
     // 加载样式
     styleUrl('deviceSearch');
-    
+
+    // 是否管理员
+    const isShowCompany = () => { return (user && user.type === 0); }
+
     return {
       sheetShow,
 
       clientId,
       equipmentName,
-      adminUserName,
+      adminName,
       areaName,
 
       machineType,
@@ -362,6 +336,13 @@ export default {
       equimentTypeOptions,
       equimentTypeFinish,
 
+      isShowCompany,
+      companyType,
+      companyTypeText,
+      companyTypeShow,
+      companyTypeOptions,
+      companyTypeFinish,
+
       eqeStatus,
       eqeStatusText,
       eqeStatusShow,
@@ -379,7 +360,7 @@ export default {
       payTypeShow,
       payTypeOptions,
       payTypeFinish,
-      
+
       channel,
       channelText,
       channelShow,
@@ -395,5 +376,4 @@ export default {
 };
 </script>
 
-<style lang="less" scoped>
-</style>
+<style lang="less" scoped></style>

+ 10 - 4
src/views/device/deviceSet.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 设备信息修改 -->
-  <div class="deviceSetPage page flex-col">
+  <div class="deviceSetPage flex-col">
     <s-header :name="$t('device.deviceInformation')" :noback="false"></s-header>
     <van-form @submit="updateDeviceFun">
       <div class="bd1 flex-col">
@@ -107,7 +107,7 @@
             </template>
           </van-field>
         </div>
-        <van-field colon readonly :label="`${$t('device.coupon')}`" placeholder="">
+        <!-- <van-field colon readonly :label="`${$t('device.coupon')}`" placeholder="">
           <template #input>
             <div class="l-flex-RC">
               <span>{{ couponStatusNameComp }}</span>
@@ -115,7 +115,7 @@
                           inactive-value="0" />
             </div>
           </template>
-        </van-field>
+        </van-field> -->
         <div class="cust_vantBorder">
           <van-field colon required clearable v-model="deviceDetal.operationalName" name="operationalName"
                      :label="`${$t('device.nameOfOperatorLabel')}`" :placeholder="$t('device.nameOfOperatorPlaceholder')" :rules="[
@@ -186,7 +186,7 @@
           </van-field>
         </template>
         <!-- 花型种类 -->
-        <template v-if="isAdmind">
+        <template v-if="isAdmind && machineType === '0'">
           <van-field colon readonly :label="`${$t('device.flowerType')}`" placeholder="">
             <template #input>
               <div class="van-cell__value van-field__value radioBox">
@@ -307,6 +307,8 @@ export default {
     };
     // 是否管理员
     const isAdmind = ref(false);
+    // 设备类型
+    const machineType = ref('0');
     // 初始化页面获取列表
     onMounted(async () => {
       // 加载样式
@@ -361,6 +363,9 @@ export default {
             getDetail(data.data.timeRuleId);
           }
         }
+        if(data.data.machineType === '1') {
+          machineType.value = '1';
+        }
       } else {
         Toast.fail(data.message);
       }
@@ -497,6 +502,7 @@ export default {
       couponStatusNameComp,
       toEditAdRule,
       adRuleList,
+      machineType,
     };
   },
 };

+ 1 - 1
src/views/device/doSugar.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 远程做糖 -->
-  <div class="page flex-col">
+  <div class="sugarPage flex-col">
     <s-header :name="$t('device.remoteSugarMaking')" :noback="false"></s-header>
     <div class="box1 flex-col">
       <div class="block2 flex-row justify-between">

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

@@ -4,15 +4,15 @@
     <s-header :name="sys ? sys.title : $t('public.sysName')" :noback="false"></s-header>
     <div class="listBox">
       <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">
+        :finished="finished" :finished-text="$t('public.noMore')" offset="300" :immediate-check="false" @load="onLoad">
         <div class="deviceBox1 flex-col">
           <div class="searchRow flex-row justify-between">
             <div class="flex-col">
               <div class="flex-row justify-between bd3">
                 <div class="flex-col outer4"></div>
                 <span class="flex-col txt2">{{
-                    $t("device.dataOverview")
-                  }}</span>
+                  $t("device.dataOverview")
+                }}</span>
               </div>
             </div>
             <div class="flex-col">
@@ -32,16 +32,16 @@
                   <div class="group1 flex-col justify-between align-center">
                     <span class="word4">{{ equipStatus.machineUseNum }}</span>
                     <span class="info1">{{
-                        $t("device.totalNumberOfRuns")
-                      }}</span>
+                      $t("device.totalNumberOfRuns")
+                    }}</span>
                   </div>
                 </div>
                 <div @click="eqeStatusClk('')" class="TextGroup4 flex-col">
                   <div class="main6 flex-col justify-between align-center">
                     <span class="word5">{{ equipStatus.machineTotalNum }}</span>
                     <span class="word6">{{
-                        $t("device.totalNumberOfEquipment")
-                      }}</span>
+                      $t("device.totalNumberOfEquipment")
+                    }}</span>
                   </div>
                 </div>
               </div>
@@ -69,31 +69,31 @@
                   </div>
                 </div>
                 <span class="txt1 o-mt-10">{{ $t("device.affiliatedMerchants") }}:{{
-                    item.adminUserName
-                  }}</span>
+                  item.adminUserName
+                }}</span>
                 <span class="txt1 o-mt-10 kBordBott">{{ $t("device.machineUniqueCode") }}:{{
-                    item.clientId
-                  }}</span>
+                  item.clientId
+                }}</span>
                 <div class="contentBottomCon" v-if="item.checkType">
                   <img class="pic1" referrerpolicy="no-referrer" src="../../assets/home/line.png" />
                   <div class="layer2 flex-row justify-between o-ptb-5 kBordBott">
                     <span class="info1 o-ptb-5 kBordBott">{{ $t("device.sleepState") }}:{{
-                        item.isSleep
-                            ? $t("device.sleeping")
-                            : $t("device.notSleeping")
-                      }}</span>
+                      item.isSleep
+                      ? $t("device.sleeping")
+                      : $t("device.notSleeping")
+                    }}</span>
                   </div>
                   <div v-if="item.isSleep" class="layer3 o-ptb-8">
                     <span class="word1">
                       <div v-if="!sleepDescBoxShow">
                         <van-field colon center class="word2" v-model="item.sleepDesc"
-                                   :placeholder="$t('device.sleepDescPlace')" :label="$t('device.sleepDesc')" label-width="auto">
+                          :placeholder="$t('device.sleepDescPlace')" :label="$t('device.sleepDesc')" label-width="auto">
                           <template #button class="button_1">
                             <van-button size="small" type="primary" @click="sleepDescChg(item.sleepDesc, item.id)">{{
-                                $t("device.confirm") }}
+                              $t("device.confirm") }}
                             </van-button>
                             <van-button size="small" type="primary" @click="editSleepDesc()">{{ $t("device.cancel")
-                              }}</van-button>
+                            }}</van-button>
                           </template>
                         </van-field>
                         <!-- </span> -->
@@ -101,7 +101,7 @@
                       <div v-else>
                         <span class="word3 o-pr-10">{{ $t("device.sleepDesc") }}:</span>
                         <span class="word3">{{ item.sleepDesc == null ? $t("device.SuspendBusiness") :
-                            item.sleepDesc }}</span>
+                          item.sleepDesc }}</span>
                         <van-icon name="edit" size="18" class="editIcon" @click="editSleepDesc()" />
                       </div>
                     </span>
@@ -125,21 +125,21 @@
                   <div>
                     <span v-if="item.latitude" class="txt5 o-ptb-5 kBordBott l-flex-RC">
                       <span class="info1">{{
-                          $t("device.position") }}:</span>
+                        $t("device.position") }}:</span>
                       <van-button @click="viewPosiClk(item)" type="primary">{{
-                          $t("device.view")
-                        }}</van-button>
+                        $t("device.view")
+                      }}</van-button>
                     </span>
                   </div>
                   <van-row class="layer5 o-ptb-10 kBordBott" justify="space-between">
                     <van-col class="word5">{{ $t("device.furnaceHeadTemperature") }}:{{
-                        item.furnaceTm
-                      }}{{ $t("device.degree") }}</van-col>
+                      item.furnaceTm
+                    }}{{ $t("device.degree") }}</van-col>
                     <van-col class="word5">{{ $t("device.temperatureInCabinet") }}:{{
-                        item.cabinetTm
-                      }}{{ $t("device.degree") }}</van-col>
+                      item.cabinetTm
+                    }}{{ $t("device.degree") }}</van-col>
                     <van-col class="word5">{{ $t("device.humidityInCabinet") }}:{{ item.cabinetHd
-                      }}{{ $t("device.degree") }}</van-col>
+                    }}{{ $t("device.degree") }}</van-col>
                   </van-row>
                   <template v-if="item.isMaterialUse === '1'">
                     <van-row justify="space-between" class="sugarTxt o-ptb-10 kBordBott">
@@ -158,8 +158,8 @@
                     </van-row>
                     <div class="sugarTxt o-ptb-10 kBordBott">
                       <span>{{ $t("device.stick") }}:{{
-                          $M_FormatCalcuDecial(item.stick)
-                        }}%</span>
+                        $M_FormatCalcuDecial(item.stick)
+                      }}%</span>
                     </div>
                     <van-row gutter="50" class="sugarTxt o-ptb-10 kBordBott">
                       <van-col>
@@ -175,27 +175,27 @@
                     </span>
                   </template>
                   <span class="info1 o-ptb-8 kBordBott">{{ $t("device.lastRefreshTime") }}:{{
-                      showDateTime(item.lastUpdateTime)
-                    }}</span>
+                    showDateTime(item.lastUpdateTime)
+                  }}</span>
                   <span class="info2 o-ptb-5 kBordBott">{{ $t("device.volume") }}:{{ item.volume }}</span>
                   <span class="info3 o-ptb-10 kBordBott">{{ $t("device.alarmContent") }}:{{
-                      item.alarmList && item.alarmList[0]
-                          ? item.alarmList[0].alarmContent
-                          : item.alarmContent
-                    }}
+                    item.alarmList && item.alarmList[0]
+                    ? item.alarmList[0].alarmContent
+                    : item.alarmContent
+                  }}
                     <span v-if="item.alarmList && item.alarmList[0]" style="color: #4d6add"
-                          @click="clearAlarm(item.alarmList[0])">{{ $t("device.eliminateAlarm") }}</span></span>
+                      @click="clearAlarm(item.alarmList[0])">{{ $t("device.eliminateAlarm") }}</span></span>
                   <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 o-ml-30" @click="deviceOprShow(item)">
                       <span class="c-text-14">{{
-                          $t("device.commonOperations")
-                        }}</span>
+                        $t("device.commonOperations")
+                      }}</span>
                       <div class="box2 flex-col"></div>
                     </div>
                   </div>
@@ -203,8 +203,8 @@
                 <div class="bd6 l-flex-center o-ptb-10" @click="item.checkType = !item.checkType">
                   <div class="l-flex-RC">
                     <span class="info2 o-mr-2">{{
-                        item.checkType ? $t("device.stow") : $t("device.seeMore")
-                      }}</span>
+                      item.checkType ? $t("device.stow") : $t("device.seeMore")
+                    }}</span>
                     <div class="group2 flex-col" :class="{ checkType: item.checkType }"></div>
                   </div>
                 </div>
@@ -257,8 +257,8 @@ export default {
     const router = useRouter();
     const sys = ref(null);
     const user = getLoginUser();
-	//控制睡眠描述的显示隐藏
-	const sleepDescBoxShow = ref(true);
+    //控制睡眠描述的显示隐藏
+    const sleepDescBoxShow = ref(true);
     // 页面列表查询参数
     let searchParams = reactive({
       id: "", // 用户账户id
@@ -293,7 +293,7 @@ export default {
 
     // 获取设备列表数据
     const getList = async () => {
-	  finished.value = false;
+      finished.value = false;
       const { data } = await getDeviceList(Object.assign({}, searchParams));
       if (data.code === "00000") {
         if (searchParams.current === 0) {
@@ -302,9 +302,9 @@ export default {
         // 列表值叠加
         list.value = list.value.concat(
           data.data.records.map((item) => {
-			if(item.sleepDesc == null) {
-			  	item.sleepDesc = t("device.SuspendBusiness");
-			}
+            if (item.sleepDesc == null) {
+              item.sleepDesc = t("device.SuspendBusiness");
+            }
             return {
               ...item,
               checkType: false,
@@ -332,11 +332,12 @@ export default {
     };
     // 搜索条件触发查询
     const search = (e) => {
-	  list.value = [];
-	  loading.value = true;
+      list.value = [];
+      loading.value = true;
       searchParams.current = 1;
       searchParams = Object.assign(searchParams, e);
       getList();
+      getMachineNum();
     };
     // 跳转设备编辑
     const deviceSet = (e) => {
@@ -397,12 +398,12 @@ export default {
       Api_getReplenishment({ equipmentId: row.id }).then((res) => {
         console.log("res", res);
         // Toast(res.data.message);
-		Dialog.alert({
-		  message: t('device.sentSuccessfully'),
-		}).then(() => {
-		 //返回上一页
-		  router.go(0);
-		});
+        Dialog.alert({
+          message: t('device.sentSuccessfully'),
+        }).then(() => {
+          //返回上一页
+          router.go(0);
+        });
         setTimeout(() => {
           getList();
         }, 500);
@@ -416,41 +417,44 @@ export default {
     const equipStatus = ref({});
     // 获取设备情况
     const getMachineNum = () => {
-      Api_postMachineNum({ adminId: user.id }).then((res) => {
+      Api_postMachineNum({
+        adminId: user.id,
+        companyType: searchParams.companyType
+      }).then((res) => {
         equipStatus.value = res.data.data || {};
       });
     };
     // 点击运行总数和总设备数
-    const eqeStatusClk = (val)=>{
+    const eqeStatusClk = (val) => {
       searchParams.eqeStatus = val;
       // 初始化
       searchParams.current = 1;
       list.value = [];
       getList();
     };
-	// 点击修改图标
-	const editSleepDesc = () => {
-		sleepDescBoxShow.value = !sleepDescBoxShow.value;
-	}
-	// 点击睡眠描述的确定按钮
-	const sleepDescChg = async (sleepDesc, id) => {
-		console.log(sleepDesc);
-		if (!sleepDesc) {
-		  Toast(t("device.sleepDescPlace"));
-		} else {
-		  const { data } = await changeSleepDesc({
-		    equipmentId: id,
-		    sleepDesc,
-		  });
-		  if (data.code === "00000") {
-			sleepDescBoxShow.value = true;
-		    Toast(data.message);
-		    // setTimeout(() => {
-		    //   gettAdminGetRelation();
-		    // }, 500);
-		  }
-		}
-	}
+    // 点击修改图标
+    const editSleepDesc = () => {
+      sleepDescBoxShow.value = !sleepDescBoxShow.value;
+    }
+    // 点击睡眠描述的确定按钮
+    const sleepDescChg = async (sleepDesc, id) => {
+      console.log(sleepDesc);
+      if (!sleepDesc) {
+        Toast(t("device.sleepDescPlace"));
+      } else {
+        const { data } = await changeSleepDesc({
+          equipmentId: id,
+          sleepDesc,
+        });
+        if (data.code === "00000") {
+          sleepDescBoxShow.value = true;
+          Toast(data.message);
+          // setTimeout(() => {
+          //   gettAdminGetRelation();
+          // }, 500);
+        }
+      }
+    }
     return {
       ...toRefs(searchParams),
       list,
@@ -473,9 +477,9 @@ export default {
       operFinish,
       equipStatus,
       eqeStatusClk,
-	  editSleepDesc,
-	  sleepDescBoxShow,
-	  sleepDescChg,
+      editSleepDesc,
+      sleepDescBoxShow,
+      sleepDescChg,
     };
   },
 };

+ 1 - 1
src/views/device/modulation.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 音量调节 -->
-  <div class="page flex-col">
+  <div class="modulationPage flex-col">
     <s-header :name="$t('device.parameterAdjustment')" :noback="false"></s-header>
     <div class="wrap1 flex-col">
       <div class="box2 flex-col">

+ 1 - 1
src/views/device/openDoor.vue

@@ -1,6 +1,6 @@
 <template>
 	<!-- 远程开门 -->
-	<div class="page flex-col">
+	<div class="openDoorPage flex-col">
 		<s-header :name="$t('device.remoteDoorOpening')" :noback="false"></s-header>
 		<div class="box1">
 			<div class="block2 flex-row justify-between">

+ 1 - 1
src/views/device/recharge.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 设备充值 -->
-  <div class="page flex-col">
+  <div class="rechargePage flex-col">
     <s-header :name="$t('device.equipmentRecharge')" :noback="false"></s-header>
     <div class="box1 flex-col">
       <div class="baseRow flex-row justify-between">

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

@@ -1,6 +1,6 @@
 <template>
   <!--  修改logo  -->
-  <div class="page flex-col">
+  <div class="viewLogsPage flex-col">
     <s-header :name="$t('device.viewLogs')" :noback="false"></s-header>
     <div class="block2 flex-row justify-between">
       <div class="block3 flex-col"></div>

+ 13 - 12
src/views/home/index.vue

@@ -234,6 +234,7 @@ export default {
         payType: typeSelectData.payType,
         clientId: typeSelectData.clientId,
         username: typeSelectData.userName, // 商家
+        companyType: typeSelectData.companyType, // 公司平台
         equipmentId:
             typeSelectData.equipmentId === "" ? null : typeSelectData.equipmentId,
       };
@@ -404,9 +405,9 @@ export default {
         return item === "M19";
       });
       // 查询是否有账号权限
-      const isAccount = user.menuCodeList.some((item) => {
-        return item === "M8";
-      });
+      // const isAccount = user.menuCodeList.some((item) => {
+      //   return item === "M8";
+      // });
       // 如果没有apk管理
       if (!isApkMan) {
         // 如果是公司人,要把apk添加上去
@@ -418,15 +419,15 @@ export default {
         }
       }
       // 如果没有账号权限
-      if (!isAccount) {
-        //  如果是公司人type=0,要把账号权限添加上去
-        if (user.type === 0) {
-          pushToolList.value.push({
-            label: t("home.accountPermission"),
-            value: "M8"
-          });
-        }
-      }
+      // if (!isAccount) {
+      //   //  如果是公司人type=0,要把账号权限添加上去
+      //   if (user.type === 0) {
+      //     pushToolList.value.push({
+      //       label: t("home.accountPermission"),
+      //       value: "M8"
+      //     });
+      //   }
+      // }
     };
     // 常用操作跳转页面
     const pushToolPage = (index) => {

+ 1 - 1
src/views/login.vue

@@ -146,6 +146,7 @@ export default {
       const {data} = await login({
         username: values.userName,
         password: md5(values.userPwd),
+        hostName: 'Sevencloud',
       });
       if (data.code === "00000") {
         setLocal("loginUser", JSON.stringify(data.data));
@@ -230,5 +231,4 @@ export default {
 
 <style lang="less" scoped>
 @import "../common/style/mixin";
-//@import "../styles/login/index";
 </style>

+ 2 - 0
src/views/orderCenter/index.vue

@@ -347,6 +347,7 @@ export default {
       current: 1, // 页数
       size: 20, // 页大小
       status:"",//支付状态
+      companyType: "", // 公司平台
     });
     let chartType = "day";
     // 获取订单列表数据
@@ -595,6 +596,7 @@ export default {
           searchParams.equipmentId === "" ? null : searchParams.equipmentId,
         payType:
           searchParams.payType === "" ? null : searchParams.payType,
+        companyType: searchParams.companyType,
       };
       const { data } = await getStatistics(params);
       if (data.code && data.data) {

+ 82 - 29
src/views/orderExport/index.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 订单分析 -->
-  <div class="page flex-col">
+  <div class="orderExpotPage flex-col">
     <s-header :name="$t('orderExport.orderAnalysis')" :noback="false"></s-header>
     <div class="Body flex-col">
       <div class="mod3 flex-col">
@@ -28,33 +28,33 @@
                     <div class="group5 flex-col"></div>
                     <div class="TextGroup2 flex-col">
                       <span class="txt1 c-text-w6">{{
-                          $t("orderExport.orderDetails")
-                        }}</span>
+                        $t("orderExport.orderDetails")
+                      }}</span>
                     </div>
                   </div>
                 </div>
                 <div class="l-flex-RC">
                   <div class="c-text-13 l-flex-RC text5">
                     <span @click="noticeClk" class="">{{
-                        $t("orderExport.clickFilter")
-                      }}</span>
+                      $t("orderExport.clickFilter")
+                    }}</span>
                     <div class="outer4 flex-col o-ml-6"></div>
                   </div>
                   <div @click="exportOrder()" class="c-text-13 l-flex-RC o-ml-20 c-text-color">
                     <span class="">{{
-                        $t("orderExport.exportToExcel")
-                      }}</span>
+                      $t("orderExport.exportToExcel")
+                    }}</span>
                     <div class="outer4 flex-col o-ml-6"></div>
                   </div>
                 </div>
               </div>
               <img class="img2" referrerpolicy="no-referrer"
-                   src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a" />
+                src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a" />
             </div>
           </div>
           <van-pull-refresh disabled v-model="refreshing" @refresh="onRefresh">
             <van-list v-model="loading" :finished="finished" :finished-text="$t('common.noMoreTxt')" @load="onLoad"
-                      :offset="300" :immediate-check="false">
+              :offset="300" :immediate-check="false">
               <div v-for="(item, index) in tableData" :key="index" class="orderItem">
                 <div class="mod9 flex-row">
                   <span class="info7">&yen;</span>
@@ -63,13 +63,13 @@
                 </div>
                 <div class="mod10 flex-row">
                   <span class="txt3 o-mr-10">{{ item.username }}</span>
-                  <span class="txt4 c-text-line1">{{ item.name }},{{ item.phone }}</span>
+                  <span class="txt4 c-text-line1">{{ item.name }}{{ item.phone }}</span>
                 </div>
                 <span class="info9">{{ item.address }}</span>
                 <div class="mod11 flex-col">
                   <span v-if="type == 2" class="txt5">{{ item.equipmentTotal }}{{ $t("orderExport.machines") }},{{
-                      $t("orderExport.superior")
-                    }}:{{ item.lastUsername }}</span>
+                    $t("orderExport.superior")
+                  }}:{{ item.lastUsername }}</span>
                   <div v-else class="txt5 l-flex-RC">
                     <div>{{ item.equipmentType }}</div>
                     <div class="lineCon o-mlr-6"></div>
@@ -84,33 +84,50 @@
     </div>
     <!-- 筛选弹窗 -->
     <kDialog :dialogTitle="$t('orderExport.searchPop.title')" :cancelBtnTxt="$t('orderExport.searchPop.clearFilter')"
-             :confirmBtnTxt="$t('orderExport.searchPop.filter')" ref="kDialogRef" @confirmclk="confirmClk"
-             :isCloseForCancel="false" @cancelclk="cancelClk">
+      :confirmBtnTxt="$t('orderExport.searchPop.filter')" ref="kDialogRef" @confirmclk="confirmClk"
+      :isCloseForCancel="false" @cancelclk="cancelClk">
       <template #content>
         <div class="cust_vantBorder">
           <van-field clearable v-model="searchForm.orderNo" :placeholder="$t('orderExport.searchPop.orderNoPlace')"
-                     :label="$t('orderExport.searchPop.orderNo')" />
+            :label="$t('orderExport.searchPop.orderNo')" />
           <van-field clearable v-model="searchForm.busiName" :placeholder="$t('orderExport.searchPop.busiNamePlace')"
-                     :label="$t('orderExport.searchPop.busiName')" />
+            :label="$t('orderExport.searchPop.busiName')" />
           <van-field @click-input="changeTypeInpClk" readonly clearable v-model="searchForm.ifForeignName"
-                     :placeholder="$t('orderExport.searchPop.mainOverPlace')" :label="$t('orderExport.searchPop.mainOver')">
+            :placeholder="$t('orderExport.searchPop.mainOverPlace')" :label="$t('orderExport.searchPop.mainOver')">
             <template #right-icon>
               <div class="l-flex-RC">
-                <van-icon v-if="searchForm.ifForeignName" @click="
-                  searchForm.ifForeignName = '';
-                searchForm.ifForeign = '';
-                                                                      " class="o-mr-6" name="clear" />
+                <van-icon v-if="searchForm.ifForeignName" @click="searchForm.ifForeignName = '';
+                searchForm.ifForeign = '';" class="o-mr-6" name="clear" />
                 <van-icon @click="changeTypeInpClk" name="arrow-down" />
               </div>
             </template>
           </van-field>
+          <van-field v-if="isAdmin()" @click-input="companyTypeInpClk" readonly clearable
+            v-model="searchForm.companyTypeName" :placeholder="$t('orderExport.searchPop.companyTypePlaceholder')"
+            :label="$t('orderExport.searchPop.companyTypeLabel')">
+            <template #right-icon>
+              <div class="l-flex-RC">
+                <van-icon v-if="searchForm.companyTypeName" @click="
+                  searchForm.companyTypeName = '';
+                searchForm.companyType = '';
+                " class="o-mr-6" name="clear" />
+                <van-icon @click="companyTypeInpClk" name="arrow-down" />
+              </div>
+            </template>
+          </van-field>
         </div>
       </template>
     </kDialog>
     <!-- 大陆或海外弹窗 -->
     <van-popup v-model:show="changeTypeShow" position="bottom">
       <van-picker :title="$t('orderExport.searchPop.mainOverPlace')" :columns="changeTypePopList"
-                  :columns-field-names="changeTypePopFieldName" @confirm="changeTypePopConfirm" @cancel="changeTypeShow = false" />
+        :columns-field-names="changeTypePopFieldName" @confirm="changeTypePopConfirm" @cancel="changeTypeShow = false" />
+    </van-popup>
+    <!-- 公司平台弹窗 -->
+    <van-popup v-model:show="companyTypeShow" position="bottom">
+      <van-picker :default-index="chgTypeDefaIdx" :title="$t('orderExport.searchPop.companyTypePlaceholder')"
+        :columns="companyTypePopList" :columns-field-names="changeTypePopFieldName" @confirm="companyTypePopConfirm"
+        @cancel="companyTypeShow = false" />
     </van-popup>
   </div>
 </template>
@@ -141,11 +158,17 @@ export default {
     const finished = ref(false);
     // 下拉刷新
     const refreshing = ref(false);
-    // 初始化页面获取列表
+    const user = getLoginUser();
+    const companyTypeShow = ref(false);
+    // 是否管理员
+    const isAdmin = () => { return (user && user.type === 0); }
+    // 公司平台弹窗
+    const companyTypeInpClk = () => {
+      companyTypeShow.value = true;
+    };
     onMounted(() => {
       // 加载样式
       styleUrl('orderExport');
-      const user = getLoginUser();
       // 今日
       searchParams.startDate = moment().format("YYYY-MM-DD") + " 00:00:00";
       searchParams.endDate = moment().format("YYYY-MM-DD") + " 23:59:59";
@@ -227,6 +250,11 @@ export default {
       searchForm.ifForeignName = e.name;
       changeTypeShow.value = false;
     };
+    const companyTypePopConfirm = (e) => {
+      searchForm.companyType = e.id;
+      searchForm.companyTypeName = e.name;
+      companyTypeShow.value = false;
+    };
     // 点击导出按钮
     const exportOrder = async () => {
       const param = {
@@ -250,6 +278,7 @@ export default {
       busiName: "",
       ifForeign: "0",
       ifForeignName: "大陆",
+      companyType: "",
     });
     // 点击筛选条件的清空条件按钮
     const cancelClk = () => {
@@ -257,12 +286,14 @@ export default {
       searchForm.busiName = '';
       searchForm.ifForeign = '0';
       searchForm.ifForeignName = '大陆';
+      searchForm.companyType = "";
     };
     // 点击筛选条件的筛选按钮
     const confirmClk = () => {
       searchParams.clientId = searchForm.orderNo;
       searchParams.username = searchForm.busiName;
       searchParams.ifForeign = searchForm.ifForeign;
+      searchParams.companyType = searchForm.companyType;
       getList();
     };
     // 商户设备tab栏
@@ -278,6 +309,21 @@ export default {
         id: 2,
       },
     ]);
+    // 公司平台
+    const companyTypePopList = [
+      {
+        name: t("orderExport.searchPop.whole"),
+        id: "",
+      },
+      {
+        name: t("orderExport.searchPop.sz"),
+        id: "0",
+      },
+      {
+        name: t("orderExport.searchPop.sc"),
+        id: "1",
+      },
+    ];
     // 点击tab
     const tabChg = (e) => {
       if (e == 1) {
@@ -293,7 +339,9 @@ export default {
       username: "",
       startDate: "",
       endDate: "",
-      ifForeign: '0'
+      ifForeign: '0',
+      adminId: user.id,
+      companyType: "",
     });
     // 搜索点击
     const searchClick = () => {
@@ -303,18 +351,22 @@ export default {
     const update = (uDate) => {
       searchParams = Object.assign(searchParams, uDate);
       searchParams.startDate = dateUtil.formateDate(
-          new Date(searchParams.startDate),
-          "yyyy-MM-dd hh:mm:ss"
+        new Date(searchParams.startDate),
+        "yyyy-MM-dd hh:mm:ss"
       );
       searchParams.endDate = dateUtil.formateDate(
-          new Date(searchParams.endDate),
-          "yyyy-MM-dd hh:mm:ss"
+        new Date(searchParams.endDate),
+        "yyyy-MM-dd hh:mm:ss"
       );
       onRefresh(1);
     };
     return {
       ...toRefs(searchParams),
+      companyTypePopConfirm,
+      companyTypePopList,
       searchClick,
+      companyTypeInpClk,
+      companyTypeShow,
       update,
       exportOrder,
       tabChg,
@@ -337,6 +389,7 @@ export default {
       onRefresh,
       onLoad,
       getList,
+      isAdmin,
       ...toRefs(ruleData),
     };
   },

+ 2 - 2
src/views/register.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 注册 -->
-  <div class="page flex-col registerPage">
+  <div class="flex-col registerPage">
     <s-header :name="$t('register.header')" :noback="false"></s-header>
     <div class="registerFormBox">
       <van-form @submit="registerSubmit">
@@ -155,7 +155,7 @@ export default {
         phone: phone.value,
         email: email.value,
         code: code.value,
-        companyType: '0',
+        companyType: '1',
       });
       if (data.code === '00000') {
         Toast('注册成功');

+ 117 - 155
src/views/robotRanking.vue

@@ -1,9 +1,6 @@
 <template>
   <div class="robotRanking flex-col">
-    <s-header
-      :name="$t('robotRanking.machineSalesRanking')"
-      :noback="true"
-    ></s-header>
+    <s-header :name="$t('robotRanking.machineSalesRanking')" :noback="true"></s-header>
     <div class="box1 flex-col">
       <div class="box3 flex-col">
         <div class="main1 flex-col">
@@ -25,93 +22,48 @@
                   <span class="txt3">{{ $t("robotRanking.rankMethod") }}</span>
                 </div>
               </div>
-              <img
-                class="img1"
-                referrerpolicy="no-referrer"
-                src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a"
-              />
+              <img class="img1" referrerpolicy="no-referrer"
+                src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a" />
             </div>
           </div>
           <div class="l-f l-flex-e o-plr-15">
-            <span class="robotLabelName l-in c-text-13" style="color: #404d74"
-              >{{ $t("robotRanking.dailySalesRanking") }}:</span
-            >
-            <kTabs
-              @tabclk="(e) => tabclk(e, 'day')"
-              :tabList="tabDayList"
-            ></kTabs>
+            <span class="robotLabelName l-in c-text-13" style="color: #404d74">{{ $t("robotRanking.dailySalesRanking")
+            }}:</span>
+            <kTabs @tabclk="(e) => tabclk(e, 'day')" :tabList="tabDayList"></kTabs>
           </div>
-          <div
-            v-if="!totalNoData('day')"
-            ref="dayChartBox"
-            class="mod3 flex-col"
-          ></div>
+          <div v-if="!totalNoData('day')" ref="dayChartBox" class="mod3 flex-col"></div>
           <kNoData v-else></kNoData>
           <div class="groove"></div>
           <div class="l-f l-flex-e o-plr-15">
-            <span
-              class="robotLabelName l-in o-mr-6 c-text-13"
-              style="color: #404d74"
-              >{{ $t("robotRanking.salesRankingThisWeek") }}:</span
-            >
-            <kTabs
-              @tabclk="(e) => tabclk(e, 'week')"
-              :tabList="tabWeekList"
-            ></kTabs>
+            <span class="robotLabelName l-in o-mr-6 c-text-13" style="color: #404d74">{{
+              $t("robotRanking.salesRankingThisWeek") }}:</span>
+            <kTabs @tabclk="(e) => tabclk(e, 'week')" :tabList="tabWeekList"></kTabs>
           </div>
-          <div
-            v-if="!totalNoData('week')"
-            ref="weekChartBox"
-            class="mod5 flex-col"
-          ></div>
+          <div v-if="!totalNoData('week')" ref="weekChartBox" class="mod5 flex-col"></div>
           <kNoData v-else></kNoData>
           <div class="groove"></div>
           <div class="l-f l-flex-e o-plr-15">
-            <span
-              class="robotLabelName l-in o-mr-6 c-text-13"
-              style="color: #404d74"
-              >{{ $t("robotRanking.salesRankingThisMonth") }}:</span
-            >
-            <kTabs
-              @tabclk="(e) => tabclk(e, 'month')"
-              :tabList="tabMonthList"
-            ></kTabs>
+            <span class="robotLabelName l-in o-mr-6 c-text-13" style="color: #404d74">{{
+              $t("robotRanking.salesRankingThisMonth") }}:</span>
+            <kTabs @tabclk="(e) => tabclk(e, 'month')" :tabList="tabMonthList"></kTabs>
           </div>
-          <div
-            v-if="!totalNoData('month')"
-            ref="monthChartBox"
-            class="mod9 flex-col"
-          ></div>
+          <div v-if="!totalNoData('month')" ref="monthChartBox" class="mod9 flex-col"></div>
           <kNoData v-else></kNoData>
           <div class="groove"></div>
           <div class="l-f l-flex-e o-plr-15">
-            <span
-              class="robotLabelName l-in o-mr-6 c-text-13"
-              style="color: #404d74"
-              >{{ $t("robotRanking.salesRankingThisYear") }}:</span
-            >
-            <kTabs
-              @tabclk="(e) => tabclk(e, 'year')"
-              :tabList="tabYearList"
-            ></kTabs>
+            <span class="robotLabelName l-in o-mr-6 c-text-13" style="color: #404d74">{{
+              $t("robotRanking.salesRankingThisYear") }}:</span>
+            <kTabs @tabclk="(e) => tabclk(e, 'year')" :tabList="tabYearList"></kTabs>
           </div>
-          <div
-            v-if="!totalNoData('year')"
-            ref="yearChartBox"
-            class="mod11 flex-col"
-          ></div>
+          <div v-if="!totalNoData('year')" ref="yearChartBox" class="mod11 flex-col"></div>
           <kNoData v-else></kNoData>
           <div class="groove"></div>
         </div>
       </div>
     </div>
     <!-- 筛选弹窗 -->
-    <kDialog
-      :dialogTitle="$t('subLedgerManage.search.title')"
-      :confirmBtnTxt="$t('subLedgerManage.search.screen')"
-      ref="kDialogRef"
-      @confirmclk="confirmClk"
-    >
+    <kDialog :dialogTitle="$t('subLedgerManage.search.title')" :confirmBtnTxt="$t('subLedgerManage.search.screen')"
+      ref="kDialogRef" @confirmclk="confirmClk">
       <template #content>
         <div class="cust_vantBorder">
           <!-- <van-field @click-input="busiInpClk" readonly clearable  v-model="searchForm.businessName"
@@ -124,96 +76,67 @@
               </div>
             </template>
           </van-field> -->
-          <van-field
-            @click-input="changeTypeInpClk"
-            readonly
-            clearable
-            v-model="searchForm.changeTypeName"
-            :placeholder="$t('robotRanking.changeTypePlace')"
-            :label="$t('robotRanking.changeType')"
-          >
+          <van-field @click-input="changeTypeInpClk" readonly clearable v-model="searchForm.changeTypeName"
+            :placeholder="$t('robotRanking.changeTypePlace')" :label="$t('robotRanking.changeType')">
             <template #right-icon>
               <div class="l-flex-RC">
-                <van-icon
-                  v-if="searchForm.changeTypeName"
-                  @click="
-                    searchForm.changeTypeName = '';
-                    searchForm.changeType = '';
-                  "
-                  class="o-mr-6"
-                  name="clear"
-                />
+                <van-icon v-if="searchForm.changeTypeName" @click="
+                  searchForm.changeTypeName = '';
+                searchForm.changeType = '';
+                " class="o-mr-6" name="clear" />
                 <van-icon @click="changeTypeInpClk" name="arrow-down" />
               </div>
             </template>
           </van-field>
+          <van-field v-if="isAdmin()" @click-input="companyTypeInpClk" readonly clearable
+            v-model="searchForm.companyTypeName" :placeholder="$t('robotRanking.companyTypePlaceholder')"
+            :label="$t('robotRanking.companyTypeLabel')">
+            <template #right-icon>
+              <div class="l-flex-RC">
+                <van-icon v-if="searchForm.companyTypeName" @click="
+                  searchForm.companyTypeName = '';
+                searchForm.companyType = '';
+                " class="o-mr-6" name="clear" />
+                <van-icon @click="companyTypeInpClk" name="arrow-down" />
+              </div>
+            </template>
+          </van-field>
         </div>
       </template>
     </kDialog>
     <!-- 商家选择框 -->
     <van-popup v-model:show="busiPopShow" position="bottom">
-      <van-picker
-        :title="$t('subLedgerManage.search.busiPlaceholder')"
-        :columns="busiPopList"
-        :columns-field-names="busiPopFieldName"
-        @confirm="busiPopConfirm"
-        @cancel="busiPopShow = false"
-      />
+      <van-picker :title="$t('subLedgerManage.search.busiPlaceholder')" :columns="busiPopList"
+        :columns-field-names="busiPopFieldName" @confirm="busiPopConfirm" @cancel="busiPopShow = false" />
     </van-popup>
     <!-- 统计方式弹窗 -->
     <van-popup v-model:show="changeTypeShow" position="bottom">
-      <van-picker
-        :default-index="chgTypeDefaIdx"
-        :title="$t('robotRanking.changeTypePlace')"
-        :columns="changeTypePopList"
-        :columns-field-names="yearPopFieldName"
-        @confirm="changeTypePopConfirm"
-        @cancel="changeTypeShow = false"
-      />
+      <van-picker :default-index="chgTypeDefaIdx" :title="$t('robotRanking.changeTypePlace')" :columns="changeTypePopList"
+        :columns-field-names="yearPopFieldName" @confirm="changeTypePopConfirm" @cancel="changeTypeShow = false" />
+    </van-popup>
+    <!-- 公司平台弹窗 -->
+    <van-popup v-model:show="companyTypeShow" position="bottom">
+      <van-picker :default-index="chgTypeDefaIdx" :title="$t('robotRanking.companyTypePlaceholder')"
+        :columns="companyTypePopList" :columns-field-names="yearPopFieldName" @confirm="companyTypePopConfirm"
+        @cancel="companyTypeShow = false" />
     </van-popup>
     <!-- 日的日期选择弹窗 -->
-    <van-calendar
-      @confirm="calendarDayConfirm"
-      v-model:show="dayShow"
-      color="#2c87c8"
-      :min-date="minDate"
-      :show-confirm="false"
-    />
+    <van-calendar @confirm="calendarDayConfirm" v-model:show="dayShow" color="#2c87c8" :min-date="minDate"
+      :show-confirm="false" />
     <!-- 周的日期选择弹窗 -->
-    <van-calendar
-      @confirm="
-        (e) => {
-          calendarWeekOrMonConfirm(e, 1);
-        }
-      "
-      v-model:show="weekShow"
-      :allow-same-day="true"
-      color="#2c87c8"
-      :min-date="minDate"
-      type="range"
-    />
+    <van-calendar @confirm="(e) => {
+      calendarWeekOrMonConfirm(e, 1);
+    }
+      " v-model:show="weekShow" :allow-same-day="true" color="#2c87c8" :min-date="minDate" type="range" />
     <!-- 月的日期选择弹窗 -->
-    <van-calendar
-      @confirm="
-        (e) => {
-          calendarWeekOrMonConfirm(e, 2);
-        }
-      "
-      v-model:show="monthShow"
-      :allow-same-day="true"
-      color="#2c87c8"
-      :min-date="minDate"
-      type="range"
-    />
+    <van-calendar @confirm="(e) => {
+      calendarWeekOrMonConfirm(e, 2);
+    }
+      " v-model:show="monthShow" :allow-same-day="true" color="#2c87c8" :min-date="minDate" type="range" />
     <!-- 年的日期选择弹窗 -->
     <van-popup v-model:show="yearShow" position="bottom">
-      <van-picker
-        :title="$t('robotRanking.yearPopTitle')"
-        :columns="yearPopList"
-        :columns-field-names="yearPopFieldName"
-        @confirm="yearPopConfirm"
-        @cancel="yearShow = false"
-      />
+      <van-picker :title="$t('robotRanking.yearPopTitle')" :columns="yearPopList" :columns-field-names="yearPopFieldName"
+        @confirm="yearPopConfirm" @cancel="yearShow = false" />
     </van-popup>
     <nav-bar></nav-bar>
   </div>
@@ -269,7 +192,14 @@ export default {
     const changeTypeInpClk = () => {
       changeTypeShow.value = true;
     };
+    // 是否管理员
+    const isAdmin = () => { return (user && user.type === 0); }
+    // 公司平台弹窗
+    const companyTypeInpClk = () => {
+      companyTypeShow.value = true;
+    };
     const changeTypeShow = ref(false);
+    const companyTypeShow = ref(false);
     // 默认选中
     const chgTypeDefaIdx = ref(1);
     const changeTypePopList = [
@@ -282,11 +212,31 @@ export default {
         id: 0,
       },
     ];
+
+    const companyTypePopList = [
+      {
+        name: t("robotRanking.whole"),
+        id: "",
+      },
+      {
+        name: t("robotRanking.sz"),
+        id: "0",
+      },
+      {
+        name: t("robotRanking.sc"),
+        id: "1",
+      },
+    ];
     const changeTypePopConfirm = (e) => {
       searchForm.changeType = e.id;
       searchForm.changeTypeName = e.name;
       changeTypeShow.value = false;
     };
+    const companyTypePopConfirm = (e) => {
+      searchForm.companyType = e.id;
+      searchForm.companyTypeName = e.name;
+      companyTypeShow.value = false;
+    };
     // 年的日期选择弹窗
     // 点击确定
     const yearPopConfirm = (e) => {
@@ -443,18 +393,18 @@ export default {
       weekStart: moment().weekday(1).format("YYYY-MM-DD") + " 00:00:00",
       weekEnd: moment().weekday(7).format("YYYY-MM-DD") + " 23:59:59",
       // 上周
-      lastWeekStart:moment().week(moment().week() - 1).startOf('week').add(1,'days').format("YYYY-MM-DD") + " 00:00:00",
-        // moment()
-        //   .week(moment().week() - 1)
-        //   .startOf("week")
-        //   .format("YYYY-MM-DD") + " 00:00:00",
-		
-      lastWeekEnd:moment().week(moment().week() - 1).endOf('week').add(1,'days').format("YYYY-MM-DD") + " 23:59:59",
-        // moment()
-        //   .week(moment().week() - 1)
-        //   .endOf("week")
-        //   .format("YYYY-MM-DD") + " 23:59:59",
-		
+      lastWeekStart: moment().week(moment().week() - 1).startOf('week').add(1, 'days').format("YYYY-MM-DD") + " 00:00:00",
+      // moment()
+      //   .week(moment().week() - 1)
+      //   .startOf("week")
+      //   .format("YYYY-MM-DD") + " 00:00:00",
+
+      lastWeekEnd: moment().week(moment().week() - 1).endOf('week').add(1, 'days').format("YYYY-MM-DD") + " 23:59:59",
+      // moment()
+      //   .week(moment().week() - 1)
+      //   .endOf("week")
+      //   .format("YYYY-MM-DD") + " 23:59:59",
+
       // 这个月
       monthStart: moment().startOf("month").format("YYYY-MM-DD") + " 00:00:00",
       monthEnd: moment().endOf("month").format("YYYY-MM-DD") + " 23:59:59",
@@ -561,6 +511,7 @@ export default {
       }
     };
     const changeType = ref(0);
+    const companyType = ref(""); // 公司平台
     let chartObj = {
       day: null,
       week: null,
@@ -573,9 +524,11 @@ export default {
         adminId: user.id,
         ifForeign: user.ifForeign,
         changeType: changeType.value, //必填,默认为一0:销售额统计,1:花型统计
+        companyType: companyType.value,
         chartType,
         startDate,
         endDate,
+
       };
       getRankingList(param).then(async (res) => {
         const { data } = res;
@@ -676,7 +629,7 @@ export default {
                 ...data.data.series[0],
                 type: "bar",
                 itemStyle: { color: "#ddae27" },
-				name: t("home.productNum"),
+                name: t("home.productNum"),
                 label: {
                   show: true,
                   position: "top",
@@ -686,7 +639,7 @@ export default {
                 ...data.data.series[1],
                 type: "bar",
                 itemStyle: { color: "#2c87c8" },
-				name: t("home.salesAmount"),
+                name: t("home.salesAmount"),
                 label: {
                   show: true,
                   position: "top",
@@ -745,6 +698,7 @@ export default {
       // 默认筛选选中
       searchForm.changeTypeName = t("robotRanking.salesStatistics");
       searchForm.changeType = 0;
+      searchForm.companyTypeName = t("robotRanking.whole");
       init();
       window.addEventListener("resize", () => {
         chartObj.day && chartObj.day.resize();
@@ -768,6 +722,8 @@ export default {
       businessName: "",
       changeTypeName: "",
       changeType: "",
+      companyTypeName: "",
+      companyType: ""
     });
     const kDialogRef = ref(null);
     const busiPopShow = ref(false);
@@ -796,6 +752,7 @@ export default {
       } else {
         changeType.value = searchForm.changeType;
       }
+      companyType.value = searchForm.companyType;
       init();
     };
     // 筛选弹窗
@@ -849,13 +806,18 @@ export default {
       changeTypePopList,
       changeTypePopConfirm,
       changeTypeInpClk,
+      companyTypeInpClk,
+      companyTypePopConfirm,
+      companyTypePopList,
+      companyTypeShow,
       totalNoData,
       chgTypeDefaIdx,
+
+      isAdmin,
     };
   },
   components: { sHeader, navBar, kTabs, kDialog, kNoData },
 };
 </script>
 
-<style lang="less" scoped>
-</style>
+<style lang="less" scoped></style>

+ 23 - 85
src/views/role/add.vue

@@ -5,15 +5,15 @@
     <div class="accountPerBox flex-col">
       <van-form @submit="onSubmit">
         <van-field
-          v-model="roleName"
-          name="roleName"
-          :label="$t('role.roleNameLabel')"
-          :placeholder="$t('role.roleNamePlaceholder')"
-          :rules="[{ required: true, message: $t('role.roleNamePlaceholder') }]"
+            v-model="roleName"
+            name="roleName"
+            :label="$t('role.roleNameLabel')"
+            :placeholder="$t('role.roleNamePlaceholder')"
+            :rules="[{ required: true, message: $t('role.roleNamePlaceholder') }]"
         />
         <van-checkbox-group
-          v-model="roleMenuCode"
-          style="
+            v-model="roleMenuCode"
+            style="
             display: flex;
             flex-wrap: wrap;
             align-items: center;
@@ -21,45 +21,27 @@
           "
         >
           <van-checkbox
-            v-for="(item, index) in menuCodeList"
-            :key="index"
-            :name="item.value"
-            style="width: 50%; padding: 1em"
-            >{{ item.label }}</van-checkbox
+              v-for="(item, index) in menuCodeList"
+              :key="index"
+              :name="item.value"
+              style="width: 50%; padding: 1em"
+          >{{ item.label }}</van-checkbox
           >
         </van-checkbox-group>
         <!-- 操作 -->
         <van-row justify="space-around" style="padding: 1em">
           <van-button
-            span="5"
-            round
-            type="primary"
-            style="height: 2em; padding: 0 2em"
-            native-type="submit"
+              span="5"
+              round
+              type="primary"
+              style="height: 2em; padding: 0 2em"
+              native-type="submit"
           >
             {{ pageTitle }}
           </van-button>
         </van-row>
       </van-form>
     </div>
-    <van-popup v-model:show="roleShow" round position="bottom">
-      <van-cascader
-        v-model="roleList"
-        :title="$t('role.pleaseSelectARole')"
-        :options="roleOptions"
-        @close="roleShow = false"
-        @finish="onRoleFinish"
-      />
-    </van-popup>
-    <van-popup v-model:show="equipmentIdShow" round position="bottom">
-      <van-cascader
-        v-model="equipmentIds"
-        :title="$t('role.pleaseSelectAPattern')"
-        :options="equipmentIdsOptions"
-        @close="equipmentIdShow = false"
-        @finish="onEquipmentIdFinish"
-      />
-    </van-popup>
   </div>
 </template>
 
@@ -67,7 +49,7 @@
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import { Toast } from "vant";
-import { getSysRoleList, getEquipmentList } from "../../service/accountPar/index";
+// import { getSysRoleList, getEquipmentList } from "../../service/accountPar/index";
 import { addSysRole, updateSysRole } from "../../service/role/index";
 import { getLoginUser,$M_Menus, styleUrl } from "../../common/js/utils";
 import { useRouter } from "vue-router";
@@ -85,27 +67,16 @@ export default {
     // 设置的权限
     const menuCodeList = ref([]);
     const roleMenuCode = ref([]);
-    const roleShow = ref(false);
     const roleText = ref("");
-    const roleOptions = ref([]);
-    const onRoleFinish = ({ selectedOptions }) => {
-      roleShow.value = false;
-      roleText.value = selectedOptions[0].text;
-    };
-    const equipmentIdShow = ref(false);
     const equipmentIdText = ref("");
     const equipmentIdsOptions = ref([]);
-    const onEquipmentIdFinish = ({ selectedOptions }) => {
-      equipmentIdShow.value = false;
-      equipmentIdText.value = selectedOptions[0].text;
-    };
+
     let addParams = reactive({
       username: "",
       password: "",
       name: "",
       phone: "",
       isEnabled: true,
-      roleList: "",
       equipmentIds: "",
     });
     let roleItem = null;
@@ -123,17 +94,15 @@ export default {
       }
       // 设置菜单权限
       menuSet();
-      getSysRoleListFun();
-      getEquipmentListFun();
     });
     // 设置菜单权限
     const menuSet = ()=>{
       // 如果不是管理员权限type=0,要删除
       if(user.type !== 0){
-           delete $M_Menus['M5'];
-           delete $M_Menus['M10'];
-           delete $M_Menus['M17'];
-           delete $M_Menus['M19'];
+        delete $M_Menus['M5'];
+        delete $M_Menus['M10'];
+        delete $M_Menus['M17'];
+        delete $M_Menus['M19'];
       }
       for(const key in $M_Menus){
         menuCodeList.value.push({
@@ -142,32 +111,6 @@ export default {
         });
       }
     };
-    // 获取角色下拉列表
-    const getSysRoleListFun = async () => {
-      const { data } = await getSysRoleList();
-      if (data.code === "00000") {
-        roleOptions.value = data.data.map((item) => {
-          return { text: item.label, value: item.value };
-        });
-      } else {
-        Toast.fail(data.message);
-      }
-    };
-    // 获取机器下拉
-    const getEquipmentListFun = async () => {
-      const { data } = await getEquipmentList({ adminId: user.id });
-      if (data.code === "00000") {
-        equipmentIdsOptions.value = data.data.map((item) => {
-          return { text: item.name, value: item.id };
-        });
-        equipmentIdsOptions.value.unshift({
-          text: t("role.whole"),
-          value: "all",
-        });
-      } else {
-        Toast.fail(data.message);
-      }
-    };
 
     const onSubmit = async () => {
       if (roleItem) {
@@ -212,14 +155,9 @@ export default {
       roleName,
       menuCodeList,
       roleMenuCode,
-      roleShow,
       roleText,
-      roleOptions,
-      onRoleFinish,
-      equipmentIdShow,
       equipmentIdText,
       equipmentIdsOptions,
-      onEquipmentIdFinish,
       ...toRefs(addParams),
       onSubmit,
     };

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

@@ -1,6 +1,6 @@
 <template>
   <!-- 自充值 -->
-  <div class="page flex-col">
+  <div class="uniPayPage flex-col">
     <s-header :name="$t('uniPay.selfRecharging')" :noback="false"></s-header>
     <div class="box1 flex-col">
       <van-field v-model="deviceValue" is-link readonly :label="$t('uniPay.selfRecharging')"

+ 2 - 1
vue.config.js

@@ -7,7 +7,8 @@ module.exports = {
   },
   configureWebpack: {
     output: {
-      filename: '[name].[hash].js'
+      filename: '[name].[hash].js',
+      chunkFilename: '[id].[hash].chunk.js'
     }
   },
   devServer: {