Sfoglia il codice sorgente

feat:“同步12.04”

soobin 1 anno fa
parent
commit
417b053e68
81 ha cambiato i file con 1391 aggiunte e 3115 eliminazioni
  1. 1 1
      package.json
  2. 5 5
      src/assets/language/en.json
  3. 4 4
      src/assets/language/zh.json
  4. 64 107
      src/components/typeSelectList/index.vue
  5. 7 3
      src/main.js
  6. 0 28
      src/router/index.js
  7. 3 2
      src/service/forgetPassword.js
  8. 4 2
      src/service/register.js
  9. 1 1
      src/service/user.js
  10. 1 1
      src/styles/device/index.less
  11. 0 7
      src/styles/merchantManage/index.less
  12. 5 4
      src/utils/axios.js
  13. 16 15
      src/views/accountPer/add.vue
  14. 13 3
      src/views/accountPer/index.vue
  15. 2 2
      src/views/accountPer/search.vue
  16. 24 21
      src/views/advertManage/adSet.vue
  17. 3 3
      src/views/advertManage/advertRule/add.vue
  18. 16 16
      src/views/advertManage/advertRule/add1.vue
  19. 4 4
      src/views/advertManage/advertRule/index.vue
  20. 7 7
      src/views/advertManage/advertRule/screen.vue
  21. 4 4
      src/views/advertManage/index.vue
  22. 126 124
      src/views/alarmHistory/historySearch.vue
  23. 2 2
      src/views/alarmHistory/index.vue
  24. 13 10
      src/views/apkManage/add.vue
  25. 3 3
      src/views/apkManage/index.vue
  26. 16 35
      src/views/bindWechat.vue
  27. 4 4
      src/views/changePassword.vue
  28. 32 33
      src/views/device/alarmClock.vue
  29. 74 128
      src/views/device/alarmClockSet/index.vue
  30. 23 29
      src/views/device/customLogo.vue
  31. 25 17
      src/views/device/deviceOper.vue
  32. 158 159
      src/views/device/devicePassword/index.vue
  33. 2 2
      src/views/device/deviceSearch.vue
  34. 27 13
      src/views/device/deviceSet.vue
  35. 7 13
      src/views/device/diyFlower/index.vue
  36. 7 7
      src/views/device/doSugar.vue
  37. 10 27
      src/views/device/editAdRule/index.vue
  38. 41 23
      src/views/device/index.vue
  39. 4 3
      src/views/device/modifyPrice/index.vue
  40. 4 4
      src/views/device/modulation.vue
  41. 103 123
      src/views/device/openDoor.vue
  42. 12 12
      src/views/device/paramsSet/index.vue
  43. 33 19
      src/views/device/paramsSet/paramsSetInfo.vue
  44. 6 6
      src/views/device/recharge.vue
  45. 47 79
      src/views/device/saveProportion/index.vue
  46. 4 4
      src/views/device/showGoods/index.vue
  47. 7 7
      src/views/device/tagSet/index.vue
  48. 82 86
      src/views/device/toDaySugarList.vue
  49. 11 11
      src/views/device/viewLogs/index.vue
  50. 11 12
      src/views/discountCode/codeSearch.vue
  51. 2 2
      src/views/discountCode/index.vue
  52. 12 12
      src/views/discountCode/payCode.vue
  53. 13 8
      src/views/distributionSet/detail.vue
  54. 5 5
      src/views/forgetPassword.vue
  55. 2 2
      src/views/home/index.vue
  56. 0 51
      src/views/huifuMch/index.less
  57. 0 655
      src/views/huifuMch/index.vue
  58. 0 492
      src/views/huifuMch/update.vue
  59. 0 359
      src/views/huifuMch/upload.vue
  60. 36 34
      src/views/joinpayMch/index.vue
  61. 2 2
      src/views/labelMan/add.vue
  62. 3 3
      src/views/labelMan/index.vue
  63. 5 5
      src/views/login.vue
  64. 7 6
      src/views/merchantManage/index.vue
  65. 13 10
      src/views/merchantManage/set.vue
  66. 11 10
      src/views/orderCenter/index.vue
  67. 25 25
      src/views/orderCenter/orderSearch.vue
  68. 9 26
      src/views/orderExport/index.vue
  69. 13 12
      src/views/popPayment.vue
  70. 6 6
      src/views/register.vue
  71. 11 11
      src/views/robotRanking.vue
  72. 5 5
      src/views/role/add.vue
  73. 3 3
      src/views/role/index.vue
  74. 74 81
      src/views/settlement/index.vue
  75. 6 6
      src/views/taskMessage/equipment/index.vue
  76. 5 5
      src/views/taskMessage/joinpayMchCheck/index.vue
  77. 11 10
      src/views/taskMessage/joinpayMchCheck/info/index.vue
  78. 7 7
      src/views/taskMessage/proportion/index.vue
  79. 6 6
      src/views/uniPay/index.vue
  80. 18 18
      src/views/user.vue
  81. 3 3
      src/views/wxLogin.vue

+ 1 - 1
package.json

@@ -30,7 +30,7 @@
     "pushstate-server": "^3.1.0",
     "qrcode-terminal": "^0.12.0",
     "qs": "^6.11.0",
-    "vant": "^3.5.2",
+    "vant": "^4.8.0",
     "vue": "^3.0.0",
     "vue-i18n": "^9.1.10",
     "vue-router": "^4.0.0-beta.13",

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

@@ -193,7 +193,7 @@
     "startTime": "start time",
     "endTime": "End time",
     "clickQuery": "Click Query",
-    "selectFullTime": "Select full time",
+    "selectFullTime": "Select date",
     "alarmHistory": "Alarm history",
     "requestFailed": "Request failed, click to reload",
     "noMore": "No more",
@@ -541,7 +541,7 @@
     "to": "to",
     "usageTime": "Usage time",
     "clickQuery": "Click Query",
-    "selectFullTime": "Select full time",
+    "selectFullTime": "Select date",
     "discountCode": "Discount code",
     "total": "total",
     "discountCodesInTotal": "Discount codes",
@@ -613,7 +613,7 @@
     "productNum": "Sales volume",
     "numberOfOrders": "Order quantity",
     "salesAmount": "Sales amount",
-    "commonTools": "commonTools",
+    "commonTools": "Common tools",
     "deviceManagement": "Device management",
     "discountCode": "discountCode",
     "distributionSettings": "distributionSettings",
@@ -860,7 +860,7 @@
     "to": "to",
     "endTime": "End time",
     "clickSearch": "Click Search",
-    "selectFullTime": "Select full time",
+    "selectFullTime": "Select date",
     "refundAmount": "Refund amount",
     "refundTip": "Please treat the refund carefully, it will affect the data statistics!",
     "totalRefund": "Total refund",
@@ -1342,7 +1342,7 @@
     "D416": "Lower sugar thickness factor",
     "D418": "Furnace operating temperature",
     "D419": "Sugar temperature error allowed in the cabinet",
-    "D435": "Medium speed of the stove",
+    "D435": "Sugar humidity error is allowed in the cabinet",
     "D444": "Base coefficient",
     "D445": "Base humidity",
     "D460": "Low temperature setting (stove temperature rise)",

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

@@ -193,7 +193,7 @@
     "startTime": "开始时间",
     "endTime": "结束时间",
     "clickQuery": "点击查询",
-    "selectFullTime": "选择完整时间",
+    "selectFullTime": "选择日期",
     "alarmHistory": "报警历史",
     "requestFailed": "请求失败,点击重新加载",
     "noMore": "没有更多了",
@@ -542,7 +542,7 @@
     "to": "至",
     "usageTime": "使用时间",
     "clickQuery": "点击查询",
-    "selectFullTime": "选择完整时间",
+    "selectFullTime": "选择日期",
     "discountCode": "优惠码",
     "total": "共",
     "discountCodesInTotal": "个优惠码",
@@ -861,7 +861,7 @@
     "to": "至",
     "endTime": "结束时间",
     "clickSearch": "点击搜索",
-    "selectFullTime": "选择年月日小时",
+    "selectFullTime": "选择日期",
     "refundAmount": "退款金额",
     "refundPlace": "请选择退款商品",
     "refundCheck": "是否确认退款?",
@@ -1356,7 +1356,7 @@
     "D416": "下糖粗细系数",
     "D418": "炉头工作温度",
     "D419": "柜内允许做糖温度误差",
-    "D435": "炉头中速",
+    "D435": "柜内允许做糖湿度误差",
     "D444": "基准系数",
     "D445": "基准湿度",
     "D460": "低温环境设定(炉头升柜温)",

+ 64 - 107
src/components/typeSelectList/index.vue

@@ -130,10 +130,12 @@ export default {
     const adminTypeShow = ref(false);
     const adminShow = () => { adminTypeShow.value = true; };
     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;
+    const adminConfirm = ({ selectedOptions }) => {
+      console.log('selectedOptions[0].text', selectedOptions[0].text)
+      searchParams.adminType = (selectedOptions[0].text === t('typeSelectList.allSuboUsers')) ? 'all' : '';
+      searchParams.userName = (selectedOptions[0].text === t('typeSelectList.allSuboUsers')) ? 'all' : (selectedOptions[0].text === t('typeSelectList.thisMerchant')) ? user.username : selectedOptions[0].text;
       adminTypeShow.value = false;
+      console.log('searchParams.userName', searchParams.userName)
       outputDate();
     }
     const adminCancel = () => { adminTypeShow.value = false; }
@@ -142,27 +144,23 @@ export default {
       const { data } = await getAdminList({ adminId: user.id });
       if (data.code === '00000') {
         adminList.value = data.data.map(item => {
-          return item.username
+          return { text: item.username, value: item.id }
         });
-        adminList.value.unshift(t('typeSelectList.thisMerchant'));
-        adminList.value.unshift(t('typeSelectList.allSuboUsers'));
+        adminList.value.unshift({ text: t('typeSelectList.allSuboUsers'), value: 'all' });
+        adminList.value.unshift({ text: t('typeSelectList.thisMerchant'), value: 'this' });
       }
     }
     // 账号地区选择
     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 = [
+      { text: t('typeSelectList.mainland'), value: '0' },
+      { text: t('typeSelectList.overseas'), value: '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; }
+    const foreignConfirm = ({ selectedOptions }) => {
+      console.log(selectedOptions[0].text);
+      ifForeignes.value = selectedOptions[0].text;
+      searchParams.ifForeign = selectedOptions[0].value;
       ifForeign.value = false;
       outputDate();
     }
@@ -170,20 +168,14 @@ export default {
     // 公司平台选择
     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 = [
+      { text: t('typeSelectList.whole'), value: '' },
+      { text: t('typeSelectList.sz'), value: '0' },
+      { text: t('typeSelectList.sc'), value: '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; }
+    const companyConfirm = ({ selectedOptions }) => {
+      companies.value = selectedOptions[0].text;
+      searchParams.companyType = selectedOptions[0].value;
       companyType.value = false;
       outputDate();
     }
@@ -191,20 +183,14 @@ export default {
     // 设备类型选择
     const machineType = ref(false);
     const machineShow = () => { machineType.value = true; };
-    const machineSouerList = [
-      { text: t('typeSelectList.whole'), values: '' },
-      { text: t('typeSelectList.MG'), values: '0' },
-      { text: t('typeSelectList.POP'), values: '1' },
+    const machineList = [
+      { text: t('typeSelectList.whole'), value: '' },
+      { text: t('typeSelectList.MG'), value: '0' },
+      { text: t('typeSelectList.POP'), value: '1' },
     ];
-    const machineList = ref([
-      t('typeSelectList.whole'),
-      t('typeSelectList.MG'),
-      t('typeSelectList.POP'),
-    ]);
-    const machineConfirm = (currentValue) => {
-      machines.value = currentValue;
-      const selectPay = machineSouerList.filter(i => i.text === currentValue);
-      if (selectPay && selectPay.length > 0) { searchParams.machineType = selectPay[0].values; }
+    const machineConfirm = ({ selectedOptions }) => {
+      machines.value = selectedOptions[0].text;
+      searchParams.machineType = selectedOptions[0].value;
       machineType.value = false;
       outputDate();
     }
@@ -212,42 +198,24 @@ export default {
     // 支付方式选择
     const payType = ref(false);
     const payShow = () => { payType.value = true; };
-    const paySouerList = [
-      { text: t('typeSelectList.whole'), values: '' },
-      { text: t('typeSelectList.noPaymentRequired'), values: 0 },
-      { text: t('typeSelectList.coin'), values: 1 },
-      { text: t('typeSelectList.notes'), values: 2 },
-      { text: t('typeSelectList.coinsNotes'), values: 3 },
-      { text: t('typeSelectList.creditCard'), values: 4 },
-      { text: t('typeSelectList.electronicPayment'), values: 5 },
-      { text: t('typeSelectList.mainSweepOfAlipay'), values: 'ALIPAY_NATIVE' },
-      { text: t('typeSelectList.weChatScanning'), values: 'WEIXIN_NATIVE' },
-      { text: t('typeSelectList.antiScanningOfAlipay'), values: 'ALIPAY_CARD' },
-      { text: t('typeSelectList.weChatBackScanning'), values: 'WEIXIN_CARD' }
+    const payList = user.ifForeign === '0' ? [
+      { text: t('typeSelectList.whole'), value: '' },
+      { text: t('typeSelectList.mainSweepOfAlipay'), value: 'ALIPAY_NATIVE' },
+      { text: t('typeSelectList.weChatScanning'), value: 'WEIXIN_NATIVE' },
+      { text: t('typeSelectList.antiScanningOfAlipay'), value: 'ALIPAY_CARD' },
+      { text: t('typeSelectList.weChatBackScanning'), value: 'WEIXIN_CARD' }
+    ] : [
+      { text: t('typeSelectList.whole'), value: '' },
+      { text: t('typeSelectList.noPaymentRequired'), value: 0 },
+      { text: t('typeSelectList.coin'), value: 1 },
+      { text: t('typeSelectList.notes'), value: 2 },
+      { text: t('typeSelectList.coinsNotes'), value: 3 },
+      { text: t('typeSelectList.creditCard'), value: 4 },
+      { text: t('typeSelectList.electronicPayment'), value: 5 },
     ];
-    const payList = ref(
-      user.ifForeign === '0' ?
-        [
-          t('typeSelectList.whole'),
-          t('typeSelectList.mainSweepOfAlipay'),
-          t('typeSelectList.weChatScanning'),
-          t('typeSelectList.antiScanningOfAlipay'),
-          t('typeSelectList.weChatBackScanning')
-        ]
-        : [
-          t('typeSelectList.whole'),
-          t('typeSelectList.noPaymentRequired'),
-          t('typeSelectList.coin'),
-          t('typeSelectList.notes'),
-          t('typeSelectList.coinsNotes'),
-          t('typeSelectList.creditCard'),
-          t('typeSelectList.electronicPayment')
-        ]
-    );
-    const payConfirm = (currentValue) => {
-      paymentMethod.value = currentValue;
-      const selectPay = paySouerList.filter(i => i.text === currentValue);
-      if (selectPay && selectPay.length > 0) { searchParams.payType = selectPay[0].values; }
+    const payConfirm = ({ selectedOptions }) => {
+      paymentMethod.value = selectedOptions[0].text;
+      searchParams.payType = selectedOptions[0].value;
       payType.value = false;
       outputDate();
     }
@@ -256,14 +224,14 @@ export default {
     const deviceType = ref(false);
     const deviceShow = () => { deviceType.value = true; };
     const deviceList = ref([]);
-    const equipmentSourceList = ref([]);
-    const deviceConfirm = (currentValue) => {
-      allDevices.value = currentValue;
-      console.log("currentValue", currentValue)
-      if (currentValue != t('typeSelectList.allDevices')) {
-        const selectEquipment = equipmentSourceList.value.filter(i => i.name === currentValue);
+        // const equipmentSourceList = ref([]);
+        const deviceConfirm = ({ selectedOptions }) => {
+      allDevices.value = selectedOptions[0].text;
+      console.log("selectedOptions", selectedOptions)
+      if (selectedOptions[0].name != t('typeSelectList.allDevices')) {
+        const selectEquipment = deviceList.value.filter(i => i.text === selectedOptions[0].text);
         if (selectEquipment && selectEquipment.length > 0) {
-          searchParams.equipmentId = selectEquipment[0].id;
+          searchParams.equipmentId = selectEquipment[0].value;
         }
       } else {
         searchParams.equipmentId = '';
@@ -277,11 +245,9 @@ export default {
       const { data } = await getEquipmentList({ adminId: user.id });
       if (data.code === '00000') {
         deviceList.value = data.data.map(item => {
-          return item.name
+          return { text: item.name != null ? item.name : item.clientId, value: item.id }
         });
-        deviceList.value.unshift(t('typeSelectList.allDevices'));
-        equipmentSourceList.value = data.data;
-        equipmentSourceList.value.unshift({ name: t('typeSelectList.allDevices'), id: null });
+        deviceList.value.unshift({ text: t('typeSelectList.allDevices'), value: '' });
       }
     }
     // 商品选择
@@ -322,25 +288,16 @@ 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'),
-    ]
-    );
-    const orderStatusSouerList = [
-      { text: t('typeSelectList.whole'), values: '' },
-      { text: t('typeSelectList.unpaid'), values: 0 },
-      { text: t('typeSelectList.paid'), values: 1 },
-      { text: t('typeSelectList.refunding'), values: 2 },
-      { text: t('typeSelectList.refunded'), values: 3 },
+    const orderStatusList = [
+      { text: t('typeSelectList.whole'), value: '' },
+      { text: t('typeSelectList.unpaid'), value: 0 },
+      { text: t('typeSelectList.paid'), value: 1 },
+      { text: t('typeSelectList.refunding'), value: 2 },
+      { text: t('typeSelectList.refunded'), value: 3 },
     ];
-    const orderStatusConfirm = (currentValue) => {
-      orderStatusName.value = currentValue;
-      const selectPay = orderStatusSouerList.filter(i => i.text === currentValue);
-      if (selectPay && selectPay.length > 0) { searchParams.status = selectPay[0].values; }
+    const orderStatusConfirm = ({ selectedOptions }) => {
+      orderStatusName.value = selectedOptions[0].text;
+      searchParams.status = selectedOptions[0].value;
       orderStatus.value = false;
       outputDate();
     }

+ 7 - 3
src/main.js

@@ -3,8 +3,8 @@ import {
   ActionBar, ActionBarIcon, ActionBarButton, Divider, Popup, Overlay, Loading, Dialog, ContactCard, Form, AddressEdit,
   AddressList, Field, CellGroup, Cell, SwipeCell, Icon, Stepper, Card, Checkbox, CheckboxGroup, Button, Swipe, SwipeItem,
   PullRefresh, List, Tab, Tabs, SubmitBar, Toast, Skeleton, RadioGroup, Radio, NoticeBar, ActionSheet, Cascader, Col, Row,
-  Slider, DatetimePicker, Switch, Calendar, Picker, Uploader, Tag, DropdownMenu, DropdownItem, Notify, ConfigProvider, NavBar,
-  Area, Popover, Collapse, CollapseItem
+  Slider, DatePicker, Switch, Calendar, Picker, Uploader, Tag, DropdownMenu, DropdownItem, Notify, ConfigProvider, NavBar,
+  Area, Popover, Collapse, CollapseItem, PickerGroup, TimePicker, BackTop, Progress
 } from 'vant';
 import { Image as VanImage } from 'vant';
 import App from './App.vue'
@@ -69,7 +69,7 @@ app.use(ActionBarButton)
   .use(Col)
   .use(Row)
   .use(Slider)
-  .use(DatetimePicker)
+  .use(DatePicker)
   .use(Switch)
   .use(Calendar)
   .use(Picker)
@@ -84,6 +84,10 @@ app.use(ActionBarButton)
   .use(Popover)
   .use(Collapse)
   .use(CollapseItem)
+  .use(PickerGroup)
+  .use(TimePicker)
+  .use(BackTop)
+  .use(Progress)
 
 
 app.use(router)

+ 0 - 28
src/router/index.js

@@ -167,34 +167,6 @@ const router = createRouter({
       component: () => import("@/views/user.vue"),
       meta: { index: 1 },
     },
-    // 备用提现账号
-    {
-      path: "/huifuMch",
-      name: "huifuMch",
-      component: () => import("@/views/huifuMch/index"),
-      meta: { index: 1 },
-    },
-    // 汇付信息修改
-    {
-      path: "/huifuMchEdit",
-      name: "huifuMchEdit",
-      component: () => import("@/views/huifuMch/update"),
-      meta: { index: 1 },
-    },
-    // 上传图片
-    {
-      path: "/upload",
-      name: "upload",
-      component: () => import("@/views/huifuMch/upload"),
-      meta: { index: 1 },
-    },
-    // 提现账号
-    {
-      path: "/joinpayMch",
-      name: "joinpayMch",
-      component: () => import("@/views/joinpayMch/index"),
-      meta: { index: 1 },
-    },
     // 结算账号
     {
       path: "/settlement",

+ 3 - 2
src/service/forgetPassword.js

@@ -1,8 +1,9 @@
-import axios from '../utils/axios'
+import axios from '../utils/axios';
+import { stringToUrl } from '@/common/js/utils';
 
 // 发送验证码
 export function sentForgetCode(params) {
-  return axios.post(`/SZWL-SERVER/tMessageCode/sentForgetCode?ifForeign=${params.ifForeign}&phoneOrEmail=${params.phoneOrEmail}&username=${params.username}`, params);
+  return axios.post(`/SZWL-SERVER/tMessageCode/sentForgetCode?${stringToUrl(params)}`, params);
 }
 
 // 注册

+ 4 - 2
src/service/register.js

@@ -1,8 +1,10 @@
-import axios from '../utils/axios'
+import axios from '../utils/axios';
+import { stringToUrl } from '@/common/js/utils';
+
 
 // 发送验证码
 export function sentRegisterCode(params) {
-  return axios.post(`/SZWL-SERVER/tMessageCode/sentRegisterCode?ifForeign=${params.ifForeign}&phoneOrEmail=${params.phoneOrEmail}`, params);
+  return axios.post(`/SZWL-SERVER/tMessageCode/sentRegisterCode?${stringToUrl(params)}`, params);
 }
 
 // 注册

+ 1 - 1
src/service/user.js

@@ -6,7 +6,7 @@ export function register(params) {
 }
 // 发送验证码
 export function sentRegisterCode(params) {
-  return axios.post(`/SZWL-SERVER/tMessageCode/sentRegisterCode?ifForeign=${params.ifForeign}&phoneOrEmail=${params.phoneOrEmail}`, params);
+  return axios.post(`/SZWL-SERVER/tMessageCode/sentRegisterCode?${stringToUrl(params)}`, params);
 }
 // 获取已有关联上级的名称
 export function tAdminGetRelation(params) {

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

@@ -295,7 +295,7 @@
               text-decoration: underline;
               cursor: pointer;
               font-size: 14px;
-              width: 90%;
+              width: 85%;
             }
 
             // .clickable-link:active {

+ 0 - 7
src/styles/merchantManage/index.less

@@ -1046,7 +1046,6 @@
 
             .van-cell {
                 width: 313px;
-                height: 38px;
                 background-color: rgba(255, 255, 255, 1);
                 padding: 0;
                 color: rgba(168, 168, 197, 1);
@@ -1077,12 +1076,6 @@
                     color: rgba(168, 168, 197, 1);
                 }
 
-                .van-cell__value {
-                    width: 100%;
-                    flex: 0 auto;
-                }
-
-
                 .van-field__label {
                     height: 38px;
                     line-height: 38px;

+ 5 - 4
src/utils/axios.js

@@ -1,6 +1,7 @@
 import Qs from 'qs';
 import axios from 'axios';
-import { Toast } from 'vant';
+// import { Toast } from 'vant';
+import { showLoadingToast, showFailToast  } from 'vant';
 import router from '../router';
 // 导入配置
 import kConfig from './config';
@@ -18,7 +19,7 @@ service.interceptors.request.use(config => {
   // 获取当前语言环境
   const curLang = localStorage.getItem('curLang');
   // 增加用户体验
-  Toast.loading({
+  showLoadingToast({
     message: curLang === 'zh' ? '加载中...' : 'Loading...',
     forbidClick: true,
     duration: 100,
@@ -41,12 +42,12 @@ service.interceptors.response.use(res => {
     if (res.headers['content-type'] === 'application/vnd.ms-excel;charset=utf-8') {
       return Promise.resolve(res);
     }
-    Toast.fail('服务端异常!')
+    showFailToast('服务端异常!')
     return Promise.reject(res)
   }
   if (res.status !== 200) {
     // 请求错误时弹窗提示错误信息
-    if (res.data.message) Toast.fail(res.data.message)
+    if (res.data.message) showFailToast(res.data.message)
     // 请求状态416时为登陆问题跳转登陆界面
     // if (res.data.resultCode == 416) {
     //   router.push({ path: '/login' })

+ 16 - 15
src/views/accountPer/add.vue

@@ -36,12 +36,14 @@
         </div>
         <van-field colon :border="false" @click-input="busiEquipInpClk" readonly clearable
           v-model="cofficentForm.equipmentNames" :label="$t('accountPer.manageMachinesLabel')"
-          :placeholder="$t('accountPer.manageMachinesPlaceholder')">
+          :placeholder="$t('accountPer.manageMachinesPlaceholder')" :rules="[
+            { required: true, message: $t('accountPer.manageMachinesPlaceholder') },
+          ]">
           <template #right-icon>
             <div class="l-flex-RC">
               <van-icon v-if="cofficentForm.equipmentNames" @click="cofficentForm.equipmentNames = ''; equipmentIds = ''"
                 class="o-mr-6" name="clear" />
-              <van-icon @click="busiEquipInpClk" name="arrow-down" />
+              <van-icon @click="busiEquipInpClk" name="arrow" />
             </div>
           </template>
         </van-field>
@@ -71,7 +73,7 @@
 import kSelectPop from "../../components/commom/kSelectPop/index.vue";
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from 'vant';
 import {
   getSysRoleList,
   getEquipmentList,
@@ -136,7 +138,6 @@ export default {
         addParams.equipmentIds = accoutPerSet.equipmentIds;
         havePassword.value = false;
         passwordPlaceholder.value = t('accountPer.editPasswordPlaceholder')
-
       } else {
         pageTitle.value = t("accountPer.addAccount");
         passwordPlaceholder.value = t('accountPer.passwordPlaceholder');
@@ -158,7 +159,7 @@ export default {
           )[0].text;
         }
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 获取机器下拉
@@ -186,7 +187,7 @@ export default {
           cofficentForm.value.equipmentNames = listName.join(",");
         }
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
 
@@ -204,20 +205,21 @@ export default {
         // delete params.password;
         const { data } = await updataLoginUser(params);
         if (data.code === "00000") {
-          Toast.success(t("accountPer.successfullyModifiedTheAccount"));
+          showSuccessToast(t("accountPer.successfullyModifiedTheAccount"));
           // router.push("/accountPer");
           router.replace("/accountPer");
         } else {
-          Toast.fail(t("accountPer.failedToModifyTheAccount"), data.message);
+          showFailToast(t("accountPer.failedToModifyTheAccount"), data.message);
         }
         console.log("onSubmit", data);
       } else {
         const { data } = await addLoginUser(params);
         if (data.code === "00000") {
-          Toast.success(t("accountPer.accountAddedSuccessfully"));
-          router.push("/accountPer");
+          showSuccessToast(t("accountPer.accountAddedSuccessfully"));
+          // router.push("/accountPer");
+          router.replace("/accountPer");
         } else {
-          Toast.fail(t("accountPer.failedToAddAccount"), data.message);
+          showFailToast(t("accountPer.failedToAddAccount"), data.message);
         }
         console.log("onSubmit", data);
       }
@@ -229,11 +231,10 @@ export default {
       };
       const { data } = await deleteLoginUser(params);
       if (data.code === "00000") {
-        Toast.success(t("accountPer.successfullyDeletedTheAccount"));
-        // router.push("/accountPer");
-        router.replace("/accountPer");
+        showSuccessToast(t("accountPer.successfullyDeletedTheAccount"));
+        router.push("/accountPer");
       } else {
-        Toast.fail(t("accountPer.failedToDeleteTheAccount"), data.message);
+        showFailToast(t("accountPer.failedToDeleteTheAccount"), data.message);
       }
     };
     // 点击机器列表

+ 13 - 3
src/views/accountPer/index.vue

@@ -2,6 +2,9 @@
   <!-- 账号权限 -->
   <div class="accountPerPage flex-col">
     <s-header :name="$t('accountPer.accountPermission')" :noback="false"></s-header>
+    <!-- <s-header :name="$t('accountPer.accountPermission')" :noback="false" targetPath="/accountOperation"></s-header> -->
+    <!-- <van-nav-bar :title="$t('accountPer.accountPermission')" left-text="" left-arrow @click-left="onClickLeft" /> -->
+
     <div class="accountPerBox flex-col">
       <div class="searchRow flex-row justify-between">
         <div class="flex-col">
@@ -59,7 +62,7 @@
 import { onMounted, reactive, toRefs, ref } from 'vue';
 import sHeader from "../../components/SimpleHeader";
 import { getChildAdminList } from '../../service/accountPar/index';
-import { Toast } from "vant";
+import { showFailToast } from 'vant';
 import { getLoginUser, styleUrl } from "../../common/js/utils";
 import accountPerSearch from './search.vue';
 import { useRouter } from "vue-router";
@@ -67,6 +70,7 @@ import { useRouter } from "vue-router";
 export default {
   name: 'accountPer',
   components: { sHeader, accountPerSearch },
+  // components: { accountPerSearch },
   setup() {
     const router = useRouter();
     const searchRef = ref(null);
@@ -111,13 +115,18 @@ export default {
       const { data } = await getChildAdminList(Object.assign({}, searchParams));
       if (data.code === "00000") {
         accountPerList.value = accountPerList.value.concat(data.data);
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     };
     // 跳转修改
     const accountClick = (item) => {
       localStorage.setItem('accoutPerSet', JSON.stringify(item));
       router.push('/accountPerAdd');
-    }
+    };
+
+    // 回到上一页 账户操作页
+    // const onClickLeft = () => {
+    //   router.push('/accountOperation');
+    // };
     return {
       searchRef,
       searchClick,
@@ -127,6 +136,7 @@ export default {
       accountPerList,
       ...toRefs(searchParams),
       accountClick,
+      // onClickLeft,
     };
   },
 };

+ 2 - 2
src/views/accountPer/search.vue

@@ -26,7 +26,7 @@
 
 <script>
 import { onMounted, ref } from "vue";
-import { Toast } from "vant";
+import { showFailToast } from 'vant';
 import { getAdminList } from "../../service/accountPar/index";
 import { getLoginUser, styleUrl } from "../../common/js/utils";
 
@@ -60,7 +60,7 @@ export default {
           return { text: item.username, value: item.username };
         });
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     const showSearch = () => {

+ 24 - 21
src/views/advertManage/adSet.vue

@@ -11,8 +11,7 @@
               message: $t('advertManage.advertisingNamePlaceholder'),
             },
           ]" />
-        <van-field v-model="adInfo.adminId" name="adminId"
-          :label="`${$t('advertManage.affiliatedMerchantsLabel')}:`"
+        <van-field v-model="adInfo.adminId" name="adminId" :label="`${$t('advertManage.affiliatedMerchantsLabel')}:`"
           :placeholder="$t('advertManage.affiliatedMerchantsPlaceholder')" />
         <van-field v-model="adInfo.orders" name="orders" type="number"
           :label="`${$t('advertManage.advertisingOrderLabel')}:`"
@@ -126,7 +125,7 @@
     </div>
     <!-- 机器类型选择框 -->
     <van-popup v-model:show="busiPopShow" position="bottom">
-      <van-picker :default-index="busiDefaIdx" :title="$t('advertManage.machineTypePlace')" :columns="busiPopList"
+      <van-picker v-model="busiDefaIdx" :title="$t('advertManage.machineTypePlace')" :columns="busiPopList"
         :columns-field-names="busiPopFieldName" @confirm="busiPopConfirm" @cancel="busiPopShow = false" />
     </van-popup>
   </div>
@@ -137,7 +136,7 @@ import { onMounted, ref, reactive } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import { addAdInfo, updateAdInfo } from "../../service/advertManage";
 import { useRouter } from "vue-router";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from 'vant';
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../../common/js/utils";
 
@@ -150,7 +149,7 @@ export default {
     };
     // 机器类型
     const busiPopShow = ref(false);
-    const busiDefaIdx = ref(0);
+    const busiDefaIdx = ref(["280"]);
     const busiPopList = reactive([
       {
         name: "280",
@@ -185,12 +184,12 @@ export default {
         id: "330en",
       },
       {
-        name: "POP320",
-        id: "POP320",
+        name: "P30",
+        id: "P30",
       },
       {
-        name: "POP320en",
-        id: "POP320en",
+        name: "P30en",
+        id: "P30en",
       },
     ]);
     const busiPopFieldName = reactive({
@@ -198,8 +197,8 @@ export default {
       value: "id",
     });
     // 点击机器类型的弹窗确定
-    const busiPopConfirm = (e) => {
-      adInfo.value.equipmentType = e.id;
+    const busiPopConfirm = ({ selectedOptions }) => {
+      adInfo.value.equipmentType = selectedOptions[0].id;
       busiPopShow.value = false;
     };
     const { t } = useI18n();
@@ -253,12 +252,16 @@ export default {
         adInfo.value.mediaPreview = adverInfo.mediaPreview;
         adInfo.value.equipmentType = adverInfo.equipmentType;
         // 找到机器类型的下标
-        busiPopList.forEach((item, index) => {
-          if (item.id === adverInfo.equipmentType) {
-            busiDefaIdx.value = index;
-          }
-        });
-        console.log(adInfo.value);
+        // busiPopList.forEach((item, index) => {
+        //   console.log(item, index);
+        //   console.log(adverInfo.equipmentType);
+
+        //   if (item.id == adverInfo.equipmentType) {
+        //     busiDefaIdx.value = index;
+        //   }
+        // });
+        busiDefaIdx.value = [adverInfo.equipmentType];
+        // console.log(adInfo.value);
       } else {
         pageTitle.value = t("advertManage.addAds");
       }
@@ -269,20 +272,20 @@ export default {
         const params = Object.assign({}, adInfo.value);
         const { data } = await updateAdInfo(params);
         if (data.code === "00000") {
-          Toast.success(t("advertManage.successfullyModifiedTheAdvertisement"));
+          showSuccessToast(t("advertManage.successfullyModifiedTheAdvertisement"));
           router.push({ path: "advertManage" });
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
         console.log("updateAdFun", data);
       } else {
         const params = Object.assign({}, adInfo.value);
         const { data } = await addAdInfo(params);
         if (data.code === "00000") {
-          Toast.success(t("advertManage.advertisementAddedSuccessfully"));
+          showSuccessToast(t("advertManage.advertisementAddedSuccessfully"));
           router.push({ path: "advertManage" });
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
     };

+ 3 - 3
src/views/advertManage/advertRule/add.vue

@@ -62,7 +62,7 @@ import { useI18n } from "vue-i18n";
 import { onMounted, ref, reactive } from "vue";
 import { useRoute, useRouter } from "vue-router";
 import { useStore } from "vuex";
-import { Toast } from "vant";
+import { showToast } from 'vant';
 export default {
   name: "advertRuleAdd",
   components: { sHeader },
@@ -172,7 +172,7 @@ export default {
         Api_postUpdateAdRule(param).then((res) => {
           console.log(res);
           if (res.data.code === "00000") {
-            Toast(res.data.message);
+            showToast(res.data.message);
             setTimeout(() => {
               router.back();
             }, 1000);
@@ -186,7 +186,7 @@ export default {
         };
         Api_postAddAdRule(param).then((res) => {
           if (res.data.code === "00000") {
-            Toast(res.data.message);
+            showToast(res.data.message);
             setTimeout(() => {
               router.back();
             }, 1000);

+ 16 - 16
src/views/advertManage/advertRule/add1.vue

@@ -124,7 +124,7 @@ import {
 } from "@/service/advertManage";
 import sHeader from "@/components/SimpleHeader";
 import { onMounted, reactive, ref, toRefs } from "vue";
-import { Toast } from "vant";
+import { showToast } from 'vant';
 import { useRoute, useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
 export default {
@@ -220,7 +220,7 @@ export default {
         Api_postUpdateAdRule(param).then((res) => {
           console.log(res);
           if (res.data.code === "00000") {
-            Toast(res.data.message);
+            showToast(res.data.message);
             setTimeout(() => {
               router.back();
             }, 1000);
@@ -234,7 +234,7 @@ export default {
         Api_postAddAdRule(param).then((res) => {
           console.log(res);
           if (res.data.code === "00000") {
-            Toast(res.data.message);
+            showToast(res.data.message);
             setTimeout(() => {
               router.back();
             }, 1000);
@@ -286,12 +286,12 @@ export default {
         id: "330en",
       },
       {
-        name: "POP320",
-        id: "POP320",
+        name: "P30",
+        id: "P30",
       },
       {
-        name: "POP320en",
-        id: "POP320en",
+        name: "P30en",
+        id: "P30en",
       },
     ]);
     const busiPopFieldName = reactive({
@@ -321,16 +321,16 @@ export default {
           break;
       }
     };
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
       busiPopShow.value = false;
       switch (selectType.value) {
         case 1:
-          cofficentForm.Atype = e.name;
+          cofficentForm.Atype = selectedOptions[0].name;
           // 查询广告实体
           getList(0);
           break;
         case 3:
-          cofficentForm.Btype = e.name;
+          cofficentForm.Btype = selectedOptions[0].name;
           // 查询广告实体
           getList(1);
           break;
@@ -401,14 +401,14 @@ export default {
       text: "name",
       value: "id",
     });
-    const screenPopConfirm = (e) => {
-      if (e) {
+    const screenPopConfirm = ({ selectedOptions }) => {
+      if (selectedOptions[0] != null) {
         if (ABScreen.value === 0) {
-          cofficentForm.AId = e.id;
-          cofficentForm.AName = e.name;
+          cofficentForm.AId = selectedOptions[0].id;
+          cofficentForm.AName = selectedOptions[0].name;
         } else {
-          cofficentForm.BId = e.id;
-          cofficentForm.BName = e.name;
+          cofficentForm.BId = selectedOptions[0].id;
+          cofficentForm.BName = selectedOptions[0].name;
         }
       }
       screenPopShow.value = false;

+ 4 - 4
src/views/advertManage/advertRule/index.vue

@@ -99,7 +99,7 @@ import {
 import { computed, onMounted, reactive, ref, toRefs } from "vue";
 import sHeader from "../../../components/SimpleHeader";
 import { useRouter } from "vue-router";
-import { Toast } from "vant";
+import { showToast } from 'vant';
 import { useI18n } from "vue-i18n";
 export default {
   components: { sHeader, kDialog },
@@ -110,7 +110,7 @@ export default {
     // 点击确认删除
     const noticeClk = () => {
       if (selectTotals.value < 1) {
-        Toast(t("advertManage.delTips"));
+        showToast(t("advertManage.delTips"));
         return;
       }
       kDialogRef.value.openDialog();
@@ -130,7 +130,7 @@ export default {
         console.log(res);
         if (res.data.code === '00000') {
           isDelete.value = false;
-          Toast(res.data.message);
+          showToast(res.data.message);
           setTimeout(() => {
             onRefresh();
           }, 500);
@@ -240,7 +240,7 @@ export default {
     const pushRuleClk = (id) => {
       Api_getPushAdRule({ id }).then((res) => {
         if (res.data.code === "00000") {
-          Toast("推送成功");
+          showToast("推送成功");
         }
       });
     };

+ 7 - 7
src/views/advertManage/advertRule/screen.vue

@@ -125,12 +125,12 @@ export default {
         id: "330en",
       },
       {
-        name: "POP320",
-        id: "POP320",
+        name: "P30",
+        id: "P30",
       },
       {
-        name: "POP320en",
-        id: "POP320en",
+        name: "P30en",
+        id: "P30en",
       },
     ]);
     const busiPopFieldName = reactive({
@@ -202,10 +202,10 @@ export default {
     const busiInpClk = () => {
       busiPopShow.value = true;
     };
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
       busiPopShow.value = false;
-      console.log("e", e);
-      cofficentForm.type = e.name;
+      // console.log("e", e);
+      cofficentForm.type = selectedOptions[0].id;
     };
     const busiPopCancel = () => {
       busiPopShow.value = false;

+ 4 - 4
src/views/advertManage/index.vue

@@ -98,7 +98,7 @@ import kDialog from "@/components/commom/kDialog/index.vue";
 import { getAdList, Api_getDelAd } from "@/service/advertManage";
 import { onMounted, reactive, ref, computed } from "vue";
 import sHeader from "@/components/SimpleHeader";
-import { Toast } from "vant";
+import { showFailToast, showToast } from 'vant';
 import dateUtil from "@/utils/dateUtil";
 import { useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
@@ -124,7 +124,7 @@ export default {
         console.log(res);
         if (res.data.code === '00000') {
           isDelete.value = false;
-          Toast(res.data.message);
+          showToast(res.data.message);
           setTimeout(() => {
             Init();
           }, 500);
@@ -134,7 +134,7 @@ export default {
     // 点击确认删除
     const noticeClk = () => {
       if (selectTotals.value < 1) {
-        Toast(t("advertManage.delTips"));
+        showToast(t("advertManage.delTips"));
         return;
       }
       kDialogRef.value.openDialog();
@@ -191,7 +191,7 @@ export default {
           finished.value = true;
         }
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     const isAdImgUrl = (item) => {

+ 126 - 124
src/views/alarmHistory/historySearch.vue

@@ -1,141 +1,143 @@
 <template>
 	<!-- 报警历史 - 搜索弹窗 -->
 	<div class="codeSearch flex-col">
-	  <van-popup v-model:show="sheetShow" round class="codeSearchPopup">
-		<div class="content">
-		  <van-form @submit="onSubmit">
-			<van-field v-model="clientId" name="clientId" :label="$t('alarmHistory.equipmentNoLabel')"
-			  :placeholder="$t('alarmHistory.equipmentNoPlaceholder')" />
-			<van-field v-model="name" name="name" :label="$t('alarmHistory.equipmentNameLabel')"
-			  :placeholder="$t('alarmHistory.equipmentNamePlaceholder')" />
-			<div class="van-cell van-field">
-			  <div class="van-cell__title van-field__label">
-				<label id="van-field-4-label" for="van-field-4-input">{{ $t('alarmHistory.alarmTime') }}</label>
-			  </div>
-			  <div class="van-cell__value van-field__value">
-				<div class="van-field__body">
-				  <input type="text" class="van-field__control" :placeholder="$t('alarmHistory.startTime')"
-					style="text-align: center; width: 50%;" v-model="createStartDate" @click="createStartDateClick()" />
-				  <span>{{ $t('alarmHistory.to') }}</span>
-				  <input type="text" class="van-field__control" :placeholder="$t('alarmHistory.endTime')"
-					style="text-align: center; width: 50%;" v-model="createEndDate" @click="createEndDateClick()" />
-				</div>
-			  </div>
+		<van-popup v-model:show="sheetShow" round class="codeSearchPopup">
+			<div class="content">
+				<van-form @submit="onSubmit">
+					<van-field v-model="clientId" name="clientId" :label="$t('alarmHistory.equipmentNoLabel')"
+						:placeholder="$t('alarmHistory.equipmentNoPlaceholder')" />
+					<van-field v-model="name" name="name" :label="$t('alarmHistory.equipmentNameLabel')"
+						:placeholder="$t('alarmHistory.equipmentNamePlaceholder')" />
+					<div class="van-cell van-field">
+						<div class="van-cell__title van-field__label">
+							<label id="van-field-4-label" for="van-field-4-input">{{ $t('alarmHistory.alarmTime') }}</label>
+						</div>
+						<div class="van-cell__value van-field__value">
+							<div class="van-field__body">
+								<input type="text" class="van-field__control" :placeholder="$t('alarmHistory.startTime')"
+									style="text-align: center; width: 50%;" v-model="createStartDate"
+									@click="createStartDateClick()" />
+								<span>{{ $t('alarmHistory.to') }}</span>
+								<input type="text" class="van-field__control" :placeholder="$t('alarmHistory.endTime')"
+									style="text-align: center; width: 50%;" v-model="createEndDate"
+									@click="createEndDateClick()" />
+							</div>
+						</div>
+					</div>
+					<!-- 操作 -->
+					<van-row justify="space-around" style="padding: 1em;">
+						<van-button span="5" round type="primary" style="height: 2em; padding: 0 2em;"
+							native-type="submit">{{
+								$t('alarmHistory.clickQuery') }}</van-button>
+					</van-row>
+				</van-form>
 			</div>
-			<!-- 操作 -->
-			<van-row justify="space-around" style="padding: 1em;">
-			  <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em;"
-				native-type="submit">{{ $t('alarmHistory.clickQuery') }}</van-button>
-			</van-row>
-		  </van-form>
-		</div>
-	  </van-popup>
-	  <van-popup v-model:show="createStartDateShow" round position="bottom">
-      <van-datetime-picker type="datehour" :title="$t('alarmHistory.selectFullTime')"
-        :min-date="minDate" :max-date="maxDate" @confirm="createStartDateConFirm($event)"
-        @cancel="createStartDateShow = false" />
-      <!-- 			<van-datetime-picker v-model="createStartDate" type="datetime" :title="$t('alarmHistory.selectFullTime')"
-              @confirm="createStartDateConFirm($event)" @cancel="createStartDateCancel()" :min-date="minDate" /> -->
-    </van-popup>
-    <van-popup v-model:show="createEndDateShow" round position="bottom">
-      <van-datetime-picker type="datehour" :title="$t('alarmHistory.selectFullTime')"
-        :min-date="minDate" :max-date="maxDate" @confirm="createEndDateConFirm($event)" @cancel="createEndDateShow = false" />
-      <!-- 			<van-datetime-picker v-model="createEndDate" type="datetime" :title="$t('alarmHistory.selectFullTime')"
-              @confirm="createEndDateConFirm($event)" @cancel="createEndDateCancel()" :min-date="minDate" /> -->
-    </van-popup>
+		</van-popup>
+
+		<van-popup v-model:show="createStartDateShow" position="bottom">
+			<van-date-picker :title="$t('alarmHistory.selectFullTime')" :min-date="minDate" :max-date="maxDate"
+				@confirm="createStartDateConFirm($event)" @cancel="createStartDateShow = false" />
+		</van-popup>
+
+		<van-popup v-model:show="createEndDateShow" position="bottom">
+			<van-date-picker :title="$t('alarmHistory.selectFullTime')" :min-date="minDate" :max-date="maxDate"
+				@confirm="createEndDateConFirm($event)" @cancel="createEndDateShow = false" />
+		</van-popup>
 	</div>
-  </template>
+</template>
   
-  <script>
-  import {
+<script>
+import {
 	ref
-  } from 'vue';
-  import dateUtil from "@/utils/dateUtil";
-  import { styleUrl } from "../../common/js/utils";
-  
-  export default {
+} from 'vue';
+import dateUtil from "@/utils/dateUtil";
+import { styleUrl } from "../../common/js/utils";
+
+export default {
 	name: 'historySearch',
 	components: {},
 	setup(prop, context) {
-	  const sheetShow = ref(false);
-	  const minDate = new Date(2018, 0, 1);
-	  const maxDate = new Date();
-	  // 加载样式
-	  styleUrl('alarmHistory');
-	  const showSearch = () => {
-		sheetShow.value = true;
-	  };
-	  const clientId = ref('');
-	  const name = ref('');
-	  // 创建开始时间
-	  const createStartDate = ref('');
-	  const createStartDateShow = ref(false);
-	  const createStartDateClick = () => {
-		createStartDateShow.value = true;
-	  }
-	  const createStartDateConFirm = (data) => {
-		createStartDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
-		createStartDateShow.value = false;
-	  }
-	  const createStartDateCancel = () => {
-		createStartDate.value = dateUtil.formateDate(new Date(createStartDate.value), "yyyy-MM-dd hh:mm:ss");
-		createStartDateShow.value = false;
-	  }
-	  // 创建结束时间
-	  const createEndDate = ref('');
-	  const createEndDateShow = ref(false);
-	  const createEndDateClick = () => {
-		createEndDateShow.value = true;
-	  }
-	  const createEndDateConFirm = (data) => {
-		createEndDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
-		createEndDateShow.value = false;
-	  }
-	  const createEndDateCancel = () => {
-		createEndDate.value = dateUtil.formateDate(new Date(createEndDate.value), "yyyy-MM-dd hh:mm:ss");
-		createEndDateShow.value = false;
-	  }
-	  // 提交搜索表单触发搜索
-	  const onSubmit = () => {
-		const searchParam = {};
-		if (clientId.value !== '') {
-		  searchParam.clientId = clientId.value;
+		const sheetShow = ref(false);
+		const minDate = new Date(2018, 0, 1);
+		const maxDate = new Date();
+		// 加载样式
+		styleUrl('alarmHistory');
+		const showSearch = () => {
+			sheetShow.value = true;
+		};
+		const clientId = ref('');
+		const name = ref('');
+		// 创建开始时间
+		const createStartDate = ref('');
+		const createStartDateShow = ref(false);
+		const createStartDateClick = () => {
+			createStartDateShow.value = true;
+		}
+		const createStartDateConFirm = ({ selectedValues }) => {
+			// createStartDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
+			createStartDate.value = selectedValues.join("-") + " 00:00:00";
+			createStartDateShow.value = false;
+		}
+		const createStartDateCancel = () => {
+			// createStartDate.value = dateUtil.formateDate(new Date(createStartDate.value), "yyyy-MM-dd hh:mm:ss");
+			createStartDateShow.value = false;
+		}
+		// 创建结束时间
+		const createEndDate = ref('');
+		const createEndDateShow = ref(false);
+		const createEndDateClick = () => {
+			createEndDateShow.value = true;
 		}
-		if (name.value !== '') {
-		  searchParam.name = name.value;
+		const createEndDateConFirm = ({ selectedValues }) => {
+			// createEndDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
+			createEndDate.value = selectedValues.join("-") + " 23:59:59";
+			createEndDateShow.value = false;
 		}
-		if (createStartDate.value !== '') {
-		  searchParam.startDate = dateUtil.formateDate(new Date(createStartDate.value),
-			"yyyy/MM/dd hh:mm:ss");
+		const createEndDateCancel = () => {
+			// createEndDate.value = dateUtil.formateDate(new Date(createEndDate.value), "yyyy-MM-dd hh:mm:ss");
+			createEndDateShow.value = false;
 		}
-		if (createEndDate.value !== '') {
-		  searchParam.endDate = dateUtil.formateDate(new Date(createEndDate.value), "yyyy/MM/dd hh:mm:ss");
+		// 提交搜索表单触发搜索
+		const onSubmit = () => {
+			const searchParam = {};
+			if (clientId.value !== '') {
+				searchParam.clientId = clientId.value;
+			}
+			if (name.value !== '') {
+				searchParam.name = name.value;
+			}
+			if (createStartDate.value !== '') {
+				searchParam.startDate = dateUtil.formateDate(new Date(createStartDate.value),
+					"yyyy/MM/dd hh:mm:ss");
+			}
+			if (createEndDate.value !== '') {
+				searchParam.endDate = dateUtil.formateDate(new Date(createEndDate.value), "yyyy/MM/dd hh:mm:ss");
+			}
+			context.emit('search', searchParam);
+			sheetShow.value = false;
 		}
-		context.emit('search', searchParam);
-		sheetShow.value = false;
-	  }
-	  return {
-		sheetShow,
-		minDate,
-		maxDate,
-		showSearch,
-		clientId,
-		name,
-		createStartDate,
-		createStartDateShow,
-		createStartDateClick,
-		createStartDateConFirm,
-		createStartDateCancel,
-		createEndDate,
-		createEndDateShow,
-		createEndDateClick,
-		createEndDateConFirm,
-		createEndDateCancel,
-		onSubmit
-	  };
+		return {
+			sheetShow,
+			minDate,
+			maxDate,
+			showSearch,
+			clientId,
+			name,
+			createStartDate,
+			createStartDateShow,
+			createStartDateClick,
+			createStartDateConFirm,
+			createStartDateCancel,
+			createEndDate,
+			createEndDateShow,
+			createEndDateClick,
+			createEndDateConFirm,
+			createEndDateCancel,
+			onSubmit
+		};
 	},
-  };
-  </script>
+};
+</script>
   
-  <style lang="less" scoped></style>
+<style lang="less" scoped></style>
   

+ 2 - 2
src/views/alarmHistory/index.vue

@@ -61,7 +61,7 @@ import historySearch from './historySearch.vue';
 import { getAlarmHistoryList, getEquipmentList } from "@/service/alarmHistory";
 import { getLoginUser } from "@/common/js/utils";
 import dateUtil from "@/utils/dateUtil";
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { useI18n } from 'vue-i18n';
 import { styleUrl } from "../../common/js/utils";
 
@@ -143,7 +143,7 @@ export default {
         }
         loading.value = false;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     const showDateTime = (date) => {

+ 13 - 10
src/views/apkManage/add.vue

@@ -98,7 +98,7 @@
     </van-form>
     <!-- 型号选择框 -->
     <van-popup v-model:show="busiPopShow" position="bottom">
-      <van-picker :default-index="busiDefaIdx" :title="$t('apkManage.add.version')" :columns="busiPopList"
+      <van-picker v-model="busiDefaIdx" :title="$t('apkManage.add.version')" :columns="busiPopList"
         :columns-field-names="busiPopFieldName" @confirm="busiPopConfirm" @cancel="busiPopShow = false" />
     </van-popup>
   </div>
@@ -110,7 +110,7 @@
 import { Api_postAddApk, Api_postUpdateApk } from "@/service/apkManage";
 import sHeader from "@/components/SimpleHeader";
 import { reactive, onMounted, ref } from "vue";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useRoute, useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../../common/js/utils";
@@ -131,6 +131,7 @@ export default {
         // 转换成字符串
         cofficentForm.value.isForce = cofficentForm.value.isForce + '';
         cofficentForm.value.modelName = row.model;
+        busiDefaIdx.value = [row.model];
       }
     });
     // 表单参数
@@ -157,13 +158,14 @@ export default {
       }
       const { data } = res;
       if (data.code === "00000") {
-        Toast(data.message);
+        showToast(data.message);
         setTimeout(() => {
           router.back();
         }, 500);
       }
     };
     // 型号选择框框
+    const busiDefaIdx = ref(["301ch"]);
     const busiPopShow = ref(false);
     const busiPopList = reactive([
       {
@@ -199,12 +201,12 @@ export default {
         id: "280en",
       },
       {
-        name: "POP320ch",
-        id: "POP320ch",
+        name: "P30ch",
+        id: "P30ch",
       },
       {
-        name: "POP320en",
-        id: "POP320en",
+        name: "P30en",
+        id: "P30en",
       }
     ]);
     const busiPopFieldName = reactive({
@@ -215,9 +217,9 @@ export default {
     const busiInpClk = () => {
       busiPopShow.value = true;
     };
-    const busiPopConfirm = (e) => {
-      cofficentForm.value.model = e.id;
-      cofficentForm.value.modelName = e.name;
+    const busiPopConfirm = ({ selectedOptions }) => {
+      cofficentForm.value.model = selectedOptions[0].id;
+      cofficentForm.value.modelName = selectedOptions[0].name;
       busiPopShow.value = false;
     };
     return {
@@ -229,6 +231,7 @@ export default {
       busiPopFieldName,
       busiInpClk,
       busiPopConfirm,
+      busiDefaIdx
     };
   },
 };

+ 3 - 3
src/views/apkManage/index.vue

@@ -104,7 +104,7 @@ import {
 import { computed, onMounted, reactive, ref, toRefs } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { useRouter } from "vue-router";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../../common/js/utils";
 export default {
@@ -116,7 +116,7 @@ export default {
     // 点击确认删除
     const noticeClk = () => {
       if (selectTotals.value < 1) {
-        Toast(t("advertManage.delTips"));
+        showToast(t("advertManage.delTips"));
         return;
       }
       kDialogRef.value.openDialog();
@@ -136,7 +136,7 @@ export default {
         console.log(res);
         if (res.data.code === '00000') {
           isDelete.value = false;
-          Toast(res.data.message);
+          showToast(res.data.message);
           setTimeout(() => {
             onRefresh(1);
           }, 500);

+ 16 - 35
src/views/bindWechat.vue

@@ -1,42 +1,23 @@
 <template>
   <!-- 绑定微信 -->
   <div class="bindWechat">
-    <s-header
-        :name="$t('wechat.headerName')"
-        :noback="false"
-    ></s-header>
+    <s-header :name="$t('wechat.headerName')" :noback="false"></s-header>
     <div class="loginFormBox">
       <van-form @submit="onSubmit">
         <!-- 微信头像 -->
         <div style="display: flex;justify-content: center;align-items: center">
-          <van-image
-              width="100px"
-              height="100px"
-              :src="wechatInfo.avatarUrl"
-              fit="cover"
-              radius="50%"
-              style="margin: auto"
-          />
+          <van-image width="100px" height="100px" :src="wechatInfo.avatarUrl" fit="cover" radius="50%"
+            style="margin: auto" />
         </div>
         <br>
         <br>
         <br>
         <div class="buttonBox">
           <!-- 取消绑定微信,返回登录页 -->
-          <van-button
-              round
-              type="primary"
-              class="register"
-              @click="cancelClick"
-          >{{ $t('bindWechat.cancel') }}
+          <van-button round type="primary" class="register" @click="cancelClick">{{ $t('bindWechat.cancel') }}
           </van-button>
           <!-- 用户回车,默认触发 form 表单提交操作 -->
-          <van-button
-              round
-              type="primary"
-              native-type="submit"
-              id="bind-btn"
-          >{{ $t('bindWechat.bindCommit') }}
+          <van-button round type="primary" native-type="submit" id="bind-btn">{{ $t('bindWechat.bindCommit') }}
           </van-button>
         </div>
 
@@ -46,20 +27,20 @@
 </template>
 
 <script>
-import {onMounted, reactive, ref} from "vue";
-import {Toast} from "vant";
-import {bindWechat, getAvatar} from "@/service/bindWechat";
-import {setLocal, getLocal, navigatorLanguage, getLoginUser, styleUrl} from "@/common/js/utils";
+import { onMounted, reactive, ref } from "vue";
+import { showSuccessToast, showFailToast } from 'vant';
+import { bindWechat, getAvatar } from "@/service/bindWechat";
+import { setLocal, getLocal, navigatorLanguage, getLoginUser, styleUrl } from "@/common/js/utils";
 import sHeader from "@/components/SimpleHeader";
 import logiLogoImgUrl from "@/assets/login/logo.png";
-import {useRouter} from "vue-router";
-import {useI18n} from "vue-i18n";
+import { useRouter } from "vue-router";
+import { useI18n } from "vue-i18n";
 
 export default {
   setup: function () {
     let languageName = ref(getLocal("curLang"));
     // eslint-disable-next-line no-unused-vars
-    const {t} = useI18n();
+    const { t } = useI18n();
 
     const checked = ref(false); // 是否记住密码状态
     const userName = ref("");
@@ -97,13 +78,13 @@ export default {
           // 在当前窗口打开链接
           window.location.href = data.data;
           // 绑定成功
-          Toast.success("绑定成功")
+          showSuccessToast("绑定成功")
         } else {
-          Toast.fail("调用微信授权失败");
+          showFailToast("调用微信授权失败");
         }
       } catch (error) {
         console.error(error);
-        Toast.fail("绑定失败");
+        showFailToast("绑定失败");
       }
     };
 
@@ -133,7 +114,7 @@ export default {
       wechatInfo
     };
   },
-  components: {sHeader},
+  components: { sHeader },
 };
 </script>
 

+ 4 - 4
src/views/changePassword.vue

@@ -21,7 +21,7 @@
 <script>
 import md5 from 'js-md5';
 import { ref } from 'vue';
-import { Toast } from 'vant';
+import { showToast, showFailToast } from 'vant';
 import sHeader from "@/components/SimpleHeader";
 // import { useRouter, useRoute } from "vue-router";
 import { useRouter } from "vue-router";
@@ -44,7 +44,7 @@ export default {
     // 验证-表单
     const changePasswordSubmit = async () => {
       if (password.value !== passwordCheck.value) {
-        Toast.fail(t('changePassword.inconsistentPasswords'));
+        showFailToast(t('changePassword.inconsistentPasswords'));
         return false;
       }
       const { data } = await updatePassword({
@@ -53,10 +53,10 @@ export default {
         password: md5(password.value)
       });
       if (data.code === '00000') {
-        Toast(t('changePassword.pwdEditSucess'));
+        showToast(t('changePassword.pwdEditSucess'));
         router.push({ path: '/login' });
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     return {

+ 32 - 33
src/views/device/alarmClock.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 设备定时开关列表 -->
-  <div class="clockPage flex-col">
+  <div class="pageClock flex-col">
     <s-header :name="$t('device.timeSwitch')" :noback="false"></s-header>
     <div class="bd1 flex-col">
       <div class="section5 flex-col">
@@ -9,47 +9,44 @@
             <div class="layer1 flex-row justify-between" @click="addAlarmClock">
               <div class="bd2"></div>
               <div class="TextGroup1 flex-col">
-                <span class="word2">{{$t('device.addAlarmClock')}}</span>
+                <span class="word2">{{ $t('device.addAlarmClock') }}</span>
               </div>
             </div>
           </div>
         </div>
-        <img
-          class="img2"
-          referrerpolicy="no-referrer"
-          src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a"
-        />
+        <img class="img2" referrerpolicy="no-referrer"
+          src="https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPng8947935ab81635fdedd8124b11e305eef66286421b69c84fef22233014a3fa9a" />
       </div>
-      <div v-for="(item, index) in list" :key="index" >
+      <div v-for="(item, index) in list" :key="index">
         <div class="section6 l-flex-between kBordBott">
           <div class="TextGroup2 flex-col">
             <div class="bd3 flex-col justify-between">
-              <span class="word3">{{item.hour.slice(0,5)}}</span> <span class="info2">{{showWeek(item.week)}}</span>
+              <span class="word3">{{ item.hour.slice(0, 5) }}</span> <span class="info2">{{ showWeek(item.week) }}</span>
             </div>
           </div>
           <div class="TextGroup3 flex-col">
             <div class="main2 flex-col justify-between">
-              <span class="word4">{{item.name}}</span>
-              <span class="txt3">{{showTypeText(item.type)}}</span>
+              <span class="word4">{{ item.name }}</span>
+              <span class="txt3">{{ showTypeText(item.type) }}</span>
             </div>
           </div>
           <div class="ImageText2 flex-col">
             <div class="group3 flex-row justify-between" @click="deleteAlarm(item.id)">
               <div class="group4 flex-col"></div>
               <div class="TextGroup4 flex-col">
-                <span class="info3">{{$t('device.delete')}}</span>
+                <span class="info3">{{ $t('device.delete') }}</span>
               </div>
             </div>
           </div>
           <div class="bd4 flex-col justify-between">
             <div class="outer1 flex-row justify-between" @click="setAlarm(item)">
               <div class="main3 flex-col"></div>
-              <span class="word5">{{$t('device.modify')}}</span>
+              <span class="word5">{{ $t('device.modify') }}</span>
             </div>
             <span :class="{
-              'word6' : item.status === '1',
-              'word6 close' : item.status !== '1'
-              }">{{item.status === '1' ? $t('device.opened') : $t('device.closed')}}</span>
+              'word6': item.status === '1',
+              'word6 close': item.status !== '1'
+            }">{{ item.status === '1' ? $t('device.opened') : $t('device.closed') }}</span>
           </div>
         </div>
       </div>
@@ -60,7 +57,7 @@
 import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { getAlaramClockList, deleteAlaramClock } from '@/service/device'
-import { Toast } from 'vant';
+import { showFailToast, showSuccessToast } from 'vant';
 import { getLoginUser, styleUrl } from '@/common/js/utils';
 import { useRoute, useRouter } from 'vue-router';
 import { useI18n } from 'vue-i18n';
@@ -75,20 +72,20 @@ export default {
     // 初始化页面获取列表
     onMounted(async () => {
       // 加载样式
-        styleUrl('alarmClock');
-        getAlaramClockListFun();
+      styleUrl('alarmClock');
+      getAlaramClockListFun();
     });
 
-     // 获取设备列表数据
+    // 获取设备列表数据
     const getAlaramClockListFun = async () => {
-      const { data } = await getAlaramClockList({adminId : user.id});
+      const { data } = await getAlaramClockList({ adminId: user.id });
       if (data.code) {
         list.value = data.data;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
 
     const addAlarmClock = () => {
-      router.push({ path: 'alarmClockAdd', query: { deviceId: route.query.deviceId }})
+      router.push({ path: 'alarmClockAdd', query: { deviceId: route.query.deviceId } })
     }
 
     const showTypeText = (e) => {
@@ -100,13 +97,16 @@ export default {
     }
 
     const showWeek = (e) => {
-      if(e.indexOf('1') > -1 && e.indexOf('2') > -1 && e.indexOf('3') > -1 && e.indexOf('4') > -1 && e.indexOf('5') > -1 && e.indexOf('6') > -1 && e.indexOf('7') > -1) {
+      // if (e === '1,2,3,4,5,6,7,') { return t('device.everyDay') }
+      if (e.indexOf('1') > -1 && e.indexOf('2') > -1 && e.indexOf('3') > -1 && e.indexOf('4') > -1 && e.indexOf('5') > -1 && e.indexOf('6') > -1 && e.indexOf('7') > -1) {
         return t('device.everyDay')
       }
-      if(e.indexOf('1') > -1 && e.indexOf('2') > -1 && e.indexOf('3') > -1 && e.indexOf('4') > -1 && e.indexOf('5') > -1 && e.indexOf('6') == -1 && e.indexOf('7') == -1 ) {
+      if (e.indexOf('1') > -1 && e.indexOf('2') > -1 && e.indexOf('3') > -1 && e.indexOf('4') > -1 && e.indexOf('5') > -1 && e.indexOf('6') == -1 && e.indexOf('7') == -1) {
         return t('device.weekday2')
       }
-      if(e.indexOf('1') == -1 && e.indexOf('2') == -1 && e.indexOf('3') == -1 && e.indexOf('4') == -1 && e.indexOf('5') == -1 &&e.indexOf('6') > -1 && e.indexOf('7') > -1) {
+      // if (e === '1,2,3,4,5,') { return t('device.weekday2') }
+      // if (e === '6,7,') { return t('device.weekend2') }
+      if (e.indexOf('1') == -1 && e.indexOf('2') == -1 && e.indexOf('3') == -1 && e.indexOf('4') == -1 && e.indexOf('5') == -1 && e.indexOf('6') > -1 && e.indexOf('7') > -1) {
         return t('device.weekend2')
       }
       let retVal = '';
@@ -121,18 +121,18 @@ export default {
     }
 
     const deleteAlarm = async (id) => {
-      const { data } = await deleteAlaramClock({id : id});
+      const { data } = await deleteAlaramClock({ id: id });
       if (data.code) {
-        Toast.fail(t('device.deletionSucceeded'));
+        showSuccessToast(t('device.deletionSucceeded'));
         getAlaramClockListFun();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
 
     const setAlarm = async (item) => {
-      router.push({ path: 'alarmClockSet', query: { alarmId: item.id }});
+      router.push({ path: 'alarmClockSet', query: { alarmId: item.id } });
     }
 
- 
+
     return { list, addAlarmClock, showTypeText, showWeek, deleteAlarm, setAlarm };
   },
   components: { sHeader },
@@ -140,5 +140,4 @@ export default {
 </script>
 <style lang="less" scoped>
 @import "../../common/style/common";
-</style>
-
+</style>

+ 74 - 128
src/views/device/alarmClockSet/index.vue

@@ -4,24 +4,10 @@
     <s-header :name="$t('device.setAlarm')" :noback="false"></s-header>
     <div class="alarmClockSetBox flex-col">
       <div style="width: 100%; height: 18px"></div>
-      <van-field
-        class="equipmentField"
-        is-link
-        readonly
-        :label="$t('device.equipmentName')"
-        :placeholder="$t('device.selectDevice')"
-        v-model="equipmentIdsText"
-        @click="equipmentShow = true"
-      />
-      <van-field
-        v-model="hour"
-        is-link
-        readonly
-        :label="$t('device.selectTime')"
-        :placeholder="$t('device.selectTime')"
-        @click="currentTimeShow = true"
-        class="field"
-      />
+      <van-field class="equipmentField" is-link readonly :label="$t('device.equipmentName')"
+        :placeholder="$t('device.selectDevice')" v-model="equipmentIdsText" @click="equipmentShow = true" />
+      <van-field v-model="hour" is-link readonly :label="$t('device.selectTime')" :placeholder="$t('device.selectTime')"
+        @click="currentTimeShow = true" class="field" />
       <div class="repeatTimeBox">
         <span class="txt6">{{
           $t("device.selectTheNumberOfAlarmClockRepetitions")
@@ -30,26 +16,16 @@
           <van-checkbox @click="checkedAllClk" v-model="checkedAll">全选</van-checkbox>
         </div>
         <div class="l-flex-between dayCon">
-          <div @click="selectDayClk(item.value)" class="dayName" :class="{ active: selectList.includes(item.value) }" v-for="(item,index) in weekDayList" :key="index">
-            {{item.name}}
+          <div @click="selectDayClk(item.value)" class="dayName" :class="{ active: selectList.includes(item.value) }"
+            v-for="(item, index) in weekDayList" :key="index">
+            {{ item.name }}
           </div>
         </div>
       </div>
-      <van-field
-        v-model="alarmClockTypeText"
-        is-link
-        readonly
-        :label="$t('device.alarmTypeLabel')"
-        :placeholder="$t('device.alarmTypePlaceholder')"
-        @click="alarmClockTypeShow = true"
-        class="field"
-      />
-      <van-field
-        v-model="alarmClockName"
-        name="alarmClockName"
-        :label="$t('device.alarmNameLabel')"
-        :placeholder="$t('device.alarmNamePlaceholder')"
-      />
+      <van-field v-model="alarmClockTypeText" is-link readonly :label="$t('device.alarmTypeLabel')"
+        :placeholder="$t('device.alarmTypePlaceholder')" @click="alarmClockTypeShow = true" class="field" />
+      <van-field v-model="alarmClockName" name="alarmClockName" :label="$t('device.alarmNameLabel')"
+        :placeholder="$t('device.alarmNamePlaceholder')" />
       <div class="ImageText1 flex-col">
         <div class="mod4 flex-row justify-between">
           <div class="TextGroup1 flex-col">
@@ -61,74 +37,35 @@
         </div>
       </div>
       <van-row justify="space-around" style="padding: 1em">
-        <van-button
-          span="5"
-          round
-          type="primary"
-          style="height: 2em; padding: 0 2em"
-          @click="submitSet"
-        >
-          {{ $t("device.submitSettings") }}</van-button
-        >
+        <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" @click="submitSet">
+          {{ $t("device.submitSettings") }}</van-button>
       </van-row>
     </div>
     <van-popup v-model:show="alarmClockTypeShow" round position="bottom">
-      <van-cascader
-        v-model="alarmClockType"
-        :title="$t('device.alarmTypePlaceholder')"
-        :options="alarmClockTypeOptions"
-        @close="alarmClockTypeShow = false"
-        @finish="alarmClockTypeFinish"
-      />
+      <van-cascader v-model="alarmClockType" :title="$t('device.alarmTypePlaceholder')" :options="alarmClockTypeOptions"
+        @close="alarmClockTypeShow = false" @finish="alarmClockTypeFinish" />
     </van-popup>
     <van-popup v-model:show="currentTimeShow" round position="bottom">
-      <van-datetime-picker
-        v-model="currentTime"
-        type="time"
-        :title="$t('device.clickToSelectTheTime')"
-        @confirm="
-          currentTimeShow = false;
-          hour = currentTime;
-        "
-        @cancel="currentTimeShow = false"
-      />
+      <van-time-picker v-model="currentTime" :title="$t('device.clickToSelectTheTime')" @confirm="onConfirm"
+        @cancel="currentTimeShow = false" />
     </van-popup>
     <van-popup v-model:show="equipmentShow" position="bottom">
       <div class="van-picker__toolbar">
-        <button
-          type="button"
-          class="van-picker__cancel"
-          style="margin: 0 0.5em"
-          @click="equipmentShow = false"
-        >
+        <button type="button" class="van-picker__cancel" style="margin: 0 0.5em" @click="equipmentShow = false">
           {{ $t("device.cancel") }}
         </button>
         <div class="van-ellipsis van-picker__title">
           {{ $t("device.selectDevice") }}
         </div>
-        <button
-          type="button"
-          class="van-picker__confirm"
-          style="margin: 0 0.5em"
-          @click="equipmentShow = false"
-        >
+        <button type="button" class="van-picker__confirm" style="margin: 0 0.5em" @click="equipmentShow = false">
           {{ $t("device.confirm") }}
         </button>
       </div>
       <div class="checkbox-con" style="max-height: 264px; overflow-y: auto">
-        <van-checkbox-group
-          v-model="equipmentIds"
-          @change="equipemntIdsChange"
-          ref="checkboxGroup"
-        >
+        <van-checkbox-group v-model="equipmentIds" @change="equipemntIdsChange" ref="checkboxGroup">
           <van-cell-group>
-            <van-cell
-              v-for="(item, index) in equipmentList"
-              clickable
-              :key="index"
-              :title="item.label"
-              @click="equipementCheckItem(item.value)"
-            >
+            <van-cell v-for="(item, index) in equipmentList" clickable :key="index" :title="item.label"
+              @click="equipementCheckItem(item.value)">
               <template #right-icon>
                 <van-checkbox :name="item.value" />
               </template>
@@ -140,7 +77,7 @@
   </div>
 </template>
 <script>
-import { Toast } from "vant";
+import { showSuccessToast, showFailToast, showToast } from "vant";
 import { onMounted, ref, watch } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
@@ -157,67 +94,75 @@ export default {
   name: "alarm-clock-set",
   components: { sHeader },
   setup() {
+
+    const onConfirm = ({ selectedValues }) => {
+      console.log(selectedValues);
+      currentTime.value = selectedValues;
+      currentTimeShow.value = false;
+      hour.value = selectedValues.join(':');
+      console.log(hour.value);
+    };
     // 周
     const weekDayList = ref([
       {
-        name:'日',
-        value:'7',
+        name: '日',
+        value: '7',
       },
       {
-        name:'一',
-        value:'1',
+        name: '一',
+        value: '1',
       },
       {
-        name:'二',
-        value:'2',
+        name: '二',
+        value: '2',
       },
       {
-        name:'三',
-        value:'3',
+        name: '三',
+        value: '3',
       },
       {
-        name:'四',
-        value:'4',
+        name: '四',
+        value: '4',
       },
       {
-        name:'五',
-        value:'5',
+        name: '五',
+        value: '5',
       },
       {
-        name:'六',
-        value:'6',
+        name: '六',
+        value: '6',
       },
     ]);
     // 选中的周
-    const selectList = ref(['1','2','3','4','5','6','7']);
+    const selectList = ref(['1', '2', '3', '4', '5', '6', '7']);
     // 点击周
-    const selectDayClk = (val)=>{
+    const selectDayClk = (val) => {
       // 如果已经选过了,则需要取消
-      if(selectList.value.includes(val)){
+      if (selectList.value.includes(val)) {
         const idx = selectList.value.indexOf(val);
-        selectList.value.splice(idx,1);
-      }else{
+        selectList.value.splice(idx, 1);
+      } else {
         selectList.value.push(val);
       }
     };
     // 全选
     const checkedAll = ref(true);
-    const checkedAllClk = ()=>{
+    const checkedAllClk = () => {
       checkedAll.value = !checkedAll.value;
-      if(!checkedAll.value){
-        selectList.value=['1','2','3','4','5','6','7'];
-      }else{
-        selectList.value=[];
+      if (!checkedAll.value) {
+        selectList.value = ['1', '2', '3', '4', '5', '6', '7'];
+      } else {
+        selectList.value = [];
       }
     };
     // 监听选中的周
-    watch(()=>selectList,(newVal)=>{
-      if(newVal.value.length===7){
-        checkedAll.value =true;
-      }else{
-        checkedAll.value =false;
+    watch(() => selectList, (newVal) => {
+      if (newVal.value.length === 7) {
+        checkedAll.value = true;
+      } else {
+        checkedAll.value = false;
       }
-    },{immediate:true,deep:true});
+    }, { immediate: true, deep: true });
     const { t } = useI18n();
     const user = getLoginUser();
     const route = useRoute();
@@ -245,13 +190,13 @@ export default {
       if (data.code) {
         oldAlarmClock = data.data;
         // 回显时间
-        const hourVal = data.data.hour.slice(0, 5);
+        const hourVal = data.data.hour.slice(0, 5).split(":");
         currentTime.value = hourVal;
-        hour.value = hourVal;
+        hour.value = data.data.hour.slice(0, 5);
         alarmClockName.value = data.data.name;
         checked.value = data.data.status === "1";
         alarmClockType.value = data.data.type;
-        // 选中的周 
+        // 选中的周
         selectList.value = data.data.week.split(',');
         equipmentIds.value = data.data.equipmentIds.split(",");
         isEquipemntIdsText();
@@ -261,7 +206,7 @@ export default {
         );
         alarmClockTypeText.value = statusTxt[0]["text"];
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 获取旗下机器
@@ -277,7 +222,7 @@ export default {
         );
         isEquipemntIdsText();
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 设备多选
@@ -329,7 +274,7 @@ export default {
     };
 
     const hour = ref("");
-    const currentTime = ref("");
+    const currentTime = ref(['12', '00']);
     const currentTimeShow = ref(false);
     const alarmClockTypeText = ref("");
     const alarmClockType = ref("");
@@ -364,16 +309,16 @@ export default {
       };
       // 校验
       if (!params.equipmentIds) {
-        Toast(t("device.selectDevice"));
+        showToast(t("device.selectDevice"));
         return;
       } else if (!params.hour) {
-        Toast(t("device.selectTime"));
+        showToast(t("device.selectTime"));
         return;
       } else if (!params.week) {
-        Toast(t("device.repetitionsPlaceholder"));
+        showToast(t("device.repetitionsPlaceholder"));
         return;
       } else if (!params.type) {
-        Toast(t("device.alarmTypePlaceholder"));
+        showToast(t("device.alarmTypePlaceholder"));
         return;
       }
       if (route.query.alarmId) {
@@ -384,10 +329,10 @@ export default {
         : await alaramClockUpdate(params);
       console.log("data", data);
       if (data.code) {
-        Toast.success(t("device.successfullyAddedAlarmClock"));
+        showSuccessToast(t("device.successfullyAddedAlarmClock"));
         router.back();
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     return {
@@ -413,6 +358,7 @@ export default {
       selectDayClk,
       checkedAll,
       checkedAllClk,
+      onConfirm,
     };
   },
 };

+ 23 - 29
src/views/device/customLogo.vue

@@ -1,36 +1,30 @@
 <template>
-<!--  修改logo  -->
+  <!--  修改logo  -->
   <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>
-		<span class="info2">{{ $t('device.equipmentName') }}:{{ deviceDetail ? deviceDetail.name : '' }}</span>
-	</div>
+    <div class="block2 flex-row justify-between">
+      <div class="block3 flex-col"></div>
+      <span class="info2">{{ $t('device.equipmentName') }}:{{ deviceDetail ? deviceDetail.name : '' }}</span>
+    </div>
     <div class="wrap1 flex-col o-pt-15">
-      <van-field v-model="logoNumber"
-                 type="digit"
-                 :label="$t('device.customLogo.logoLabel')"
-                 :placeholder="$t('device.customLogo.logoPlaceholder')"
-                 :rules="[{ required: true, message: $t('device.customLogo.logoRequired') }]"
-      ></van-field>
+      <van-field v-model="logoNumber" type="digit" :label="$t('device.customLogo.logoLabel')"
+        :placeholder="$t('device.customLogo.logoPlaceholder')"
+        :rules="[{ required: true, message: $t('device.customLogo.logoRequired') }]"></van-field>
 
-      <van-button round
-                  :disabled="logoNumber === ''"
-                  type="primary"
-                  class="volumeChangeButton"
-                  @click="submitChange">{{ $t('device.customLogo.registerButton') }}</van-button>
+      <van-button round :disabled="logoNumber === ''" type="primary" class="volumeChangeButton" @click="submitChange">{{
+        $t('device.customLogo.registerButton') }}</van-button>
     </div>
   </div>
 </template>
 
 <script>
-import {defineComponent, onMounted, ref} from 'vue';
+import { defineComponent, onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader.vue";
-import {customLogo, getDeviceDetal} from "@/service/device";
-import {Toast} from "vant";
-import {useRoute} from "vue-router";
-import {useI18n} from "vue-i18n";
-import {styleUrl} from "../../common/js/utils";
+import { customLogo, getDeviceDetal } from "@/service/device";
+import { showFailToast, showSuccessToast } from "vant";
+import { useRoute } from "vue-router";
+import { useI18n } from "vue-i18n";
+import { styleUrl } from "../../common/js/utils";
 
 export default defineComponent({
   setup() {
@@ -46,18 +40,18 @@ export default defineComponent({
       // 加载样式
       styleUrl('viewLogs');
       await getDeviceDetailFun();
-	  console.log(deviceDetail.value.name);
+      console.log(deviceDetail.value.name);
     });
 
     const getDeviceDetailFun = async () => {
-      const { data } = await getDeviceDetal({id : deviceId});
+      const { data } = await getDeviceDetal({ id: deviceId });
       if (data.code === '00000') {
         deviceDetail.value = data.data;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
 
     // 定制Logo
-    const submitChange = async ()=> {
+    const submitChange = async () => {
       console.log('提交:${logoNumber.value}');
 
       const { data } = await customLogo({
@@ -65,11 +59,11 @@ export default defineComponent({
         logoNumber: logoNumber
       })
       if (data.code === '00000') {
-        Toast.success(t('device.modificationSucceeded'));
+        showSuccessToast(t('device.modificationSucceeded'));
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
-      console.log('submitChange', {equipmentId: deviceId, logoNumber: logoNumber});
+      console.log('submitChange', { equipmentId: deviceId, logoNumber: logoNumber });
 
     }
 

+ 25 - 17
src/views/device/deviceOper.vue

@@ -148,6 +148,14 @@
         </div>
         <div class="operText">{{ $t("device.customLogo.customLogo") }}</div>
       </div>
+      <!-- 查看定位 -->
+      <!-- <div class="operItem" @click="viewPosiClk()">
+        <div class="operIcon">
+          <img class="operImg" src="../../assets/device/operIcon/location.png" />
+        </div>
+        <div class="operText">{{ $t("device.viewPositioning") }}</div>
+      </div> -->
+
     </div>
   </van-dialog>
   <van-dialog v-model:show="operCheckShow" :title="$t('device.operationConfirmation')" :showConfirmButton="false"
@@ -179,7 +187,7 @@ import {
   deviceTuoji,
   delOneDevice,
 } from "../../service/device";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 import { useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
@@ -201,6 +209,7 @@ export default {
         query: { deviceId: device.value.id, name: device.value.name },
       });
     };
+
     // 点击DIY花型
     const diyFlowerClk = () => {
       router.push({
@@ -224,7 +233,6 @@ export default {
     });
     // 当前弹窗父组件触发
     const showOper = (e) => {
-      console.log()
       device.value = e;
       show.value = true;
       // isSleep=true,机器属于休眠状态,按钮是关闭休眠
@@ -303,7 +311,7 @@ export default {
         query: { deviceId: device.value.id, clientId: device.value.clientId },
       });
     };
-    // 系统脱机
+    // 系统脱机
     const tuojiEquipmentFun = () => {
       operType.value = 5;
       operCheckShow.value = true;
@@ -315,7 +323,6 @@ export default {
         query: { deviceId: device.value.id, name: device.value.name },
       });
     };
-    // 删除设备
     const deleteDevice = () => {
       operType.value = 6;
       operCheckShow.value = true;
@@ -333,10 +340,10 @@ export default {
           eqeStatus: 1,
         });
         if (data.code) {
-          Toast.success(t("device.restartSucceeded"));
+          showSuccessToast(t("device.restartSucceeded"));
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
       // 睡眠
@@ -351,10 +358,10 @@ export default {
           eqeStatus,
         });
         if (data.code) {
-          Toast.success(t("device.sleepSuccessfully"));
+          showSuccessToast(t("device.sleepSuccessfully"));
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
       // 开机|关机
@@ -365,7 +372,7 @@ export default {
           eqeStatus: device.value.eqeStatus,
         });
         if (data.code) {
-          Toast.success(
+          showSuccessToast(
             `${device.value.eqeStatus === 0
               ? t("device.close")
               : t("device.open")
@@ -374,40 +381,40 @@ export default {
           device.value.eqeStatus = device.value.eqeStatus === 0 ? 1 : 0;
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
       // 远程开门
       if (operType.value === 4) {
         const { data } = await openDoor({ equipmentId: device.value.id });
         if (data.code) {
-          Toast.success(t("device.remoteDoorOpeningSucceeded"));
+          showSuccessToast(t("device.remoteDoorOpeningSucceeded"));
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
       // 系统脱机
       if (operType.value === 5) {
         const { data } = await deviceTuoji({ id: device.value.id, clientId: device.value.clientId, adminUserName: user.username });
         if (data.code) {
-          Toast.success(t("device.sysOffSuccess"));
+          showSuccessToast(t("device.sysOffSuccess"));
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
-      // 删除设备
+      // 删除设备
       if (operType.value === 6) {
         const { data } = await delOneDevice({
           equipmentId: device.value.id,
           adminId: user.id,
         });
         if (data.code) {
-          Toast.success(t("device.deleteDeviceSucceed"));
+          showSuccessToast(t("device.deleteDeviceSucceed"));
           operCheckShow.value = false;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
       // 关闭弹窗
@@ -447,6 +454,7 @@ export default {
       sleepTitle,
       viewLogs,
       deleteDevice,
+      // viewPosiClk,
       changePasswordClk,
     };
   },

+ 158 - 159
src/views/device/devicePassword/index.vue

@@ -10,175 +10,174 @@
 		</div>
 	</div>
 	<van-config-provider :theme-vars="themeVars">
-	<van-dropdown-menu active-color="#1989fa">
-		<van-dropdown-item v-model="pwdValue" :options="pwdType" />
-	</van-dropdown-menu>
-	<van-form v-if="pwdValue==0" @submit="onSubmit">
-		<van-cell-group inset>
-			<van-field v-model="adminPwd" type="password" :label="$t('device.devicePasswordPage.deivcePwd')"
-				:placeholder="$t('device.devicePasswordPage.passwordPlaceholder')"
-				:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
-			<van-field v-model="checkAmdinPwd" type="password" :label="$t('device.devicePasswordPage.checkDeivcePwd')"
-				:placeholder="$t('device.devicePasswordPage.passwordCheckRequired')"
-				:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
-		</van-cell-group>
-		<div style="margin: 16px;">
-			<van-button round block type="primary" native-type="submit">
-				{{$t('device.submitAndPushDeviceUpdates')}}
-			</van-button>
-		</div>
-	</van-form>
-	<van-form v-else @submit="onSubmit">
-		<van-cell-group inset>
-			<van-field v-model="guestPwd" type="password" :label="$t('device.devicePasswordPage.deivcePwd')"
-				:placeholder="$t('device.devicePasswordPage.passwordPlaceholder')"
-				:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
-			<van-field v-model="checkGuestPwd" type="password" :label="$t('device.devicePasswordPage.checkDeivcePwd')"
-				:placeholder="$t('device.devicePasswordPage.passwordCheckRequired')"
-				:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
-		</van-cell-group>
-		<div style="margin: 16px;">
-			<van-button round block type="primary" native-type="submit">
-				{{$t('device.submitAndPushDeviceUpdates')}}
-			</van-button>
-		</div>
-	</van-form>
+		<van-dropdown-menu active-color="#1989fa">
+			<van-dropdown-item v-model="pwdValue" :options="pwdType" />
+		</van-dropdown-menu>
+		<van-form v-if="pwdValue == 0" @submit="onSubmit">
+			<van-cell-group inset>
+				<van-field v-model="adminPwd" type="password" :label="$t('device.devicePasswordPage.deivcePwd')"
+					:placeholder="$t('device.devicePasswordPage.passwordPlaceholder')"
+					:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
+				<van-field v-model="checkAmdinPwd" type="password" :label="$t('device.devicePasswordPage.checkDeivcePwd')"
+					:placeholder="$t('device.devicePasswordPage.passwordCheckRequired')"
+					:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
+			</van-cell-group>
+			<div style="margin: 16px;">
+				<van-button round block type="primary" native-type="submit">
+					{{ $t('device.submitAndPushDeviceUpdates') }}
+				</van-button>
+			</div>
+		</van-form>
+		<van-form v-else @submit="onSubmit">
+			<van-cell-group inset>
+				<van-field v-model="guestPwd" type="password" :label="$t('device.devicePasswordPage.deivcePwd')"
+					:placeholder="$t('device.devicePasswordPage.passwordPlaceholder')"
+					:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
+				<van-field v-model="checkGuestPwd" type="password" :label="$t('device.devicePasswordPage.checkDeivcePwd')"
+					:placeholder="$t('device.devicePasswordPage.passwordCheckRequired')"
+					:rules="[{ validator, message: $t('device.devicePasswordPage.passwordPlaceholder') }]" />
+			</van-cell-group>
+			<div style="margin: 16px;">
+				<van-button round block type="primary" native-type="submit">
+					{{ $t('device.submitAndPushDeviceUpdates') }}
+				</van-button>
+			</div>
+		</van-form>
 	</van-config-provider>
 </template>
 
 <script>
-	// 导入接口
-	import {
-		updateDevicePassword
-	} from '@/service/device/index';
-	import sHeader from "@/components/SimpleHeader";
-	import {
-		ref,
-		reactive
-	} from "@vue/reactivity";
-	import {
-		onMounted
-	} from '@vue/runtime-core';
-	import {
-		useRoute, useRouter
-	} from 'vue-router';
-	import {
-		Notify, Dialog, Toast
-	} from 'vant';
-	import {
-		useI18n
-	} from "vue-i18n";
-  import { styleUrl } from "../../../common/js/utils";
-	export default {
-		components: {
-			sHeader
-		},
-		setup() {
-			// 引入语言
-			const { t } = useI18n();
-			// 路由
-			const route = useRoute();
-			const router = useRouter();
-			// 设备名称
-			const equipmentName = ref('');
-			const pwdValue = ref();
-			const adminPwd = ref();
-			const checkAmdinPwd = ref();
-			const guestPwd = ref();
-			const checkGuestPwd = ref();
+// 导入接口
+import {
+	updateDevicePassword
+} from '@/service/device/index';
+import sHeader from "@/components/SimpleHeader";
+import {
+	ref,
+	reactive
+} from "@vue/reactivity";
+import {
+	onMounted
+} from '@vue/runtime-core';
+import {
+	useRoute, useRouter
+} from 'vue-router';
+import {
+	showNotify, showDialog, showConfirmDialog, showFailToast
+} from 'vant';
+import {
+	useI18n
+} from "vue-i18n";
+import { styleUrl } from "../../../common/js/utils";
+export default {
+	components: {
+		sHeader
+	},
+	setup() {
+		// 引入语言
+		const { t } = useI18n();
+		// 路由
+		const route = useRoute();
+		const router = useRouter();
+		// 设备名称
+		const equipmentName = ref('');
+		const pwdValue = ref();
+		const adminPwd = ref();
+		const checkAmdinPwd = ref();
+		const guestPwd = ref();
+		const checkGuestPwd = ref();
 
-			const validator = (val) => /\w{6,}/.test(val);
-			const themeVars = {
-				dropdownMenuTitleTextColor: '#404d74'
-			};
-			const pwdType = [{
-					text: t('device.devicePasswordPage.adminPassword'),
-					value: 0
-				},
-				{
-					text: t('device.devicePasswordPage.guestPassword'),
-					value: 1
-				},
-			]
-			// 刚进页面
-			onMounted(() => {
-			  styleUrl('device');
-				// console.log(pwdType[0].value)
-				pwdValue.value = pwdType[0].value;
-				// console.log(pwdValue.value)
-				const id = route.query.deviceId || "";
-				const name = route.query.name || "";
-				if (id) {
-					passwordForm.equipmentId = id;
-					equipmentName.value = name;
-				}
+		const validator = (val) => /\w{6,}/.test(val);
+		const themeVars = {
+			dropdownMenuTitleTextColor: '#404d74'
+		};
+		const pwdType = [{
+			text: t('device.devicePasswordPage.adminPassword'),
+			value: 0
+		},
+		{
+			text: t('device.devicePasswordPage.guestPassword'),
+			value: 1
+		},
+		]
+		// 刚进页面
+		onMounted(() => {
+			styleUrl('device');
+			// console.log(pwdType[0].value)
+			pwdValue.value = pwdType[0].value;
+			// console.log(pwdValue.value)
+			const id = route.query.deviceId || "";
+			const name = route.query.name || "";
+			if (id) {
+				passwordForm.equipmentId = id;
+				equipmentName.value = name;
+			}
 
-			});
-			// 修改的价格
-			const passwordForm = reactive({
-				equipmentId: '',
-				adminPwd: '',
-				guestPwd: ''
-			});
+		});
+		// 修改的价格
+		const passwordForm = reactive({
+			equipmentId: '',
+			adminPwd: '',
+			guestPwd: ''
+		});
 
-			// 点击提交
-			const onSubmit = () => {
-				passwordForm.adminPwd = adminPwd.value;
-				passwordForm.guestPwd = guestPwd.value;
+		// 点击提交
+		const onSubmit = () => {
+			passwordForm.adminPwd = adminPwd.value;
+			passwordForm.guestPwd = guestPwd.value;
+			console.log(passwordForm);
+			if ((passwordForm.adminPwd != checkAmdinPwd.value) || (passwordForm.guestPwd != checkGuestPwd.value)) {
+				showNotify({
+					type: 'danger',
+					message: t('device.devicePasswordPage.passwordMatch')
+				});
+				return;
+			}
+			if (pwdValue.value == 0) {
+				passwordForm.guestPwd = "";
+			}
+			if (pwdValue.value == 1) {
+				passwordForm.adminPwd = "";
+			}
+			showConfirmDialog({
+				// title: "提示",
+				message: t('device.editCheck'),
+			}).then(() => {
 				console.log(passwordForm);
-				if ((passwordForm.adminPwd != checkAmdinPwd.value) || (passwordForm.guestPwd != checkGuestPwd.value)) {
-					Notify({
-						type: 'danger',
-						message: t('device.devicePasswordPage.passwordMatch')
-					});
-					return;
-				}
-				if(pwdValue.value == 0) {
-					passwordForm.guestPwd = "";
-				}
-				if(pwdValue.value == 1) {
-					passwordForm.adminPwd = "";
-				}
-				Dialog.confirm({
-					// title: "提示",
-					message: t('device.editCheck'),
-				}).then(() => {
-					console.log(passwordForm);
-					updateDevicePassword({
-						"equipmentId": passwordForm.equipmentId,
-						"adminPwd": passwordForm.adminPwd,
-						"guestPwd": passwordForm.guestPwd
-					}).then((res) => {
-						if(res.data.code == "A0001") {
-							Toast.fail(t('device.unknownError'));
-							return;
-						}						
-						Dialog.alert({
-							message: t('device.modificationSucceeded'),
-						}).then(() => {
-							//返回上一页
-							router.go(-1);
-						});
+				updateDevicePassword({
+					"equipmentId": passwordForm.equipmentId,
+					"adminPwd": passwordForm.adminPwd,
+					"guestPwd": passwordForm.guestPwd
+				}).then((res) => {
+					if (res.data.code == "A0001") {
+						showFailToast(t('device.unknownError'));
+						return;
+					}
+					showDialog({
+						message: t('device.modificationSucceeded'),
+					}).then(() => {
+						//返回上一页
+						router.go(-1);
 					});
 				});
-			}
+			});
+		}
 
-			return {
-				passwordForm,
-				equipmentName,
-				pwdType,
-				pwdValue,
-				adminPwd,
-				checkAmdinPwd,
-				guestPwd,
-				checkGuestPwd,
-				onSubmit,
-				validator,
-				themeVars
-			};
-		},
-	};
+		return {
+			passwordForm,
+			equipmentName,
+			pwdType,
+			pwdValue,
+			adminPwd,
+			checkAmdinPwd,
+			guestPwd,
+			checkGuestPwd,
+			onSubmit,
+			validator,
+			themeVars
+		};
+	},
+};
 </script>
 
-<style lang="less" scoped>
-</style>
+<style lang="less" scoped></style>

+ 2 - 2
src/views/device/deviceSearch.vue

@@ -190,8 +190,8 @@ export default {
         value: 'MG280',
       },
       {
-        text: 'POP320',
-        value: 'POP320',
+        text: 'P30',
+        value: 'P30',
       }
     ]); // 设备机型级联选项
     const equimentTypeFinish = ({ selectedOptions }) => {

+ 27 - 13
src/views/device/deviceSet.vue

@@ -172,7 +172,8 @@
           </template>
         </van-field> -->
         <!-- 新支付方式,暂时没用屏蔽掉,后续再添加 -->
-        <!-- <van-field v-model="paymentValue" is-link readonly :label="`${$t('device.paymentMethod')}`" placeholder="选择支付方式" @click="showPayment = true" />
+        <!-- <van-field v-model="paymentValue" is-link readonly :label="`${$t('device.paymentMethod')}`" placeholder="选择支付方式"
+          @click="showPayment = true" />
         <van-popup v-model:show="showPayment" round position="bottom">
           <van-picker :columns="paymentColumns" @cancel="showPayment = false" @confirm="onConfirm" />
         </van-popup> -->
@@ -259,7 +260,7 @@ import {
   Api_getTApkInfo_updateApk,
   Api_getDiscCodeStatus,
 } from "@/service/device/index";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast, showToast } from "vant";
 import { useI18n } from "vue-i18n";
 import dateUtil from "@/utils/dateUtil";
 import { styleUrl } from "../../common/js/utils";
@@ -308,7 +309,7 @@ export default {
       arr: [],
     });
     onBeforeRouteLeave((to, from, next) => {
-      if(isUpdate.value) {
+      if (isUpdate.value) {
         console.log("to.meta.keepAlive", to.meta.keepAlive);
         to.meta.keepAlive = false;
       }
@@ -326,12 +327,25 @@ export default {
     // 设备类型
     const machineType = ref('0');
 
-    const paymentColumns = [t("device.onlinePayment"), t("device.offlinePayment"), t("device.onlineAndOfflinePayment")];
+    const paymentColumns = [
+      {
+        text: t("device.onlinePayment"),
+        value: 0
+      },
+      {
+        text: t("device.offlinePayment"),
+        value: 1
+      },
+      {
+        text: t("device.onlineAndOfflinePayment"),
+        value: 2
+      }
+    ];
     const paymentValue = ref('');
     const showPayment = ref(false);
-    const onConfirm = (value, index) => {
-      paymentValue.value = value;
-      deviceDetal.value.payType = index;
+    const onConfirm = ({ selectedOptions }) => {
+      paymentValue.value = selectedOptions[0].text;
+      deviceDetal.value.payType = selectedOptions[0].value;
       console.log(deviceDetal.value.payType);
       showPayment.value = false;
     };
@@ -393,7 +407,7 @@ export default {
           machineType.value = '1';
         }
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 获取广告规则详情
@@ -430,10 +444,10 @@ export default {
       const { data } = await updateDevice(params);
       if (data.code === "00000") {
         isUpdate.value = true;
-        Toast.success(t("device.modificationSucceeded"));
+        showSuccessToast(t("device.modificationSucceeded"));
         router.push({ path: "/device" });
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
 
@@ -468,7 +482,7 @@ export default {
     // 点击更新url
     const updateUrlClk = () => {
       if (!deviceDetal.value.url) {
-        Toast(t("device.urlPlace"));
+        showToast(t("device.urlPlace"));
         return;
       }
       kDialogRef.value.openDialog();
@@ -479,7 +493,7 @@ export default {
         id: deviceDetal.value.id,
         url: deviceDetal.value.url,
       }).then((res) => {
-        Toast(res.data.message);
+        showToast(res.data.message);
         setTimeout(() => {
           getDeviceDetalFun();
         }, 1000);
@@ -491,7 +505,7 @@ export default {
         equipmentId: deviceDetal.value.id,
         couponStatus,
       }).then((res) => {
-        Toast(res.data.message);
+        showToast(res.data.message);
         setTimeout(() => {
           getDeviceDetalFun();
         }, 1500);

+ 7 - 13
src/views/device/diyFlower/index.vue

@@ -55,7 +55,7 @@ import sHeader from "@/components/SimpleHeader";
 import { ref, reactive } from "@vue/reactivity";
 import { onMounted } from '@vue/runtime-core';
 import { useRoute, useRouter } from 'vue-router';
-import { Dialog, Toast } from 'vant';
+import { showDialog, showConfirmDialog, showFailToast, showToast } from 'vant';
 import { useI18n } from "vue-i18n";
 import { styleUrl } from '../../../common/js/utils';
 export default {
@@ -184,29 +184,27 @@ export default {
         equipmentId: cofficentForm.equipmentId,
         DIYFlowerStatus: newValue ? '1' : '0',
       };
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('DIYFlower.tips'),
         message: t('DIYFlower.content'),
       }).then(async () => {
         const { data } = await updateDIYFlowerStatus(params);
         if (data.code) {
-          // checked.value = newValue;
-          Toast(t('DIYFlower.successfully'));
+          showToast(t('DIYFlower.successfully'));
           setTimeout(() => {
             router.go(-1);
           }, 1500);
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }).catch((error) => {
         console.log(error);
-        // Toast.fail(t('device.unknownError'));
       });
     }
 
     // 点击提交
     const updateShowGoods = () => {
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('device.openRemind'),
         message: t('device.editCheck'),
       }).then(() => {
@@ -218,22 +216,18 @@ export default {
           productList: list
         }).then((res) => {
           console.log(res.data.message);
-          Dialog.alert({
+          showDialog({
             message: t('DIYFlower.successfully'),
           }).then(() => {
             //返回上一页
             router.go(-1);
           });
-          // setTimeout(() => {
-          //   getList();
-          // }, 1000);
         }).catch((error) => {
           console.log(error);
-          // Toast.fail(t('device.unknownError'));
         });
       }).catch((error) => {
         console.log(error);
-        // Toast.fail(t('device.unknownError'));
+
       });
     };
     const activeNames = ref(['1', '2']);

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

@@ -60,7 +60,7 @@ import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { useRoute, useRouter } from 'vue-router';
 import { getDeviceDetal, selectProducts, doSugar, selectSugarStatus } from '@/service/device'
-import { Toast } from 'vant';
+import { showFailToast, showSuccessToast } from 'vant';
 import { useI18n } from 'vue-i18n';
 import { styleUrl } from "../../common/js/utils";
 
@@ -100,7 +100,7 @@ export default {
       if (data.code === '00000') {
         deviceDetal.value = data.data;
         getProduct();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     // 获取花形下拉列表
     const getProduct = async () => {
@@ -113,28 +113,28 @@ export default {
             imgUrl: showSugarPhoto(item.no),
           };
         })
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log(options.value);
     }
     const submitDoSugar = async () => {
       doSugartData.value = null;
       doSugartType.value = true;
-      if (fieldValue.value === '') { Toast.fail(t('device.pleaseSelectAPattern')); return; }
+      if (fieldValue.value === '') { showFailToast(t('device.pleaseSelectAPattern')); return; }
       const { data } = await doSugar({ equipmentId: deviceId, productName: fieldValue.value });
       if (data.code) {
         doSugartData.value = data.data;
         setTimeout(() => {
           doSugartType.value = false;
         }, 5000);
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const checkData = async () => {
       const { data } = await selectSugarStatus({ no: doSugartData.value.no });
       if (data.code) {
-        Toast.success(data.message);
+        showSuccessToast(data.message);
         doSugartData.value = null;
         doSugartType.value = true;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     };
 
     const pushToDaySugarList = async () => {

+ 10 - 27
src/views/device/editAdRule/index.vue

@@ -3,16 +3,9 @@
     <s-header :name="$t('device.editAdRule.title')" :noback="false"></s-header>
     <div class="o-p-10 cust_vantBorder">
       <div class="l-flex-between kBordBott o-pb-20">
-        <div
-          class="c-border o-ptb-10 o-plr-12 l-flex-RC l-flex-w o-w"
-          style="padding-bottom: 0; min-height: 36px"
-        >
-          <div
-            class="c-border l-flex-RC o-p-3 c-color-f o-mr-10 o-mb-10"
-            style="background: #e59a6d; border: 1px solid #e59a6d"
-            v-for="(item, index) in tagList"
-            :key="index"
-          >
+        <div class="c-border o-ptb-10 o-plr-12 l-flex-RC l-flex-w o-w" style="padding-bottom: 0; min-height: 36px">
+          <div class="c-border l-flex-RC o-p-3 c-color-f o-mr-10 o-mb-10"
+            style="background: #e59a6d; border: 1px solid #e59a6d" v-for="(item, index) in tagList" :key="index">
             <span class="o-mr-3">{{ item.name }}</span>
             <van-icon @click.stop="delTag(item, index)" name="clear" />
           </div>
@@ -23,14 +16,8 @@
           }}</van-button>
         </div>
       </div>
-      <van-field
-        colon
-        :border="false"
-        v-model="cofficentForm.name"
-        clearable
-        :placeholder="$t('device.editAdRule.ruleNamePlace')"
-        :label="$t('device.editAdRule.ruleName')"
-      />
+      <van-field colon :border="false" v-model="cofficentForm.name" clearable
+        :placeholder="$t('device.editAdRule.ruleNamePlace')" :label="$t('device.editAdRule.ruleName')" />
       <div class="l-flex-center" style="margin: 16px">
         <van-button round class="searchBtn" type="primary" size="large" @click="toSearch">
           {{ $t("advertManage.advertRule.addRule.search") }}
@@ -38,13 +25,8 @@
       </div>
       <div class="o-mt-30">
         <div class="l-flex-RC l-flex-w">
-          <div
-            @click="addAllTag(item)"
-            class="c-border l-flex-RC o-p-3 c-color-f o-mr-10 o-mb-10"
-            style="background: #e59a6d; border: 1px solid #e59a6d"
-            v-for="(item, index) in allTagList"
-            :key="index"
-          >
+          <div @click="addAllTag(item)" class="c-border l-flex-RC o-p-3 c-color-f o-mr-10 o-mb-10"
+            style="background: #e59a6d; border: 1px solid #e59a6d" v-for="(item, index) in allTagList" :key="index">
             <span class="o-mr-3">{{ item.name }}</span>
           </div>
         </div>
@@ -62,7 +44,7 @@ import {
 import sHeader from "@/components/SimpleHeader";
 import { onMounted, reactive, ref } from "vue";
 import { useRoute, useRouter } from "vue-router";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useI18n } from "vue-i18n";
 export default {
   components: { sHeader },
@@ -115,7 +97,7 @@ export default {
           }
         });
       } else {
-        Toast(t("device.editAdRule.adRulePlace"));
+        showToast(t("device.editAdRule.adRulePlace"));
       }
     };
     return {
@@ -136,6 +118,7 @@ export default {
   height: calc(100%-44px);
   overflow: hidden;
   overflow-y: auto;
+
   .submitBtn {
     flex: 0 0 80px;
 

+ 41 - 23
src/views/device/index.vue

@@ -4,7 +4,7 @@
     <s-header :name="sys ? sys.title : $t('device.managementCenter')" :noback="true"></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="100" :immediate-check="false" @load="onLoad">
         <div class="deviceBox1 flex-col">
           <div class="searchRow flex-row justify-between">
             <div class="flex-col">
@@ -130,9 +130,12 @@
                   <!-- <span class="txt5 o-ptb-10 kBordBott l-flex-RC"><span>远程开门:</span>
                     <van-button type="primary">开门</van-button>
                   </span> -->
-                  <!-- <span class="txt1 o-ptb-7">{{ item.fullName }}</span>
-                  <div>
-                    <span v-if="item.latitude" class="txt5 o-ptb-5 kBordBott l-flex-RC">
+
+                  <!-- 设备地址 -->
+                  <!-- <span class="txt1 o-ptb-7">{{ item.fullName }}</span> -->
+                  <!-- 定位: -->
+                  <!-- <div>
+                    <span v-if="item.latitude" class="txt5 o-ptb-7 kBordBott l-flex-RC">
                       <span class="info1">{{
                         $t("device.position") }}:</span>
                       <van-button @click="viewPosiClk(item)" type="primary">{{
@@ -140,7 +143,8 @@
                       }}</van-button>
                     </span>
                   </div> -->
-                  <!-- 定位-->
+
+                  <!-- 定位: -->
                   <div>
                     <span v-if="item.latitude" class="txt5 o-ptb-7 kBordBott l-flex-RC">
                       <span class="info1">{{ $t("device.position") }}:</span>
@@ -148,7 +152,7 @@
                     </span>
                   </div>
                   <van-row class="layer5 o-ptb-7 kBordBott" justify="space-between"
-                    v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'POP320'">
+                    v-if="(item.machineType == '0' || item.machineType == null) && item.equimentType != 'P30'">
                     <van-col class="word5">{{ $t("device.furnaceHeadTemperature") }}:{{
                       item.furnaceTm
                     }}{{ $t("device.degree") }}</van-col>
@@ -196,6 +200,7 @@
                         {{ $t("device.wasteWater") }}:{{ Format_calcuDecial(item.wasteWater) }}%
                       </van-col>
                     </van-row>
+                    <!-- 一键补料 -->
                     <span class="txt5 o-ptb-7 kBordBott l-flex-RC"><span>{{ $t("device.oneKeyFeed") }}:</span>
                       <!-- <van-button @click="replenishmentClk(item)" type="primary">{{ $t("device.replenishment") }}
                       </van-button> -->
@@ -208,7 +213,7 @@
                   }}</span>
                   <span class="info2 o-ptb-7 kBordBott">{{ $t("device.volume") }}:{{ item.volume }}</span>
                   <div class="l-flex-RC o-ptb-7">
-                    <span class="info3 o-pr-8 kBordBott">{{ $t("device.alarmContent") }}:{{
+                    <span class="info3 o-pr-10 kBordBott">{{ $t("device.alarmContent") }}:{{
                       item.alarmList && item.alarmList[0]
                       ? item.alarmList[0].alarmContent
                       : item.alarmContent
@@ -232,7 +237,7 @@
                     </div>
                   </div>
                 </div>
-                <div class="bd6 l-flex-center o-ptb-10" @click="item.checkType = !item.checkType">
+                <div class="bd6 l-flex-center o-ptb-7" @click="item.checkType = !item.checkType">
                   <div class="l-flex-RC">
                     <span class="info2 o-mr-2">{{
                       item.checkType ? $t("device.stow") : $t("device.seeMore")
@@ -241,6 +246,7 @@
                   </div>
                 </div>
               </div>
+              <van-back-top @click="backTop" right="5vw" bottom="10vh" />
             </div>
           </div>
         </div>
@@ -260,7 +266,7 @@ import {
   Api_postMachineNum,
 } from "../../service/home";
 import { onMounted, reactive, toRefs, ref, onActivated } from "vue";
-import { Toast, Dialog } from "vant";
+import { showFailToast, showSuccessToast, showToast, showDialog } from "vant";
 import navBar from "../../components/NavBar";
 import sHeader from "../../components/SimpleHeader";
 import { getLoginUser, Format_calcuDecial } from "../../common/js/utils";
@@ -293,9 +299,15 @@ export default {
     const user = getLoginUser();
     const verticalScrollPosition = ref(0);
 
+    // 返回顶部
+    const backTop = () => {
+      window.scrollY = 0;
+    }
+
     onActivated(() => {
       // 当组件被激活时,可能是从 keep-alive 缓存中激活的
       // 这时重新添加滚动事件监听器
+      console.log("进入时的位置", verticalScrollPosition.value);
       document.documentElement.scrollTop = verticalScrollPosition.value;
       document.body.scrollTop = verticalScrollPosition.value;
       window.scrollY = verticalScrollPosition.value;
@@ -305,6 +317,7 @@ export default {
 
     onBeforeRouteLeave(() => {
       verticalScrollPosition.value = document.documentElement.scrollTop || document.body.scrollTop || window.scrollY;
+      console.log("离开时的位置", verticalScrollPosition.value);
     })
 
     // 在组件卸载前清除定时器
@@ -320,8 +333,8 @@ export default {
         if (oprRef.value) {
           oprRef.value.closeOper();
         }
-        verticalScrollPosition.value = 0;
-      }, 5 * 60 * 1000); // 3分钟的毫秒数
+        // verticalScrollPosition.value = 0;
+      }, 5 * 60 * 1000); // 5分钟的毫秒数
     };
     //控制睡眠描述的显示隐藏
     const sleepDescBoxShow = ref(true);
@@ -330,14 +343,15 @@ export default {
       id: "", // 用户账户id
       // adminName: '', // 用户登录名
       current: 1, // 页数
-      size: 10, // 页大小
+      size: 15, // 页大小
       todayDate: dateUtil.formateDate(new Date(), "yyyy-MM-dd"), // 当天时间
     });
     // 初始化页面获取列表
     onMounted(() => {
       init();
-      //加载样式
-      updateDataInterval(); 
+      updateDataInterval();
+      // window.addEventListener('scroll', handleScroll);
+      // 加载样式
       // styleUrl('device');
     });
     // 初始化
@@ -384,12 +398,13 @@ export default {
         }
         loading.value = false;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 滚动加载
     const onLoad = () => {
       if (!finished.value) {
+        // console.log("滚动加载")
         searchParams.current = searchParams.current + 1;
         getList();
       }
@@ -432,10 +447,10 @@ export default {
       };
       const { data } = await eliminate(Object.assign({}, params));
       if (data.code) {
-        Toast.success(t("device.successfullyEliminatedTheAlarm"));
+        showSuccessToast(t("device.successfullyEliminatedTheAlarm"));
         e.alarmList = [];
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
       console.log("/tEquipment/eliminate", e);
     };
@@ -449,6 +464,7 @@ export default {
 
     // 点击查看定位
     const viewPosiClk = (row) => {
+      console.log("row 是 >>>", row);
       if (row.latitude) {
         router.push({
           path: "viewPosition",
@@ -459,16 +475,17 @@ export default {
           },
         });
       } else {
-        Toast(`${t("device.noPosition")}!!!`);
+        showToast(`${t("device.noPosition")}!!!`);
       }
     };
+
     // 点击补料
     const replenishmentClk = (row) => {
-      console.log("row", row);
+      console.log("row >>>", row);
       Api_getReplenishment({ equipmentId: row.id }).then((res) => {
-        console.log("res", res);
+        console.log("res >>>", res);
         // Toast(res.data.message);
-        Dialog.alert({
+        showDialog({
           message: t('device.sentSuccessfully'),
         }).then(() => {
           //返回上一页
@@ -510,7 +527,7 @@ export default {
     const sleepDescChg = async (sleepDesc, id) => {
       console.log(sleepDesc);
       if (!sleepDesc) {
-        Toast(t("device.sleepDescPlace"));
+        showToast(t("device.sleepDescPlace"));
       } else {
         const { data } = await changeSleepDesc({
           equipmentId: id,
@@ -518,7 +535,7 @@ export default {
         });
         if (data.code === "00000") {
           sleepDescBoxShow.value = true;
-          Toast(data.message);
+          showToast(data.message);
           // setTimeout(() => {
           //   gettAdminGetRelation();
           // }, 500);
@@ -550,6 +567,7 @@ export default {
       editSleepDesc,
       sleepDescBoxShow,
       sleepDescChg,
+      backTop,
     };
   },
 };

+ 4 - 3
src/views/device/modifyPrice/index.vue

@@ -27,6 +27,7 @@
             <van-field type="number" label-width="0" :border="false" v-model="item.rmbPrice" clearable label=" " />
           </div>
           <div v-else class="c-text-15" style="color: #df5e4c">
+            <!-- 商品价格调整¥ -->
             <!-- <span>¥</span> -->
             <span>{{ currencySymbol }}</span>
             <span>{{ item.rmbPrice }}</span>
@@ -67,7 +68,7 @@ import sHeader from "@/components/SimpleHeader";
 import { reactive, ref } from "@vue/reactivity";
 import { onMounted } from '@vue/runtime-core';
 import { useRoute } from 'vue-router';
-import { Toast } from 'vant';
+import { showToast } from 'vant';
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../../../common/js/utils";
 export default {
@@ -85,7 +86,7 @@ export default {
     // 点击确定按钮
     const confirmClk = () => {
       if (!cofficentForm.price) {
-        Toast(t('device.modifyPricePage.batchPricePlace'));
+        showToast(t('device.modifyPricePage.batchPricePlace'));
         return;
       }
       cofficentForm.no = '';
@@ -175,7 +176,7 @@ export default {
       console.log('cofficentForm', cofficentForm)
       // 如果点击的是提交
       Api_getUpdaProdPrice(cofficentForm).then(res => {
-        Toast(res.data.message);
+        showToast(res.data.message);
         if (row) {
           row.isEdit = false;
         }

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

@@ -27,7 +27,7 @@ import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { useRoute, useRouter } from 'vue-router';
 import { getDeviceDetal, updateVolume } from '@/service/device'
-import { Toast, Dialog } from 'vant';
+import { showFailToast, showDialog } from 'vant';
 import { useI18n } from 'vue-i18n';
 import { styleUrl } from '../../common/js/utils';
 
@@ -54,7 +54,7 @@ export default {
       if (data.code === '00000') {
         deviceDetal.value = data.data;
         volume.value = data.data.volume ? data.data.volume : 0;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     // 音量调节保存
     const volumeChange = async () => {
@@ -62,14 +62,14 @@ export default {
       // const volumeC = parseInt(volume.value * volumeB);
       const { data } = await updateVolume({ id: deviceId, volume: volume.value.toString() });
       if (data.code) {
-        Dialog.alert({
+        showDialog({
           confirmButtonColor: '#2c87c8',
           message: t('device.sentSuccessfully'),
         }).then(() => {
           //返回上一页
           router.go(-1);
         });
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log('volumeChange', { equipmentId: deviceId, volume: volume.value.toString() });
     }
     return {

+ 103 - 123
src/views/device/openDoor.vue

@@ -1,153 +1,133 @@
 <template>
 	<!-- 远程开门 -->
-	<div class="openDoorPage flex-col">
+	<div class="pageDoor flex-col">
 		<s-header :name="$t('device.remoteDoorOpening')" :noback="false"></s-header>
 		<div class="box1">
 			<div class="block2 flex-row justify-between">
 				<div class="block3 flex-col"></div>
 				<span class="info2">{{ $t('device.equipmentName') }}:{{ deviceDetal ? deviceDetal.name : '' }}</span>
 			</div>
-			<van-field
-				colon
-				readonly
-				:label="`${$t('device.outDoor')}`"
-				label-width="40px"
-			>
+			<van-field colon readonly :label="`${$t('device.outDoor')}`" label-width="40px">
 				<template #input>
 					<div class="l-flex-RC">
-					<van-switch
-						:model-value="deviceDetal.outDoor"
-						@update:model-value="outDoorChg"
-						size="22"
-						active-value="1"
-						inactive-value="0"
-					/>
+						<van-switch :model-value="deviceDetal.outDoor" @update:model-value="outDoorChg" size="22"
+							active-value="1" inactive-value="0" />
 					</div>
-					<span class="info3 o-pl-50">{{$t("device.status")}}: </span>
-					<span class="info3 o-pl-10">{{ deviceDetal.outDoor != 1 ? $t("device.close") : $t("device.open") }}</span>
+					<span class="info3 o-pl-50">{{ $t("device.status") }}: </span>
+					<span class="info3 o-pl-10">{{ deviceDetal.outDoor != 1 ? $t("device.close") : $t("device.open")
+					}}</span>
 				</template>
 			</van-field>
-			
-			<van-field
-				colon
-				readonly
-				:label="`${$t('device.inDoor')}`"
-				label-width="40px"
-			>
+
+			<van-field colon readonly :label="`${$t('device.inDoor')}`" label-width="40px">
 				<template #input>
 					<div class="l-flex-RC">
-					<van-switch
-						:model-value="deviceDetal.inDoor"
-						@update:model-value="inDoorChg"
-						size="22"
-						active-value="1"
-						inactive-value="0"
-					/>
+						<van-switch :model-value="deviceDetal.inDoor" @update:model-value="inDoorChg" size="22"
+							active-value="1" inactive-value="0" />
 					</div>
-					<span class="info3 o-pl-50">{{$t("device.status")}}: </span>
-					<span class="info3 o-pl-10">{{ deviceDetal.inDoor != 1 ? $t("device.close") : $t("device.open") }}</span>
+					<span class="info3 o-pl-50">{{ $t("device.status") }}: </span>
+					<span class="info3 o-pl-10">{{ deviceDetal.inDoor != 1 ? $t("device.close") : $t("device.open")
+					}}</span>
 				</template>
 			</van-field>
 		</div>
 	</div>
 </template>
-
+  
 <script>
-	import { onMounted, ref } from 'vue';
-	import sHeader from "@/components/SimpleHeader";
-	import { useRoute } from 'vue-router';
-	import { getDeviceDetal, Api_openDoor } from '@/service/device'
-	import { Toast, Dialog } from 'vant';
-	import { useI18n } from "vue-i18n";
-  import {styleUrl} from "../../common/js/utils";
+import { onMounted, ref } from 'vue';
+import sHeader from "@/components/SimpleHeader";
+import { useRoute } from 'vue-router';
+import { getDeviceDetal, Api_openDoor } from '@/service/device'
+import { showFailToast, showToast, showConfirmDialog } from 'vant';
+import { useI18n } from "vue-i18n";
+import { styleUrl } from "../../common/js/utils";
 
-	export default {
-		setup() {
-			const route = useRoute();
-			const deviceId = route.query.deviceId;
-			const deviceDetal = ref({});
-			const { t } = useI18n();
+export default {
+	setup() {
+		const route = useRoute();
+		const deviceId = route.query.deviceId;
+		const deviceDetal = ref({});
+		const { t } = useI18n();
 
-			// 初始化页面获取列表
-			onMounted(async () => {
-        // 加载样式
-        styleUrl('deviceOper');
-				getDeviceDetalFun();
-				console.log(deviceDetal.value)
-			});
+		// 初始化页面获取列表
+		onMounted(async () => {
+			// 加载样式
+			styleUrl('deviceOper');
+			getDeviceDetalFun();
+			console.log(deviceDetal.value)
+		});
 
-			// 获取设备列表数据
-			const getDeviceDetalFun = async () => {
-				const {
-					data
-				} = await getDeviceDetal({
-					id: deviceId
-				});
-				if (data.code === '00000') {
-					// outDoor如果是null,默认是关闭
-					if (data.data.outDoor == null) {
-					  data.data.outDoor = "0";
-					}
-					// inDoor如果是null,默认是关闭
-					if (data.data.inDoor == null) {
-					  data.data.inDoor = "0";
-					}
-					deviceDetal.value = data.data;
-				} else {
-					Toast.fail(data.message);
+		// 获取设备列表数据
+		const getDeviceDetalFun = async () => {
+			const {
+				data
+			} = await getDeviceDetal({
+				id: deviceId
+			});
+			if (data.code === '00000') {
+				// outDoor如果是null,默认是关闭
+				if (data.data.outDoor == null) {
+					data.data.outDoor = "0";
+				}
+				// inDoor如果是null,默认是关闭
+				if (data.data.inDoor == null) {
+					data.data.inDoor = "0";
 				}
+				deviceDetal.value = data.data;
+			} else {
+				showFailToast(data.message);
 			}
-			
-			// 点击外门开关
-			const outDoorChg = (outDoor) => {
-				Dialog.confirm({
-				    title: t('device.openRemind'),
-				    message: t('device.openRemindOut'),
-				}).then(() => {
-				    Api_openDoor({
-				    	equipmentId: deviceDetal.value.id,
-				    	type: 0,
-				    	status: outDoor,
-				    }).then((res) => {
-				    	Toast(res.data.message);
-				    	setTimeout(() => {
-				    		getDeviceDetalFun();
-				    	}, 1000);
-				    });
+		}
+
+		// 点击外门开关
+		const outDoorChg = (outDoor) => {
+			showConfirmDialog({
+				title: t('device.openRemind'),
+				message: t('device.openRemindOut'),
+			}).then(() => {
+				Api_openDoor({
+					equipmentId: deviceDetal.value.id,
+					type: 0,
+					status: outDoor,
+				}).then((res) => {
+					showToast(res.data.message);
+					setTimeout(() => {
+						getDeviceDetalFun();
+					}, 1000);
 				});
-			};
-			
-			// 点击内门开关
-			const inDoorChg = (inDoor) => {
-				Dialog.confirm({
-				    title: t('device.openRemind'),
-				    message: t('device.openRemindIn'),
-				}).then(() => {
-				    Api_openDoor({
-				    	equipmentId: deviceDetal.value.id,
-				    	type: 1,
-				    	status: inDoor,
-				    }).then((res) => {
-				    	Toast(res.data.message);
-				    	setTimeout(() => {
-				    		getDeviceDetalFun();
-				    	}, 1000);
-				    });
+			});
+		};
+
+		// 点击内门开关
+		const inDoorChg = (inDoor) => {
+			showConfirmDialog({
+				title: t('device.openRemind'),
+				message: t('device.openRemindIn'),
+			}).then(() => {
+				Api_openDoor({
+					equipmentId: deviceDetal.value.id,
+					type: 1,
+					status: inDoor,
+				}).then((res) => {
+					showToast(res.data.message);
+					setTimeout(() => {
+						getDeviceDetalFun();
+					}, 1000);
 				});
-			};
-			
-			return {
-				deviceDetal,
-				outDoorChg,
-				inDoorChg
-			};
-		},
-		components: {
-			sHeader
-		},
-	}
-</script>
+			});
+		};
 
-<style lang="less" scoped>
-	@import "../../common/style/common";
-</style>
+		return {
+			deviceDetal,
+			outDoorChg,
+			inDoorChg
+		};
+	},
+	components: {
+		sHeader
+	},
+}
+</script>
+  
+<style lang="less" scoped>@import "../../common/style/common";</style>

+ 12 - 12
src/views/device/paramsSet/index.vue

@@ -6,7 +6,7 @@
       <div class="wrap2 flex-col van-hairline--bottom">
         <div class="outer1 flex-row justify-between">
           <div class="block1 flex-col"></div>
-          <span class="txt2">{{$t('device.equipmentName')}}:{{deviceDetal ? deviceDetal.name : ''}}</span>
+          <span class="txt2">{{ $t('device.equipmentName') }}:{{ deviceDetal ? deviceDetal.name : '' }}</span>
         </div>
       </div>
       <!-- <div class="list van-hairline--bottom" @click="pushPage('0')">
@@ -19,32 +19,32 @@
         <div class="outer2 flex-col"></div>
       </div> -->
 
-      
+
       <div class="list van-hairline--bottom" @click="pushPage('0')">
         <div class="title">
           <img class="icon" src='../../../assets/device/currency1.png' />
-          <span class="word3">{{$t('device.generalParameterConfiguration')}}</span>
+          <span class="word3">{{ $t('device.generalParameterConfiguration') }}</span>
         </div>
         <div class="outer2 flex-col"></div>
       </div>
       <div class="list van-hairline--bottom" @click="pushPage('1')">
         <div class="title">
           <img class="icon" src='../../../assets/device/advanced.png' />
-          <span class="word3">{{$t('device.advancedParameterConfiguration')}}</span>
+          <span class="word3">{{ $t('device.advancedParameterConfiguration') }}</span>
         </div>
         <div class="outer2 flex-col"></div>
       </div>
       <div class="list van-hairline--bottom" @click="pushPage('2')">
         <div class="title">
           <img class="icon" src='../../../assets/device/debug.png' />
-          <span class="word3">{{$t('device.debuggingParameterConfiguration')}}</span>
+          <span class="word3">{{ $t('device.debuggingParameterConfiguration') }}</span>
         </div>
         <div class="outer2 flex-col"></div>
       </div>
       <div class="list van-hairline--bottom" @click="pushPage('3')">
         <div class="title">
           <img class="icon" src='../../../assets/device/humanness.png' />
-          <span class="word3">{{$t('device.humidityParameterConfiguration')}}</span>
+          <span class="word3">{{ $t('device.humidityParameterConfiguration') }}</span>
         </div>
         <div class="outer2 flex-col"></div>
       </div>
@@ -56,8 +56,8 @@ import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { useRoute, useRouter } from 'vue-router';
 import { getDeviceDetal } from '@/service/device'
-import { Toast } from 'vant';
-import {styleUrl} from "../../../common/js/utils";
+import { showFailToast } from 'vant';
+import { styleUrl } from "../../../common/js/utils";
 
 export default {
   components: { sHeader },
@@ -74,13 +74,13 @@ export default {
     });
     // 获取设备列表数据
     const getDeviceDetalFun = async () => {
-      const { data } = await getDeviceDetal({id : deviceId});
+      const { data } = await getDeviceDetal({ id: deviceId });
       if (data.code === '00000') {
         deviceDetal.value = data.data;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const pushPage = (number) => {
-      router.push({ path: 'paramsSetInfo', query: { type: number, deviceId: route.query.deviceId }})
+      router.push({ path: 'paramsSetInfo', query: { type: number, deviceId: route.query.deviceId } })
     }
     return {
       deviceDetal,
@@ -90,5 +90,5 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-  @import "../../../common/style/common";
+@import "../../../common/style/common";
 </style>

+ 33 - 19
src/views/device/paramsSet/paramsSetInfo.vue

@@ -9,14 +9,29 @@
           <span class="txt2">{{ $t('device.equipmentName') }}:{{ deviceDetal ? deviceDetal.name : "" }}</span>
         </div>
       </div>
+      <!-- <van-divider :style="{ margin: '5px 16px' }" /> -->
       <div class="" v-if="type == '3'">
-        <van-field :label="$t('device.numberOneTm')" :model-value="(deviceDetal.numberOne == null ? $t('device.noData') : deviceDetal.numberOne + $t('device.degree'))" readonly />
-        <van-field :label="$t('device.furnaceHeadTemperature')" :model-value="(deviceDetal.furnaceTm == null ? $t('device.noData') : deviceDetal.furnaceTm + $t('device.degree'))" readonly />
-        <van-field :label="$t('device.candyGeneratorTm')" :model-value="(deviceDetal.candyGeneratorTm == null ? $t('device.noData') : deviceDetal.candyGeneratorTm + $t('device.degree'))" readonly />
-        <van-field :label="$t('device.temperatureInCabinet')" :model-value="(deviceDetal.cabinetTm == null ? $t('device.noData') : deviceDetal.cabinetTm + $t('device.degree'))" readonly />
-        <van-field :label="$t('device.humidityInCabinet')" :model-value="(deviceDetal.cabinetHd == null? $t('device.noData') : deviceDetal.cabinetHd + $t('device.humidity'))" readonly />
-        <van-field :label="$t('device.outsideTm')" :model-value="(deviceDetal.outsideTm == null ? $t('device.noData') : deviceDetal.outsideTm + $t('device.degree'))" readonly />
-        <van-field :label="$t('device.outsidehd')" :model-value="(deviceDetal.outsideHd == null? $t('device.noData') : deviceDetal.outsideHd + $t('device.humidity'))" readonly />
+        <van-field :label="$t('device.numberOneTm')"
+          :model-value="(deviceDetal.numberOne == null ? $t('device.noData') : deviceDetal.numberOne + $t('device.degree'))"
+          readonly />
+        <van-field :label="$t('device.furnaceHeadTemperature')"
+          :model-value="(deviceDetal.furnaceTm == null ? $t('device.noData') : deviceDetal.furnaceTm + $t('device.degree'))"
+          readonly />
+        <van-field :label="$t('device.candyGeneratorTm')"
+          :model-value="(deviceDetal.candyGeneratorTm == null ? $t('device.noData') : deviceDetal.candyGeneratorTm + $t('device.degree'))"
+          readonly />
+        <van-field :label="$t('device.temperatureInCabinet')"
+          :model-value="(deviceDetal.cabinetTm == null ? $t('device.noData') : deviceDetal.cabinetTm + $t('device.degree'))"
+          readonly />
+        <van-field :label="$t('device.humidityInCabinet')"
+          :model-value="(deviceDetal.cabinetHd == null ? $t('device.noData') : deviceDetal.cabinetHd + $t('device.humidity'))"
+          readonly />
+        <van-field :label="$t('device.outsideTm')"
+          :model-value="(deviceDetal.outsideTm == null ? $t('device.noData') : deviceDetal.outsideTm + $t('device.degree'))"
+          readonly />
+        <van-field :label="$t('device.outsidehd')"
+          :model-value="(deviceDetal.outsideHd == null ? $t('device.noData') : deviceDetal.outsideHd + $t('device.humidity'))"
+          readonly />
       </div>
       <div class="paramsList" v-for="(item, key) in paramsList" :key="key">
         <van-field v-model="item.val" v-if="item.name != 'M502' && item.name != 'M506'" name="phone" type="tel"
@@ -42,7 +57,7 @@ import { onMounted, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { useRoute } from "vue-router";
 import { getDeviceDetal, getParameters, updateParameters } from "@/service/device";
-import { Toast, Dialog } from "vant";
+import { showFailToast, showSuccessToast, showConfirmDialog } from "vant";
 import { useI18n } from 'vue-i18n';
 import { styleUrl } from "../../../common/js/utils";
 
@@ -86,7 +101,7 @@ export default {
         deviceDetal.value = data.data;
         getParametersFun();
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 获取参数列表
@@ -113,7 +128,7 @@ export default {
         // console.log("checked:", checked.value);
 
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
 
@@ -126,9 +141,9 @@ export default {
       };
       const { data } = await updateParameters(params);
       if (data.code) {
-        Toast.success(t('device.modificationSucceeded'));
+        showSuccessToast(t('device.modificationSucceeded'));
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     }
     const onUpdateValue = (item, key) => {
@@ -138,16 +153,16 @@ export default {
         name: item.name,
         val: item.val == '0' ? '1' : '0',
       };
-      Dialog.confirm({
+      showConfirmDialog({
         title: '提醒',
         message: '是否切换开关?',
       }).then(async () => {
         const { data } = await updateParameters(params);
         if (data.code) {
           checked.value[key] = !checked.value[key];
-          Toast.success(t('device.modificationSucceeded'));
+          showSuccessToast(t('device.modificationSucceeded'));
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }).catch(() => {
         // on cancel
@@ -167,9 +182,8 @@ export default {
   },
 };
 </script>
-<style lang="less" scoped>
-@import "../../../common/style/common";
+<style lang="less" scoped>@import "../../../common/style/common";
+
 .paramsValue {
   margin: 0 40px;
-}
-</style>
+}</style>

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

@@ -5,8 +5,8 @@
     <div class="box1 flex-col">
       <div class="baseRow flex-row justify-between">
         <div class="group2 flex-col"></div>
-        <span class="baseText">{{ $t('device.currentPriceIs') }}: <span
-            class="recharge">0/{{ $t('device.month') }}</span></span>
+        <span class="baseText">{{ $t('device.currentPriceIs') }}: <span class="recharge">0/{{ $t('device.month')
+        }}</span></span>
       </div>
       <van-field v-model="deviceValue" is-link readonly :label="$t('device.purchasedMachine')"
         :placeholder="$t('device.pleaseSelectAMachine')" @click="deviceShow = true" />
@@ -46,7 +46,7 @@
 import { onMounted, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getListEquipment, rechargeAjax } from "@/service/device";
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
 import { useRoute } from "vue-router";
 import { useI18n } from 'vue-i18n';
@@ -96,13 +96,13 @@ export default {
           deviceValue.value = device[0].text;
         }
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 提交表单
     const submitForm = async () => {
       if (deviceId.value === "") {
-        Toast.fail(t('device.pleaseSelectAMachine'));
+        showFailToast(t('device.pleaseSelectAMachine'));
         return;
       }
       const { data } = await rechargeAjax({
@@ -114,7 +114,7 @@ export default {
         rechargeObj.value = data.data;
         rechargeShow.value = true;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     return {

+ 47 - 79
src/views/device/saveProportion/index.vue

@@ -4,93 +4,61 @@
     <s-header :name="$t('device.addDistributor')" :noback="false"></s-header>
     <div class="paramsSetBox mod1 flex-col">
       <van-form @submit="updateAdFun">
-        <van-field
-          v-model="adInfo.clientId"
-          name="clientId"
-          :label="`${$t('device.addDistributor')}:`"
+        <van-field v-model="adInfo.clientId" name="clientId" :label="`${$t('device.addDistributor')}:`"
           :placeholder="$t('device.equipmentNoPlaceholder')"
-          :rules="[{ required: true, message: $t('device.equipmentNoPlaceholder') }]"
-        />
+          :rules="[{ required: true, message: $t('device.equipmentNoPlaceholder') }]" />
 
-        <van-field
-          v-model="adInfo.adminProportion"
-          name="adminProportion"
+        <van-field v-model="adInfo.adminProportion" name="adminProportion"
           :label="`${$t('device.proportionOfPlatformDistributionLabel')}:`"
           :placeholder="$t('device.proportionOfPlatformDistributionPlaceholder')"
-          :rules="[{ required: true, message: $t('device.proportionOfPlatformDistributionPlaceholder') }]"
-        >
+          :rules="[{ required: true, message: $t('device.proportionOfPlatformDistributionPlaceholder') }]">
           <template #button>%</template>
         </van-field>
 
-        <van-field
-          v-model="adInfo.proportion"
-          name="proportion"
+        <van-field v-model="adInfo.proportion" name="proportion"
           :label="`${$t('device.merchantDistributionProportionLabel')}:`"
           :placeholder="$t('device.merchantDistributionProportionPlaceholder')"
-          :rules="[{ required: true, message: $t('device.merchantDistributionProportionPlaceholder') }]"
-        >
+          :rules="[{ required: true, message: $t('device.merchantDistributionProportionPlaceholder') }]">
           <template #button>%</template>
         </van-field>
         <div class="vanInputRow" v-if='adInfo.type >= 1'>
-          <van-field
-            v-model="adInfo.agencyName"
-            name="agencyName"
-            :label="`${$t('device.accountNoOfDistributorLabel')}:`"
-            :placeholder="$t('device.accountNoOfDistributorPlaceholder')"
-          />
-          <van-field
-            v-model="adInfo.agencyProportion"
-            name="agencyProportion"
+          <van-field v-model="adInfo.agencyName" name="agencyName" :label="`${$t('device.accountNoOfDistributorLabel')}:`"
+            :placeholder="$t('device.accountNoOfDistributorPlaceholder')" />
+          <van-field v-model="adInfo.agencyProportion" name="agencyProportion"
             :label="`${$t('device.distributionProportionLabel')}:`"
-            :placeholder="$t('device.distributionProportionPlaceholder')"
-          >
+            :placeholder="$t('device.distributionProportionPlaceholder')">
             <template #button>%</template>
           </van-field>
         </div>
         <div class="vanInputRow" v-if='adInfo.type >= 2'>
-          <van-field
-            v-model="adInfo.merchantName"
-            name="merchantName"
+          <van-field v-model="adInfo.merchantName" name="merchantName"
             :label="`${$t('device.accountNoOfDistributorLabel')}:`"
-            :placeholder="$t('device.accountNoOfDistributorPlaceholder')"
-          />
-          <van-field
-            v-model="adInfo.merchantProportion"
-            name="merchantProportion"
+            :placeholder="$t('device.accountNoOfDistributorPlaceholder')" />
+          <van-field v-model="adInfo.merchantProportion" name="merchantProportion"
             :label="`${$t('device.distributionProportionLabel')}:`"
-            :placeholder="$t('device.distributionProportionPlaceholder')"
-          >
-            <template #button>%<span class="deleteSpan" @click="delectType()"><van-icon name="delete-o" />{{$t('device.delete')}}</span></template>
+            :placeholder="$t('device.distributionProportionPlaceholder')">
+            <template #button>%<span class="deleteSpan" @click="delectType()"><van-icon
+                  name="delete-o" />{{ $t('device.delete') }}</span></template>
           </van-field>
         </div>
         <div class="vanInputRow" v-if='adInfo.type === 3'>
-          <van-field
-            v-model="adInfo.personageName"
-            name="personageName"
+          <van-field v-model="adInfo.personageName" name="personageName"
             :label="`${$t('device.accountNoOfDistributorLabel')}:`"
-            :placeholder="$t('device.accountNoOfDistributorPlaceholder')"
-          />
-          <van-field
-            v-model="adInfo.personageProportion"
-            name="personageProportion"
+            :placeholder="$t('device.accountNoOfDistributorPlaceholder')" />
+          <van-field v-model="adInfo.personageProportion" name="personageProportion"
             :label="`${$t('device.distributionProportionLabel')}:`"
-            :placeholder="$t('device.distributionProportionPlaceholder')"
-          >
-            <template #button>%<span class="deleteSpan" @click="delectType()"><van-icon name="delete-o" />{{$t('device.delete')}}</span></template>
+            :placeholder="$t('device.distributionProportionPlaceholder')">
+            <template #button>%<span class="deleteSpan" @click="delectType()"><van-icon
+                  name="delete-o" />{{ $t('device.delete') }}</span></template>
           </van-field>
         </div>
         <div class="vanInputRow addRow" v-if='adInfo.type < 3'>
-          <span class="addSpan" @click="addType()"><van-icon name="plus" />{{$t('device.continueToAddDistributors')}}</span>
+          <span class="addSpan" @click="addType()"><van-icon
+              name="plus" />{{ $t('device.continueToAddDistributors') }}</span>
         </div>
         <van-row justify="space-around" style="padding: 1em">
-          <van-button
-            span="5"
-            round
-            type="primary"
-            style="height: 2em; padding: 0 2em"
-            native-type="submit"
-            >{{$t('device.submitForApproval')}}</van-button
-          >
+          <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em"
+            native-type="submit">{{ $t('device.submitForApproval') }}</van-button>
         </van-row>
       </van-form>
     </div>
@@ -101,7 +69,7 @@ import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { useRoute, useRouter } from 'vue-router';
 import { getDeviceDetal, getProportion, saveProportion } from '@/service/device';
-import { Toast } from 'vant';
+import { showFailToast, showSuccessToast } from 'vant';
 import { getLoginUser } from "@/common/js/utils";
 
 export default {
@@ -113,31 +81,31 @@ export default {
     const deviceId = route.query.deviceId;
     const deviceDetal = ref(null);
     const adInfo = ref({
-        adminId: user.id, // 当前登录账户的id
-        clientId: '', // 设备编号
-        type: 0, // 分销的人数
-        proportion: 99, // 该商户自己的分销比例
-        adminProportion: 1, // 平台的分账比例
-        agencyName: '', // 分账人的账号
-        agencyProportion: '', // 分账人的比例
+      adminId: user.id, // 当前登录账户的id
+      clientId: '', // 设备编号
+      type: 0, // 分销的人数
+      proportion: 99, // 该商户自己的分销比例
+      adminProportion: 1, // 平台的分账比例
+      agencyName: '', // 分账人的账号
+      agencyProportion: '', // 分账人的比例
+
+      merchantName: '', // 分账人的账号
+      merchantProportion: '', // 分账人的比例
 
-        merchantName: '', // 分账人的账号
-        merchantProportion: '', // 分账人的比例
+      personageName: '', // 分账人的账号
+      personageProportion: '', // 分账人的比例
 
-        personageName: '', // 分账人的账号
-        personageProportion: '', // 分账人的比例
-        
     });
     // 初始化页面获取列表
     onMounted(async () => { getDeviceDetalFun(); });
     // 获取设备列表数据
     const getDeviceDetalFun = async () => {
-      const { data } = await getDeviceDetal({id : deviceId});
+      const { data } = await getDeviceDetal({ id: deviceId });
       if (data.code === '00000') {
         deviceDetal.value = data.data;
         adInfo.value.clientId = deviceDetal.value.clientId;
         getProportionFun();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const getProportionFun = async () => {
       const { data } = await getProportion({ adminId: user.id, clientId: deviceDetal.value.clientId });
@@ -161,13 +129,13 @@ export default {
         if (adInfo.value.agencyName !== '' && adInfo.value.agencyProportion !== '') {
           adInfo.value.type++;
         }
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const delectType = () => { adInfo.value.type--; }
     const addType = () => { adInfo.value.type++; }
     const updateAdFun = async () => {
       const params = {};
-      params.id =  adInfo.value.id;
+      params.id = adInfo.value.id;
       params.adminId = adInfo.value.adminId;
       params.clientId = adInfo.value.clientId;
       params.proportion = adInfo.value.proportion;
@@ -190,9 +158,9 @@ export default {
       }
       const { data } = await saveProportion(params);
       if (data.code === '00000') {
-        Toast.success(data.data);
+        showSuccessToast(data.data);
         router.back();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log('updateAdFun', data);
     };
     return {
@@ -205,6 +173,6 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-  @import "../../../common/style/common";
-  @import "./index.less";
+@import "../../../common/style/common";
+@import "./index.less";
 </style>

+ 4 - 4
src/views/device/showGoods/index.vue

@@ -50,7 +50,7 @@ import {
   useRouter
 } from 'vue-router';
 import {
-  Toast, Dialog
+  showFailToast, showDialog, showConfirmDialog
 } from 'vant';
 import {
   useI18n
@@ -139,7 +139,7 @@ export default {
 
     // 点击提交
     const updateShowGoods = () => {
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('device.openRemind'),
         message: t('device.editCheck'),
       }).then(() => {
@@ -151,7 +151,7 @@ export default {
         }).then((res) => {
           console.log(res.data.message);
           // Toast();
-          Dialog.alert({
+          showDialog({
             message: t('device.modificationSucceeded'),
           }).then(() => {
             //返回上一页
@@ -162,7 +162,7 @@ export default {
           }, 1000);
         }).catch((error) => {
           console.log(error);
-          Toast.fail(t('device.unknownError'));
+          showFailToast(t('device.unknownError'));
         });
       });
     };

+ 7 - 7
src/views/device/tagSet/index.vue

@@ -20,7 +20,7 @@
         </div>
         <div @click="submitClk" class="submitBtn o-ml-10">
           <van-button round type="primary">{{
-              $t("device.tagSet.sumbmit")
+            $t("device.tagSet.sumbmit")
           }}</van-button>
         </div>
       </div>
@@ -61,9 +61,9 @@ import kDialog from "@/components/commom/kDialog/index.vue";
 import sHeader from "@/components/SimpleHeader";
 import { ref } from "@vue/reactivity";
 import { useI18n } from "vue-i18n";
-import { useRoute,useRouter } from 'vue-router';
+import { useRoute, useRouter } from 'vue-router';
 import { onMounted } from '@vue/runtime-core';
-import {Toast} from 'vant';
+import { showToast } from 'vant';
 export default {
   components: {
     sHeader,
@@ -98,7 +98,7 @@ export default {
     // 初始化页面
     onMounted(() => {
       const labelList = store.state.$S_tagSet_labelList;
-      tagList.value  = labelList;
+      tagList.value = labelList;
       getList();
     });
     const noticeClk = (param, idx) => {
@@ -155,10 +155,10 @@ export default {
         });
         Api_getEquipmentToLabel({ equipmentId: route.query.deviceId, labelIds }).then(res => {
           console.log('res', res)
-          Toast(res.data.message);
-          setTimeout(()=>{
+          showToast(res.data.message);
+          setTimeout(() => {
             router.back();
-          },300);
+          }, 300);
         })
       }
       // sessionStorage.setItem('tagList', JSON.stringify(tagList.value));

+ 82 - 86
src/views/device/toDaySugarList.vue

@@ -1,110 +1,106 @@
 <template>
 	<!-- 今日做糖列表 -->
-	<div class="page flex-col">
+	<div class="sugarPage flex-col">
 		<s-header :name="$t('device.todaysSugarList')" :noback="false"></s-header>
 		<div class="box1 flex-col">
 			<div class="block2 flex-row justify-between">
 				<div class="block3 flex-col"></div>
 				<span class="info2">{{ $t('device.equipmentName') }}:{{ deviceDetal ? deviceDetal.name : '' }}</span>
 			</div>
-			<van-list
-			  class="o-pt-20"
-			  v-model:loading="loading"
-			  :finished="finished"
-			  :finished-text="$t('public.noMore')"
-			  @load="selectSugarListFun"
-			>
-			  <van-cell v-for="(item, index) in list" :key="index" :title="item" />
+			<van-list class="o-pt-20" v-model:loading="loading" :finished="finished" :finished-text="$t('public.noMore')"
+				@load="selectSugarListFun">
+				<van-cell v-for="(item, index) in list" :key="index" :title="item" />
 			</van-list>
 		</div>
 	</div>
 </template>
 <script>
-	import {
-		onMounted,
-		ref
-	} from "vue";
-	import sHeader from "@/components/SimpleHeader";
-	import {
-		getDeviceDetal,
-		selectSugarList
-	} from "@/service/device";
-	import {
-		Toast
-	} from "vant";
-	import {
-		getLoginUser,
-    styleUrl
-	} from "@/common/js/utils";
-	import {
-		useRoute
-	} from 'vue-router';
+import {
+	onMounted,
+	ref
+} from "vue";
+import sHeader from "@/components/SimpleHeader";
+import {
+	getDeviceDetal,
+	selectSugarList
+} from "@/service/device";
+import {
+	showFailToast
+} from "vant";
+import {
+	getLoginUser,
+	styleUrl
+} from "@/common/js/utils";
+import {
+	useRoute
+} from 'vue-router';
 
 
-	export default {
-		setup() {
-			const route = useRoute();
-			const deviceId = route.query.deviceId;
-			const deviceDetal = ref(null);
-			const loading = ref(false);
-			const finished = ref(false);
-			const user = getLoginUser();
-			const list = ref([]);
-			// 初始化页面获取列表
-			onMounted(async () => {
-        // 加载样式
-        styleUrl('doSugar');
-				getDeviceDetalFun();
-				selectSugarListFun();
-				// console.log(deviceDetal);
-			});
+export default {
+	setup() {
+		const route = useRoute();
+		const deviceId = route.query.deviceId;
+		const deviceDetal = ref(null);
+		const loading = ref(false);
+		const finished = ref(false);
+		const user = getLoginUser();
+		const list = ref([]);
+		// 初始化页面获取列表
+		onMounted(async () => {
+			// 加载样式
+			styleUrl('doSugar');
+			getDeviceDetalFun();
+			selectSugarListFun();
+			// console.log(deviceDetal);
+		});
 
 
-			// 获取设备数据
-			const getDeviceDetalFun = async () => {
-				const {
-					data
-				} = await getDeviceDetal({
-					id: deviceId
-				});
-				if (data.code === '00000') {
-					deviceDetal.value = data.data;
-				} else {
-					Toast.fail(data.message);
-				}
+		// 获取设备数据
+		const getDeviceDetalFun = async () => {
+			const {
+				data
+			} = await getDeviceDetal({
+				id: deviceId
+			});
+			if (data.code === '00000') {
+				deviceDetal.value = data.data;
+			} else {
+				showFailToast(data.message);
 			}
+		}
 
-			// 获取做糖列表数据
-			const selectSugarListFun = async () => {
-				// console.log(user);
-				const {
-					data
-				} = await selectSugarList({
-					adminId: user.id
+		// 获取做糖列表数据
+		const selectSugarListFun = async () => {
+			// console.log(user);
+			const {
+				data
+			} = await selectSugarList({
+				adminId: user.id
+			});
+			if (data.code) {
+				list.value = data.data.map((item) => {
+					return item.productName;
 				});
-				if (data.code) {
-					list.value = data.data.map((item) => {
-						return item.productName;
-					});
-					finished.value = true;
-				} else {
-					Toast.fail(data.message);
-				}
-			};
+				finished.value = true;
+			} else {
+				showFailToast(data.message);
+			}
+		};
 
-			return {
-				list,
-				deviceDetal,
-				loading,
-				finished,
-				selectSugarListFun,
-			};
-		},
-		components: {
-			sHeader
-		},
-	};
+		return {
+			list,
+			deviceDetal,
+			loading,
+			finished,
+			selectSugarListFun,
+		};
+	},
+	components: {
+		sHeader
+	},
+};
 </script>
 <style lang="less" scoped>
-	@import "../../common/style/common";
+@import "../../common/style/common";
 </style>
+  

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

@@ -8,13 +8,12 @@
     <div class="wrap1 flex-col o-pt-15">
       <van-field v-model="logsTime" is-link readonly label="日期" placeholder="点击选择时间" @click="chooseTime()" />
       <van-popup v-model:show="showPicker" round position="bottom">
-        <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate"
-                             @confirm="selectTime" @cancel="showPicker = false" />
+        <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="selectTime" @cancel="showPicker = false" />
       </van-popup>
       <van-button v-if="!downloading" round :disabled="logsTime === ''" type="primary" class="volumeChangeButton"
-                  @click="downloadBtn">{{ $t('device.download') }}</van-button>
+        @click="downloadBtn">{{ $t('device.download') }}</van-button>
       <van-button v-else disabled loading round class="volumeChangeButton" type="primary"
-                  :loading-text="$t('device.downloading')" />
+        :loading-text="$t('device.downloading')" />
     </div>
   </div>
 </template>
@@ -32,7 +31,7 @@ import {
 } from "@/service/device";
 import { $M_ExportFile } from "@/common/js/utils";
 import {
-  Toast
+  showFailToast
 } from "vant";
 import {
   useRoute
@@ -84,9 +83,10 @@ export default ({
     };
 
 
-    const selectTime = (time) => {
+    const selectTime = ({ selectedValues }) => {
       // console.log('selectTime function is called', time);
-      logsTime.value = dateUtil.formateDate(time, "yyyy-MM-dd");
+      // logsTime.value = dateUtil.formateDate(time, "yyyy-MM-dd");
+      logsTime.value = selectedValues.join("-");
       showPicker.value = false;
     };
 
@@ -99,14 +99,14 @@ export default ({
       if (data.code === '00000') {
         deviceDetail.value = data.data;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     }
 
     const downloadBtn = async () => {
       const pattern = /^\d{4}-\d{2}-\d{2}$/;
       if (!pattern.test(logsTime.value)) {
-        Toast.fail('日期格式有误');
+        showFailToast('日期格式有误');
         return;
       }
       const formattedDate = logsTime.value.replace(/-/g, '');
@@ -124,11 +124,11 @@ export default ({
         if (error.code === 'ECONNABORTED') {
           // 处理请求超时的错误
           console.error('请求超时:', error);
-          Toast.fail("请求超时");
+          showFailToast("请求超时");
         } else {
           // 处理其他请求错误
           console.error('请求失败:', error);
-          Toast.fail("请求失败");
+          showFailToast("请求失败");
         }
       } finally {
         downloading.value = false;

+ 11 - 12
src/views/discountCode/codeSearch.vue

@@ -44,19 +44,19 @@
       </div>
     </van-popup>
     <van-popup v-model:show="createStratDateShow" round position="bottom">
-      <van-datetime-picker type="datetime" :title="$t('discountCode.selectFullTime')"
-        @confirm="createStratDateConFirm($event)" @cancel="createStratDateShow = false" :min-date="minDate" />
+      <van-date-picker :title="$t('discountCode.selectFullTime')" @confirm="createStratDateConFirm($event)"
+        @cancel="createStratDateShow = false" :min-date="minDate" />
     </van-popup>
     <van-popup v-model:show="createEndDateShow" round position="bottom">
-      <van-datetime-picker type="datetime" :title="$t('discountCode.selectFullTime')"
-        @confirm="createEndDateConFirm($event)" @cancel="createEndDateShow = false" :min-date="minDate" />
+      <van-date-picker :title="$t('discountCode.selectFullTime')" @confirm="createEndDateConFirm($event)"
+        @cancel="createEndDateShow = false" :min-date="minDate" />
     </van-popup>
     <van-popup v-model:show="useStratDateShow" round position="bottom">
-      <van-datetime-picker type="datetime" :title="$t('discountCode.selectFullTime')"
-        @confirm="useStratDateConFirm($event)" @cancel="useStratDateShow = false" :min-date="minDate" />
+      <van-date-picker :title="$t('discountCode.selectFullTime')" @confirm="useStratDateConFirm($event)"
+        @cancel="useStratDateShow = false" :min-date="minDate" />
     </van-popup>
     <van-popup v-model:show="useEndDateShow" round position="bottom">
-      <van-datetime-picker type="datetime" :title="$t('discountCode.selectFullTime')" @confirm="useEndDateConFirm($event)"
+      <van-date-picker :title="$t('discountCode.selectFullTime')" @confirm="useEndDateConFirm($event)"
         @cancel="useEndDateShow = false" :min-date="minDate" />
     </van-popup>
   </div>
@@ -81,28 +81,27 @@ export default {
     const createStratDate = ref('');
     const createStratDateShow = ref(false);
     const createStratDateClick = () => { createStratDateShow.value = true; }
-    const createStratDateConFirm = (data) => { createStratDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss"); createStratDateShow.value = false; }
+    const createStratDateConFirm = ({ selectedValues }) => { createStratDate.value = selectedValues.join("-") + " 00:00:00"; createStratDateShow.value = false; }
     // const createStratDateCancel = () => { createStratDate.value = dateUtil.formateDate(new Date(createStratDate.value), "yyyy-MM-dd hh:mm:ss"); createStratDateShow.value = false; }
     // 创建结束时间
     const createEndDate = ref('');
     const createEndDateShow = ref(false);
     const createEndDateClick = () => { createEndDateShow.value = true; }
-    const createEndDateConFirm = (data) => { createEndDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss"); createEndDateShow.value = false; }
+    const createEndDateConFirm = ({ selectedValues }) => { createEndDate.value = selectedValues.join("-") + " 23:59:59"; createEndDateShow.value = false; }
     // const createEndDateCancel = () => { createEndDate.value = dateUtil.formateDate(new Date(createEndDate.value), "yyyy-MM-dd hh:mm:ss"); createEndDateShow.value = false; }
     // 使用起始时间
     const useStratDate = ref('');
     const useStratDateShow = ref(false);
     const useStratDateClick = () => { useStratDateShow.value = true; }
-    const useStratDateConFirm = (data) => { useStratDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss"); useStratDateShow.value = false; }
+    const useStratDateConFirm = ({ selectedValues }) => { useStratDate.value = selectedValues.join("-") + " 00:00:00"; useStratDateShow.value = false; }
     // const useStratDateCancel = () => { useStratDate.value = dateUtil.formateDate(new Date(useStratDate.value), "yyyy-MM-dd hh:mm:ss"); useStratDateShow.value = false; }
     // 使用结束时间
     const useEndDate = ref('');
     const useEndDateShow = ref(false);
     const useEndDateClick = () => { useEndDateShow.value = true; }
-    const useEndDateConFirm = (data) => { useEndDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss"); useEndDateShow.value = false; }
+    const useEndDateConFirm = ({ selectedValues }) => { useEndDate.value = selectedValues.join("-") + " 23:59:59"; useEndDateShow.value = false; }
     // const useEndDateCancel = () => { useEndDate.value = dateUtil.formateDate(new Date(useEndDate.value), "yyyy-MM-dd hh:mm:ss"); useEndDateShow.value = false; }
 
-
     // 提交搜索表单触发搜索
     const onSubmit = () => {
       const searchParam = {};

+ 2 - 2
src/views/discountCode/index.vue

@@ -62,7 +62,7 @@
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getdiscountCodeList, discountCodeExport } from "@/service/discountCode";
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { getLoginUser, $M_ExportFile, styleUrl } from "@/common/js/utils";
 import codeSearch from './codeSearch.vue';
 import dateUtil from "@/utils/dateUtil";
@@ -117,7 +117,7 @@ export default {
         discountCodeTotal.value = data.data.total;
         if (discountCodeList.value.length === data.data.total) { finished.value = true; }
         loading.value = false;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     };
     // 搜索点击
     const searchClick = () => { searchRef.value.showSearch(); };

+ 12 - 12
src/views/discountCode/payCode.vue

@@ -45,8 +45,8 @@
           </div>
         </div>
         <van-row justify="space-around" style="padding: 1em;">
-          <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em;"
-            native-type="submit">{{ $t('discountCode.apply') }}</van-button>
+          <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em;" native-type="submit">{{
+            $t('discountCode.apply') }}</van-button>
         </van-row>
       </van-form>
     </div>
@@ -64,7 +64,7 @@
 import sHeader from "@/components/SimpleHeader";
 import { onMounted, reactive, toRefs, ref, watch } from "vue";
 import { getLoginUser, Format_calcuDecial, styleUrl } from "@/common/js/utils";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 import { addCode } from "@/service/discountCode";
 import { useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
@@ -102,23 +102,23 @@ export default {
 
     // 提交搜索表单触发搜索
     const onSubmit = async () => {
-      if (payParams.number === '') { Toast.fail(t('discountCode.numberOfDiscountCodesPlaceholder')); return; }
-      if (payParams.month === '') { Toast.fail(t('discountCode.pleaseEnterTheValidityPeriod')); return; }
-      if (payParams.type === '1' && payParams.discount === '') { Toast.fail(t('discountCode.deductionPricePlaceholder')); return; }
-      if (payParams.type === '0' && payParams.discount === '') { Toast.fail(t('discountCode.pleaseEnterDiscount')); return; }
-      if (parseInt(payParams.number) > 200) { Toast.fail(t('discountCode.theNumberOfDiscountCodesCannotExceed')); return; }
-      if (parseInt(payParams.month) > 3) { Toast.fail(t('discountCode.theValidityPeriodCannotExceedMonths')); return; }
-      if (payParams.type === '0' && parseInt(payParams.discount) > 10) { Toast.fail(t('discountCode.discountCannotBeGreaterThan')); return; }
+      if (payParams.number === '') { showFailToast(t('discountCode.numberOfDiscountCodesPlaceholder')); return; }
+      if (payParams.month === '') { showFailToast(t('discountCode.pleaseEnterTheValidityPeriod')); return; }
+      if (payParams.type === '1' && payParams.discount === '') { showFailToast(t('discountCode.deductionPricePlaceholder')); return; }
+      if (payParams.type === '0' && payParams.discount === '') { showFailToast(t('discountCode.pleaseEnterDiscount')); return; }
+      if (parseInt(payParams.number) > 200) { showFailToast(t('discountCode.theNumberOfDiscountCodesCannotExceed')); return; }
+      if (parseInt(payParams.month) > 3) { showFailToast(t('discountCode.theValidityPeriodCannotExceedMonths')); return; }
+      if (payParams.type === '0' && parseInt(payParams.discount) > 10) { showFailToast(t('discountCode.discountCannotBeGreaterThan')); return; }
       const { data } = await addCode(Object.assign({}, payParams));
       if (payParams.type === '0') {
         ewmObj.value = data.data;
         payCodeType.value = true;
       } else {
         if (data.code === '00000') {
-          Toast.success(t('discountCode.successfulProductionOfDiscountCode'));
+          showSuccessToast(t('discountCode.successfulProductionOfDiscountCode'));
           router.push({ path: '/discountCode' });
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }
     }

+ 13 - 8
src/views/distributionSet/detail.vue

@@ -86,7 +86,7 @@ import { getEquipmentList } from '@/service/typeSelectList';
 import { Api_getDistriDetail } from "@/service/distributionSet";
 import { saveProportion, getProportion } from '@/service/device';
 import sHeader from "@/components/SimpleHeader";
-import { Toast } from 'vant';
+import { showToast } from 'vant';
 import { computed, onMounted, reactive, ref } from 'vue';
 import { getLoginUser } from "@/common/js/utils";
 import { useRoute, useRouter } from "vue-router";
@@ -191,7 +191,7 @@ export default {
       }
       saveProportion(param).then(res => {
         if (res.data.code === '00000') {
-          Toast(res.data.data);
+          showToast(res.data.data);
           setTimeout(() => {
             router.back();
           }, 1000);
@@ -208,7 +208,7 @@ export default {
     // 点击删除
     const toDele = (idx) => {
       if (distPropList.length === 1) {
-        Toast(t('distributionSet.addDist.distPropRange'));
+        showToast(t('distributionSet.addDist.distPropRange'));
         return;
       }
       distPropList.splice(idx, 1);
@@ -222,25 +222,30 @@ export default {
         // deviceList.value = data.data.map(item => {
         //     return {name:item.name,clientId}
         // });
-        busiPopList.value = data.data;
+        busiPopList.value = data.data.map(item => {
+          return { name: item.name != null ? item.name : item.clientId, clientId: item.clientId }
+        });
+        console.log(busiPopList.value);
       }
     }
     // 设备编码选择框
     const busiPopShow = ref(false);
     const busiPopList = ref([]);
     const busiPopFieldName = reactive({
-      text: "clientId",
+      text: "name",
       value: "clientId",
     });
     const busiInpClk = () => {
       busiPopShow.value = true;
     };
     // 点击确定按钮
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
+      console.log(selectedOptions[0]);
       busiPopShow.value = false;
-      cofficentForm.clientId = e.clientId;
+      cofficentForm.clientId = selectedOptions[0].clientId;
+
       // 重新获取当前设备的分销情况
-      getProportionFun(e.clientId);
+      getProportionFun(2, selectedOptions[0].clientId);
     };
     const busiPopCancel = () => {
       busiPopShow.value = false;

+ 5 - 5
src/views/forgetPassword.vue

@@ -47,7 +47,7 @@
 
 <script>
 import { ref, reactive, toRefs, onMounted } from 'vue';
-import { Toast } from 'vant';
+import { showToast, showFailToast  } from 'vant';
 import { setLocal, getLocal, styleUrl } from '@/common/js/utils';
 import sHeader from "@/components/SimpleHeader";
 import { useRouter } from "vue-router";
@@ -72,10 +72,10 @@ export default {
         phoneOrEmail: ifForeign.value === '0' ? phone.value : email.value
       });
       if (data.code === '00000') {
-        Toast('验证码发送成功');
+        showToast('验证码发送成功');
         verCodeTime.time = 3 * 60;
         verCodeTimeInterval();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     // 验证码发送成功开始3分钟倒计时
     const verCodeTimeInterval = () => {
@@ -91,10 +91,10 @@ export default {
         code: code.value
       });
       if (data.code === '00000') {
-        Toast('校验成功');
+        showToast('校验成功');
         router.push({ path: '/changepassword', query: { name: username.value } });
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
 

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

@@ -133,7 +133,7 @@ import {
 } from "../../service/home";
 import dateUtil from "../../utils/dateUtil";
 import { useI18n } from "vue-i18n";
-import { Toast } from "vant";
+import { showToast } from "vant";
 
 export default {
   name: "home",
@@ -177,7 +177,7 @@ export default {
         adminId: user.id,
       }).then((res) => {
         // console.log("res", res);
-        Toast(res.data.message);
+        showToast(res.data.message);
         setTimeout(() => {
           getNotice();
         }, 500);

+ 0 - 51
src/views/huifuMch/index.less

@@ -1,51 +0,0 @@
-.huifuPage {
-  width: 100%;
-  background-color: #ffffff;
-  display: flex;
-  overflow: auto;
-  .huifuBox {
-    width: 100%;
-    // border: 1px;
-    // margin-top: 10px;
-    padding: 10px;
-    display: inline-block;
-    background-color: #f6f7f9;
-  }
-  .uploader-container {
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    margin-top: 20px;
-    margin-left: 20px;
-    margin-right: 20px;
-    // gap: 10px;
-  }
-
-  .custom-title {
-    margin-right: 4px;
-    vertical-align: middle;
-  }
-
-  .parent-container {
-    display: flex;
-    flex-direction: column;
-    margin-left: 40px;
-    margin-top: 20px;
-    font-size: 14px;
-  }
-  
-  .parent-container > span {
-    margin-bottom: 20px;
-  }
-
-}
-
-.van-button--primary {
-  background-color: #2c87c8;
-  border-color: #2c87c8;
-}
-
-// .van-radio__icon--checked .van-icon {
-//   background-color: #2c87c8;
-//   border-color: #2c87c8;
-// }

+ 0 - 655
src/views/huifuMch/index.vue

@@ -1,655 +0,0 @@
-<template>
-  <!-- 备用提现账号 -->
-  <div class="huifuPage flex-col">
-    <s-header :name="$t('huifuMch.standbyWithdrawalAccountNo')" :noback="false"></s-header>
-    <!-- 申请表单 -->
-    <div class="huifuform flex-col" v-if="showStatus == null">
-      <van-form @submit="onSubmit">
-        <div class="huifuBox">
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.merchantType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="type" direction="horizontal">
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.personal') }}</van-radio>
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.enterprise') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="regName" name="regName" :label="$t('huifuMch.huifuRegName')"
-            :placeholder="$t('huifuMch.huifuRegNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuRegNamePlaceholder') }]" />
-          <van-field v-model="shortName" name="shortName" :label="$t('huifuMch.shortNameLabel')"
-            :placeholder="$t('huifuMch.shortNamePlaceholder')" />
-          <div v-if="type == 1">
-            <van-field v-model="registeredAddress" is-link readonly name="registeredAddress"
-              :label="$t('huifuMch.huifuRegisteredAddress')"
-              :placeholder="$t('huifuMch.huifuRegisteredAddressPlaceholder')"
-              :rules="[{ required: true, message: $t('huifuMch.huifuRegisteredAddressPlaceholder') }]"
-              @click="showReAddress = true" />
-            <van-field v-model="regDetail" name="regDetail" :label="$t('huifuMch.huifuRegDetail')"
-              :placeholder="$t('huifuMch.huifuRegDetailPlaceholder')"
-              :rules="[{ required: true, message: $t('huifuMch.huifuRegDetailPlaceholder') }]" />
-          </div>
-        </div>
-        <div class="huifuBox" v-if="type == 1">
-          <van-field v-model="companyFoundDate" readonly name="companyFoundDate" :label="$t('huifuMch.companyFoundDate')"
-            :placeholder="$t('huifuMch.companyFoundDatePlaceholder')" @click="showFoundDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.companyFoundDatePlaceholder') }]" />
-          <van-field v-model="licenseCode" name="licenseCode" :label="$t('huifuMch.licenseCode')"
-            :placeholder="$t('huifuMch.licenseCodePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.licenseCodePlaceholder') }]" />
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.validityType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="licenseValidityType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.permanent') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.noPermanent') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="beginDateLicense" readonly name="beginDateLicense" :label="$t('huifuMch.beginDate')"
-            :placeholder="$t('huifuMch.beginDatePlaceholder')" @click="showBeginDateLicense = true"
-            :rules="[{ required: true, message: $t('huifuMch.beginDatePlaceholder') }]" />
-          <van-field v-if="licenseValidityType == 0" v-model="endDateLicense" readonly name="endDateLicense"
-            :label="$t('huifuMch.endDate')" :placeholder="$t('huifuMch.endDatePlaceholder')"
-            @click="showEndDateLicense = true"
-            :rules="[{ required: true, message: $t('huifuMch.endDatePlaceholder') }]" />
-        </div>
-        <div class="huifuBox">
-          <van-field v-model="name" name="name" :label="$t('huifuMch.huifuContactName')"
-            :placeholder="$t('huifuMch.huifuContactNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuContactNamePlaceholder') }]" />
-          <van-field v-model="phone" name="phone" :label="$t('huifuMch.huifuContactMobile')"
-            :placeholder="$t('huifuMch.huifuContactMobilePlaceholder')"
-            :rules="[{ required: true, pattern: /^1[3456789]\d{9}$/, message: $t('huifuMch.huifuContactMobileMessage') }]" />
-          <van-field v-model="email" name="email" :label="$t('huifuMch.huifuContactEmail')"
-            :placeholder="$t('huifuMch.huifuContactEmailPlaceholder')"
-            :rules="[{ required: true, pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, message: $t('huifuMch.huifuContactEmailMessage') }]" />
-          <van-field v-model="businessAddress" is-link readonly name="businessAddress"
-            :label="$t('huifuMch.huifuBusinessAddress')" :placeholder="$t('huifuMch.huifuBusinessAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuBusinessAddressPlaceholder') }]"
-            @click="showArea = true" />
-          <van-field v-model="detailAddr" name="detailAddr" :label="$t('huifuMch.huifuOperatingAddress')"
-            :placeholder="$t('huifuMch.huifuOperatingAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuOperatingAddressPlaceholder') }]" />
-          <van-field v-if="type == 1" v-model="servicePhone" name="servicePhone" :label="$t('huifuMch.huifuServicePhone')"
-            :placeholder="$t('huifuMch.huifuServicePhonePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuServicePhonePlaceholder') }]" />
-        </div>
-        <div class="huifuBox">
-          <div class="van-cell van-field" v-if="type == 1">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.cardType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="cardType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.personalAccount') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.corporateAccount') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="cardName" name="cardName" :label="$t('huifuMch.huifuCardName')"
-            :placeholder="$t('huifuMch.huifuCardNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuCardNamePlaceholder') }]" />
-          <van-field v-model="cardNo" name="cardNo" :label="$t('huifuMch.huifuCardNo')"
-            :placeholder="$t('huifuMch.huifuCardNoPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuCardNoPlaceholder') }]" />
-          <van-field v-if="cardType == '1'" v-model="mp" name="mp" :label="$t('huifuMch.huifuMp')"
-            :placeholder="$t('huifuMch.huifuMpPlaceholder')"
-            :rules="[{ required: true, pattern: /^1[3456789]\d{9}$/, message: $t('huifuMch.huifuContactMobileMessage') }]" />
-          <van-field v-if="cardType == 0" v-model="branchCode" name="branchCode" :label="$t('huifuMch.branchCode')"
-            :placeholder="$t('huifuMch.branchCodePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.branchCodePlaceholder') }]" />
-          <van-field v-if="cardType == 0" v-model="openLicenceNo" name="openLicenceNo"
-            :label="$t('huifuMch.openLicenceNo')" :placeholder="$t('huifuMch.openLicenceNoPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.openLicenceNoPlaceholder') }]" />
-          <van-field v-if="cardType == '1'" v-model="bankAddress" is-link readonly name="bankAddress"
-            :label="$t('huifuMch.huifuBankAddress')" :placeholder="$t('huifuMch.huifuBankAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuBankAddressPlaceholder') }]"
-            @click="showBankAddress = true" />
-          <van-field v-model="certNo" name="certNo" :label="$t('huifuMch.huifuCertNo')"
-            :placeholder="$t('huifuMch.huifuCertNoPlaceholder')"
-            :rules="[{ required: true, pattern: /^\d{17}[\dXx]$/, message: $t('huifuMch.huifuCertNoMessage') }]" />
-          <van-field v-if="cardType == '0'" v-model="certAddress" name="certAddress" :label="$t('huifuMch.certAddress')"
-            :placeholder="$t('huifuMch.certAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.certAddressPlaceholder') }]" />
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.certType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="certValidityType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.permanent') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.noPermanent') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="beginDate" readonly name="beginDate" :label="$t('huifuMch.beginDate')"
-            :placeholder="$t('huifuMch.beginDatePlaceholder')" @click="showBeginDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.beginDatePlaceholder') }]" />
-          <van-field v-if="certValidityType == 0" v-model="endDate" readonly name="endDate"
-            :label="$t('huifuMch.endDate')" :placeholder="$t('huifuMch.endDatePlaceholder')" @click="showEndDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.endDatePlaceholder') }]" />
-        </div>
-        <!-- 地址弹窗 -->
-        <van-popup v-model:show="showArea" position="bottom">
-          <van-area :area-list="areaList" @confirm="onConfirm" @cancel="showArea = false" />
-        </van-popup>
-        <van-popup v-model:show="showBankAddress" position="bottom">
-          <van-area :area-list="areaList" :columns-num="2" @confirm="onConfirmBankAddress"
-            @cancel="showBankAddress = false" />
-        </van-popup>
-        <van-popup v-model:show="showReAddress" position="bottom">
-          <van-area :area-list="areaList" @confirm="onConfirmReAddress" @cancel="showReAddress = false" />
-        </van-popup>
-        <!-- 时间弹窗 -->
-        <van-popup v-model:show="showEndDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDateLicense"
-            @cancel="showEndDateLicense = false" />
-        </van-popup>
-        <van-popup v-model:show="showBeginDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDateLicense"
-            @cancel="showBeginDateLicense = false" />
-        </van-popup>
-        <van-popup v-model:show="showFoundDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmFoundDate"
-            @cancel="showFoundDate = false" />
-        </van-popup>
-        <van-popup v-model:show="showBeginDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDate"
-            @cancel="showBeginDate = false" />
-        </van-popup>
-        <van-popup v-model:show="showEndDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDate"
-            @cancel="showEndDate = false" />
-        </van-popup>
-        <van-row justify="space-around" style="padding: 3em; background-color: #f6f7f9;">
-          <van-button span="10" round type="primary" style=" padding: 0 5em" native-type="submit">{{
-            $t('huifuMch.submit') }}
-          </van-button>
-        </van-row>
-      </van-form>
-    </div>
-    <!-- 上传图片 -->
-    <div class="upLoad flex-col" v-if="showStatus == '0'">
-      <van-cell title="身份证" size="large" icon="contact" />
-      <div class="uploader-container">
-        <van-uploader v-model="certFrontPic" accept=".jpg,.png" :preview-size="[320, 180]"
-          style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-          :after-read="upCertFrontPic" upload-text="点击上传身份证正面照片" capture="camera" image-fit="contain" :max-count="1" />
-        <van-uploader v-model="certBackPic" accept=".jpg,.png" :preview-size="[320, 180]"
-          style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-          :after-read="upCertBackPic" upload-text="点击上传身份证背面照片" capture="camera" image-fit="contain" :max-count="1" />
-      </div>
-      <div v-if="type == '1'">
-        <van-cell title="营业执照" size="large" icon="contact" />
-        <div class="uploader-container">
-          <van-uploader v-model="licensePic" accept=".jpg,.png" :preview-size="[320, 180]"
-            style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-            :after-read="upLicensePic" upload-text="点击上传营业执照" capture="camera" image-fit="contain" :max-count="1" />
-        </div>
-      </div>
-      <div v-if="cardType == '1'">
-        <van-cell title="结算卡" size="large" icon="debit-pay" />
-        <div class="uploader-container">
-          <van-uploader v-model="cardFrontPic" accept=".jpg,.png" :preview-size="[320, 180]"
-            style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-            :after-read="upCardFrontPic" upload-text="点击上传结算卡正面照片" capture="camera" image-fit="contain" :max-count="1" />
-        </div>
-      </div>
-      <div v-if="cardType == '0'">
-        <van-cell title="开户许可证" size="large" icon="debit-pay" />
-        <div class="uploader-container">
-          <van-uploader v-model="regAcctPic" accept=".jpg,.png" :preview-size="[320, 180]"
-            style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-            :after-read="upRegAcctPic" upload-text="点击上传开户许可证照片" capture="camera" image-fit="contain" :max-count="1" />
-        </div>
-      </div>
-      <van-row justify="space-around" style="padding: 3em;">
-        <van-button span="10" round type="primary" style=" padding: 0 5em" native-type="sumbit" @click="submitCheck">{{
-          $t('huifuMch.submit') }}
-        </van-button>
-      </van-row>
-    </div>
-    <!-- 审核状态 -->
-    <div v-if="showStatus == '1' || showStatus == '2' || showStatus == '3' || showStatus == '4'">
-      <van-cell value="" size="large">
-        <!-- 使用 title 插槽来自定义标题 -->
-        <template #title>
-          <span class="custom-title">审核状态: </span>
-          <span v-if="showStatus == '1' || showStatus == '4'" class="custom-title" style="color: #FFA500;">审核中</span>
-          <span v-if="showStatus == '2'" class="custom-title" style="color: #00FF00;">审核通过</span>
-          <span v-if="showStatus == '3'" class="custom-title" style="color: #FF0000;">审核未通过</span>
-        </template>
-      </van-cell>
-      <div class="parent-container" v-if="huifuMchCheck.type == '0'">
-        <span>{{ $t('huifuMch.merchantType') }}:个人</span>
-        <span>{{ $t('huifuMch.huifuRegName') }}:{{ huifuMchCheck.regName }}</span>
-        <span>{{ $t('huifuMch.shortNameLabel') }}:{{ huifuMchCheck.shortName }}</span>
-        <span>{{ $t('huifuMch.huifuContactName') }}:{{ huifuMchCheck.name }}</span>
-        <span>{{ $t('huifuMch.huifuContactMobile') }}:{{ huifuMchCheck.phone }}</span>
-        <span>{{ $t('huifuMch.huifuContactEmail') }}:{{ huifuMchCheck.email }}</span>
-        <span>{{ $t('huifuMch.huifuBusinessAddress') }}:{{ huifuMchCheck.detailAddr }}</span>
-        <span>{{ $t('huifuMch.huifuCardName') }}:{{ huifuMchCheck.cardName }}</span>
-        <span>{{ $t('huifuMch.huifuCardNo') }}:{{ huifuMchCheck.cardNo }}</span>
-        <span>{{ $t('huifuMch.huifuMp') }}:{{ huifuMchCheck.mp }}</span>
-        <span>{{ $t('huifuMch.huifuCertNo') }}:{{ huifuMchCheck.certNo }}</span>
-      </div>
-      <div class="parent-container" v-if="huifuMchCheck.type == '1'">
-        <span>{{ $t('huifuMch.merchantType') }}:企业</span>
-        <span>{{ $t('huifuMch.huifuRegName') }}:{{ huifuMchCheck.regName }}</span>
-        <span>{{ $t('huifuMch.shortNameLabel') }}:{{ huifuMchCheck.shortName }}</span>
-        <span>{{ $t('huifuMch.companyFoundDate') }}:{{ huifuMchCheck.foundDate }}</span>
-        <span>{{ $t('huifuMch.licenseCode') }}:{{ huifuMchCheck.licenseCode }}</span>
-        <span>{{ $t('huifuMch.huifuRegDetail') }}:{{ huifuMchCheck.regDetail }}</span>
-        <span>{{ $t('huifuMch.huifuContactName') }}:{{ huifuMchCheck.name }}</span>
-        <span>{{ $t('huifuMch.huifuContactMobile') }}:{{ huifuMchCheck.phone }}</span>
-        <span>{{ $t('huifuMch.huifuContactEmail') }}:{{ huifuMchCheck.email }}</span>
-        <span>{{ $t('huifuMch.huifuBusinessAddress') }}:{{ huifuMchCheck.detailAddr }}</span>
-        <span>{{ $t('huifuMch.huifuServicePhone') }}:{{ huifuMchCheck.servicePhone }}</span>
-        <span>{{ $t('huifuMch.cardType') }}:{{ huifuMchCheck.cardType == '1' ?
-          $t('huifuMch.personalAccount') : $t('huifuMch.corporateAccount') }}</span>
-        <span>{{ $t('huifuMch.huifuCardName') }}:{{ huifuMchCheck.cardName }}</span>
-        <span>{{ $t('huifuMch.huifuCardNo') }}:{{ huifuMchCheck.cardNo }}</span>
-        <span v-if="huifuMchCheck.cardType == '1'">{{ $t('huifuMch.huifuMp') }}:{{ huifuMchCheck.mp }}</span>
-        <span>{{ $t('huifuMch.huifuCertNo') }}:{{ huifuMchCheck.certNo }}</span>
-        <span v-if="huifuMchCheck.cardType == '0'">{{ $t('huifuMch.openLicenceNo') }}:{{ huifuMchCheck.openLicenceNo
-        }}</span>
-        <span v-if="huifuMchCheck.cardType == '0'">{{ $t('huifuMch.branchCode') }}:{{ huifuMchCheck.branchCode }}</span>
-      </div>
-      <van-row v-if="showStatus == '2' || showStatus == '3'" justify="space-around" style="padding: 3em;">
-        <van-button span="10" round type="primary" style=" padding: 0 5em" native-type="sumbit" @click="updateHuifu">{{
-          $t('huifuMch.update') }}
-        </van-button>
-      </van-row>
-      <van-row v-if="showStatus == '2' || showStatus == '3'" justify="space-around" style="padding: 1em;">
-        <van-button span="5" round type="primary" style="padding: 0 3em" native-type="sumbit" @click="upload">{{
-          $t('huifuMch.uploadPage') }}
-        </van-button>
-      </van-row>
-    </div>
-  </div>
-</template>
-
-<script>
-import { onMounted, reactive, toRefs, ref } from "vue";
-import sHeader from "@/components/SimpleHeader";
-import dateUtil from "@/utils/dateUtil";
-import { Toast } from "vant";
-import { areaList } from "@vant/area-data";
-import { saveHuifuMch, getHuifuMchCheck, submitHuifuCheck, newUploadPic } from "@/service/huifuMch";
-import { getLoginUser } from "@/common/js/utils";
-import { useRouter } from "vue-router";
-import { useI18n } from "vue-i18n";
-
-export default {
-  components: { sHeader },
-  setup() {
-    // 引入语言
-    const { t } = useI18n();
-    const router = useRouter();
-    const user = getLoginUser();
-    const huifuMchCheck = ref(null); // 审核信息
-    const businessAddress = ref(''); //经营地址
-    const registeredAddress = ref(''); //注册地址
-    const bankAddress = ref(''); // 银行地址
-    const showArea = ref(false); // 是否弹窗
-    const showBankAddress = ref(false);
-    const showReAddress = ref(false);
-    const companyFoundDate = ref(''); // 成立日期
-    const showFoundDate = ref(false);
-    const beginDateLicense = ref(''); // 营业执照有效开始日期
-    const showBeginDateLicense = ref(false);
-    const endDateLicense = ref(''); // 营业执照有效截止日期
-    const showEndDateLicense = ref(false);
-    const beginDate = ref(''); // 有效期开始日期
-    const showBeginDate = ref(false);
-    const endDate = ref(''); // 有效期截日期
-    const showEndDate = ref(false);
-    const showStatus = ref(null);
-    const certBackPic = ref();
-    const certFrontPic = ref();
-    const cardFrontPic = ref();
-    const licensePic = ref();
-    const regAcctPic = ref();
-    let addParams = reactive({
-      adminId: user.id, // 当前登录账户的id
-      type: '0', // 类型 String 必填 对公企业:type=1; 个人:type=0
-      regName: '', // 商户名称
-      shortName: '', // 商户简称
-      foundDate: '', // 成立时间
-      licenseCode: '', // 营业执照编号
-      licenseValidityType: "1", // 营业执照有效期类型
-      licenseBeginDate: '', // 营业执照有效开始日期
-      licenseEndDate: '', // 营业执照有效截止日期
-      regProvId: '', // 注册省编码
-      regAreaId: '', // 注册市编码
-      regDistrictId: '', // 注册区编码
-      regDetail: '', // 注册详细地址
-      name: '', // 联系人姓名
-      phone: '', // 联系人手机号码
-      email: '', // 联系人邮箱
-      provId: '', // 省编码
-      areaId: '',  // 省编码
-      districtId: '', // 市编码 
-      detailAddr: '', // 经营地址
-      servicePhone: '', // 客服电话
-      cardName: '', // 卡户名
-      cardType: '1', // 结算账户类型,“0”为对公账户,“1”为个人账户
-      cardNo: '', // 银行卡号
-      branchCode: '', // 联行号
-      openLicenceNo: '', // 基本存款账户编号或核准号
-      cardProvId: '', // 省编码
-      cardAreaId: '', // 省编码
-      mp: '', // 结算手机号
-      certNo: '', // 身份证号
-      certAddress: '', // 身份证地址
-      certValidityType: '1', // 身份证有效期类型
-      certBeginDate: '', // 有效期开始日期
-      certEndDate: '', // 有效期截止日期
-    });
-    const params = {
-      adminId: user.id,
-      base64Str: null,
-      fileType: null,
-    };
-    // 上传身份证正面
-    const upCertFrontPic = async (file) => {
-      file.status = 'uploading';
-      file.message = '上传中...';
-      params.base64Str = certFrontPic.value[0].content;
-      if (addParams.type === '0') {
-        params.fileType = "F40";
-      } else {
-        params.fileType = "F02";
-      }
-      console.log("params", params);
-      try {
-        const { data } = await newUploadPic(params);
-        if (data.code == "00000") {
-          console.log(data);
-          file.status = 'done';
-        } else {
-          file.status = 'failed';
-          file.message = '上传失败';
-        }
-      } catch {
-        file.status = 'failed';
-        file.message = '上传失败';
-      }
-    };
-    // 上传身份证背面
-    const upCertBackPic = async (file) => {
-      file.status = 'uploading';
-      file.message = '上传中...';
-      params.base64Str = certBackPic.value[0].content;
-      if (addParams.type === '0') {
-        params.fileType = "F41";
-      } else {
-        params.fileType = "F03";
-      }
-      console.log("params", params);
-      try {
-        const { data } = await newUploadPic(params);
-        if (data.code == "00000") {
-          console.log(data);
-          file.status = 'done';
-        } else {
-          file.status = 'failed';
-          file.message = '上传失败';
-        }
-      } catch {
-        file.status = 'failed';
-        file.message = '上传失败';
-      }
-    };
-    // 上传结算卡正面
-    const upCardFrontPic = async (file) => {
-      file.status = 'uploading';
-      file.message = '上传中...';
-      params.base64Str = cardFrontPic.value[0].content;
-      params.fileType = "F13";
-      try {
-        const { data } = await newUploadPic(params);
-        if (data.code == "00000") {
-          console.log(data);
-          file.status = 'done';
-        } else {
-          file.status = 'failed';
-          file.message = '上传失败';
-        }
-      } catch {
-        file.status = 'failed';
-        file.message = '上传失败';
-      }
-    };
-    // 上传营业执照
-    const upLicensePic = async (file) => {
-      file.status = 'uploading';
-      file.message = '上传中...';
-      params.base64Str = licensePic.value[0].content;
-      params.fileType = "F07";
-      try {
-        const { data } = await newUploadPic(params);
-        if (data.code == "00000") {
-          console.log(data);
-          file.status = 'done';
-        } else {
-          file.status = 'failed';
-          file.message = '上传失败';
-        }
-      } catch {
-        file.status = 'failed';
-        file.message = '上传失败';
-      }
-    };
-    // 上传开户许可证
-    const upRegAcctPic = async (file) => {
-      file.status = 'uploading';
-      file.message = '上传中...';
-      params.base64Str = regAcctPic.value[0].content;
-      params.fileType = "F08";
-      try {
-        const { data } = await newUploadPic(params);
-        if (data.code == "00000") {
-          console.log(data);
-          file.status = 'done';
-        } else {
-          file.status = 'failed';
-          file.message = '上传失败';
-        }
-      } catch {
-        file.status = 'failed';
-        file.message = '上传失败';
-      }
-    };
-    const onOversize = (file) => {
-      console.log(file);
-      Toast('文件大小不能超过 2MB');
-    };
-    // 地址选择
-    const onConfirm = (areaValues) => {
-      console.log(areaValues)
-      showArea.value = false;
-      businessAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.provId = areaValues[0]?.code || '';
-      addParams.areaId = areaValues[1]?.code || '';
-      addParams.districtId = areaValues[2]?.code || '';
-      // addParams.detailAddr = areaValues[0].name + areaValues[1].name + areaValues[2].name;
-    };
-    const onConfirmBankAddress = (areaValues) => {
-      console.log(areaValues)
-      showBankAddress.value = false;
-      bankAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.cardProvId = areaValues[0]?.code || '';
-      addParams.cardAreaId = areaValues[1]?.code || '';
-    };
-    const onConfirmReAddress = (areaValues) => {
-      showReAddress.value = false;
-      registeredAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.regProvId = areaValues[0]?.code || '';
-      addParams.regAreaId = areaValues[1]?.code || '';
-      addParams.regDistrictId = areaValues[2]?.code || '';
-    };
-    // 时间选择
-    const onConfirmEndDateLicense = (value) => {
-      endDateLicense.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.licenseEndDate = endDateLicense.value.replace(/-/g, "");
-      showEndDateLicense.value = false;
-    };
-    const onConfirmBeginDateLicense = (value) => {
-      beginDateLicense.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.licenseBeginDate = beginDateLicense.value.replace(/-/g, "");
-      showBeginDateLicense.value = false;
-    };
-    const onConfirmFoundDate = (value) => {
-      companyFoundDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.foundDate = companyFoundDate.value.replace(/-/g, "");
-      showFoundDate.value = false;
-    };
-    const onConfirmBeginDate = (value) => {
-      beginDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.certBeginDate = beginDate.value.replace(/-/g, "");
-      showBeginDate.value = false;
-    };
-    const onConfirmEndDate = (value) => {
-      endDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.certEndDate = endDate.value.replace(/-/g, "");
-      showEndDate.value = false;
-    };
-    onMounted(async () => {
-      const { data } = await getHuifuMchCheck({ adminId: user.id });
-      console.log(data.data);
-      if (data.data != null) {
-        huifuMchCheck.value = data.data;
-        showStatus.value = huifuMchCheck.value.status;
-        addParams.type = huifuMchCheck.value.type;
-        addParams.cardType = huifuMchCheck.value.cardType;
-      }
-    });
-    // 提交审核
-    const submitCheck = async () => {
-      if (certFrontPic.value == null) {
-        Toast("请上传身份证正面照片");
-        return;
-      } else if (certBackPic.value == null) {
-        Toast("请上传身份证背面照片");
-        return;
-      }
-      if (addParams.cardType == '1') {
-        if (cardFrontPic.value == null) {
-          Toast("请上传结算卡正面照片");
-          return;
-        }
-      } else {
-        if (licensePic.value == null) {
-          Toast("请上传营业执照照片");
-          return;
-        }
-        if (regAcctPic.value == null) {
-          Toast("请上传开户许可证照片");
-          return;
-        }
-      }
-
-      const { data } = await submitHuifuCheck(addParams);
-      if (data.code == "00000") {
-        console.log(data);
-        Toast.success(t('huifuMch.submittedSuccessfully'));
-        setTimeout(() => {
-          router.go(0);
-        }, 1500);
-      } else {
-        Toast.fail(`${t('huifuMch.submitFailed')} ${data.message}`);
-      }
-    }
-    // 跳转到修改页面
-    const updateHuifu = async () => {
-      router.push("/huifuMchEdit");
-    }
-    // 跳转到上传图片页面
-    const upload = async () => {
-      router.push("/upload");
-    }
-
-    // 提交审核表单
-    const onSubmit = async () => {
-      console.log('onSubmit', addParams);
-      saveHuifuMchFun();
-    };
-    const saveHuifuMchFun = async () => {
-      const { data } = await saveHuifuMch(addParams);
-      if (data.code === "00000") {
-        Toast.success(t('huifuMch.submittedSuccessfully'));
-        setTimeout(() => {
-          router.go(0);
-        }, 1500);
-      } else {
-        Toast.fail(`${t('huifuMch.submitFailed')} ${data.message}`);
-      }
-      console.log("onSubmit", data);
-    };
-    return {
-      ...toRefs(addParams),
-      onSubmit,
-      showStatus,
-      businessAddress,
-      bankAddress,
-      registeredAddress,
-      huifuMchCheck,
-      areaList,
-
-      beginDateLicense,
-      endDateLicense,
-      companyFoundDate,
-      beginDate,
-      endDate,
-
-      showArea,
-      showBankAddress,
-      showReAddress,
-      showBeginDateLicense,
-      showEndDateLicense,
-      showFoundDate,
-      showBeginDate,
-      showEndDate,
-
-      onConfirm,
-      onConfirmBankAddress,
-      onConfirmReAddress,
-      onConfirmBeginDateLicense,
-      onConfirmEndDateLicense,
-      onConfirmFoundDate,
-      onConfirmBeginDate,
-      onConfirmEndDate,
-
-      minDate: new Date(2000, 0, 1),
-      maxDate: new Date(2035, 11, 31),
-      licensePic,
-      regAcctPic,
-      certBackPic,
-      certFrontPic,
-      upLicensePic,
-      upRegAcctPic,
-      upCertBackPic,
-      upCertFrontPic,
-      upCardFrontPic,
-      cardFrontPic,
-      submitCheck,
-      onOversize,
-      updateHuifu,
-      upload,
-    };
-  },
-};
-</script>
-
-<style lang="less" scoped>
-@import "../../common/style/common.less";
-@import "./index.less";
-</style>

+ 0 - 492
src/views/huifuMch/update.vue

@@ -1,492 +0,0 @@
-<template>
-  <!-- 备用提现账号 -->
-  <div class="huifuPage flex-col">
-    <s-header :name="$t('huifuMch.standbyWithdrawalAccountNo')" :noback="false"></s-header>
-    <!-- 申请表单 -->
-    <div class="huifuform flex-col">
-      <van-form @submit="onSubmit">
-        <div class="huifuBox">
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.merchantType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="type" direction="horizontal" disabled>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.personal') }}</van-radio>
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.enterprise') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="regName" name="regName" :label="$t('huifuMch.huifuRegName')"
-            :placeholder="$t('huifuMch.huifuRegNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuRegNamePlaceholder') }]" />
-          <van-field v-model="shortName" name="shortName" :label="$t('huifuMch.shortNameLabel')"
-            :placeholder="$t('huifuMch.shortNamePlaceholder')" />
-          <div v-if="type == 1">
-            <van-field v-model="registeredAddress" is-link readonly name="registeredAddress"
-              :label="$t('huifuMch.huifuRegisteredAddress')"
-              :placeholder="$t('huifuMch.huifuRegisteredAddressPlaceholder')"
-              :rules="[{ required: true, message: $t('huifuMch.huifuRegisteredAddressPlaceholder') }]"
-              @click="showReAddress = true" />
-            <van-field v-model="regDetail" name="regDetail" :label="$t('huifuMch.huifuRegDetail')"
-              :placeholder="$t('huifuMch.huifuRegDetailPlaceholder')"
-              :rules="[{ required: true, message: $t('huifuMch.huifuRegDetailPlaceholder') }]" />
-          </div>
-        </div>
-        <div class="huifuBox" v-if="type == 1">
-          <van-field v-model="companyFoundDate" readonly name="companyFoundDate" :label="$t('huifuMch.companyFoundDate')"
-            :placeholder="$t('huifuMch.companyFoundDatePlaceholder')" @click="showFoundDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.companyFoundDatePlaceholder') }]" />
-          <van-field v-model="licenseCode" name="licenseCode" :label="$t('huifuMch.licenseCode')"
-            :placeholder="$t('huifuMch.licenseCodePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.licenseCodePlaceholder') }]" />
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.validityType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="licenseValidityType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.permanent') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.noPermanent') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="beginDateLicense" readonly name="beginDateLicense" :label="$t('huifuMch.beginDate')"
-            :placeholder="$t('huifuMch.beginDatePlaceholder')" @click="showBeginDateLicense = true"
-            :rules="[{ required: true, message: $t('huifuMch.beginDatePlaceholder') }]" />
-          <van-field v-if="licenseValidityType == 0" v-model="endDateLicense" readonly name="endDateLicense"
-            :label="$t('huifuMch.endDate')" :placeholder="$t('huifuMch.endDatePlaceholder')"
-            @click="showEndDateLicense = true"
-            :rules="[{ required: true, message: $t('huifuMch.endDatePlaceholder') }]" />
-        </div>
-        <div class="huifuBox">
-          <van-field v-model="name" name="name" :label="$t('huifuMch.huifuContactName')"
-            :placeholder="$t('huifuMch.huifuContactNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuContactNamePlaceholder') }]" />
-          <van-field v-model="phone" name="phone" :label="$t('huifuMch.huifuContactMobile')"
-            :placeholder="$t('huifuMch.huifuContactMobilePlaceholder')"
-            :rules="[{ required: true, pattern: /^1[3456789]\d{9}$/, message: $t('huifuMch.huifuContactMobileMessage') }]" />
-          <van-field v-model="email" name="email" :label="$t('huifuMch.huifuContactEmail')"
-            :placeholder="$t('huifuMch.huifuContactEmailPlaceholder')"
-            :rules="[{ required: true, pattern: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, message: $t('huifuMch.huifuContactEmailMessage') }]" />
-          <van-field v-model="businessAddress" is-link readonly name="businessAddress"
-            :label="$t('huifuMch.huifuBusinessAddress')" :placeholder="$t('huifuMch.huifuBusinessAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuBusinessAddressPlaceholder') }]"
-            @click="showArea = true" />
-          <van-field v-model="detailAddr" name="detailAddr" :label="$t('huifuMch.huifuOperatingAddress')"
-            :placeholder="$t('huifuMch.huifuOperatingAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuOperatingAddressPlaceholder') }]" />
-          <van-field v-if="type == 1" v-model="servicePhone" name="servicePhone" :label="$t('huifuMch.huifuServicePhone')"
-            :placeholder="$t('huifuMch.huifuServicePhonePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuServicePhonePlaceholder') }]" />
-        </div>
-        <div class="huifuBox">
-          <div class="van-cell van-field" v-if="type == 1">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.cardType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="cardType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.personalAccount') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.corporateAccount') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="cardName" name="cardName" :label="$t('huifuMch.huifuCardName')"
-            :placeholder="$t('huifuMch.huifuCardNamePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuCardNamePlaceholder') }]" />
-          <van-field v-model="cardNo" name="cardNo" :label="$t('huifuMch.huifuCardNo')"
-            :placeholder="$t('huifuMch.huifuCardNoPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuCardNoPlaceholder') }]" />
-          <van-field v-if="cardType == '1'" v-model="mp" name="mp" :label="$t('huifuMch.huifuMp')"
-            :placeholder="$t('huifuMch.huifuMpPlaceholder')"
-            :rules="[{ required: true, pattern: /^1[3456789]\d{9}$/, message: $t('huifuMch.huifuContactMobileMessage') }]" />
-          <van-field v-if="cardType == 0" v-model="branchCode" name="branchCode" :label="$t('huifuMch.branchCode')"
-            :placeholder="$t('huifuMch.branchCodePlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.branchCodePlaceholder') }]" />
-          <van-field v-if="cardType == 0" v-model="openLicenceNo" name="openLicenceNo"
-            :label="$t('huifuMch.openLicenceNo')" :placeholder="$t('huifuMch.openLicenceNoPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.openLicenceNoPlaceholder') }]" />
-          <van-field v-if="cardType == '1'" v-model="bankAddress" is-link readonly name="bankAddress"
-            :label="$t('huifuMch.huifuBankAddress')" :placeholder="$t('huifuMch.huifuBankAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.huifuBankAddressPlaceholder') }]"
-            @click="showBankAddress = true" />
-          <van-field v-model="certNo" name="certNo" :label="$t('huifuMch.huifuCertNo')"
-            :placeholder="$t('huifuMch.huifuCertNoPlaceholder')"
-            :rules="[{ required: true, pattern: /^\d{17}[\dXx]$/, message: $t('huifuMch.huifuCertNoMessage') }]" />
-          <van-field v-if="cardType == '0'" v-model="certAddress" name="certAddress" :label="$t('huifuMch.certAddress')"
-            :placeholder="$t('huifuMch.certAddressPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.certAddressPlaceholder') }]" />
-          <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('huifuMch.certType') }}</span></div>
-            <div class="van-cell__value van-field__value radioBox">
-              <van-radio-group v-model="certValidityType" direction="horizontal">
-                <van-radio name="1" icon-size="18px">{{ $t('huifuMch.permanent') }}</van-radio>
-                <van-radio name="0" icon-size="18px">{{ $t('huifuMch.noPermanent') }}</van-radio>
-              </van-radio-group>
-            </div>
-          </div>
-          <van-field v-model="beginDate" readonly name="beginDate" :label="$t('huifuMch.beginDate')"
-            :placeholder="$t('huifuMch.beginDatePlaceholder')" @click="showBeginDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.beginDatePlaceholder') }]" />
-          <van-field v-if="certValidityType == 0" v-model="endDate" readonly name="endDate"
-            :label="$t('huifuMch.endDate')" :placeholder="$t('huifuMch.endDatePlaceholder')" @click="showEndDate = true"
-            :rules="[{ required: true, message: $t('huifuMch.endDatePlaceholder') }]" />
-          <van-field v-if="status === '2'" v-model="sms" center clearable :label="$t('huifuMch.sms')"
-            :placeholder="$t('huifuMch.smsPlaceholder')"
-            :rules="[{ required: true, message: $t('huifuMch.smsPlaceholder') }]">
-            <template #button>
-              <van-button size="small" type="primary" @click="sendCode()" :disabled="time !== 0">
-                {{ time === 0 ? $t('huifuMch.sendSms') : time + $t('huifuMch.replaysInSeconds') }}
-              </van-button>
-            </template>
-          </van-field>
-        </div>
-        <!-- 地址弹窗 -->
-        <van-popup v-model:show="showArea" position="bottom">
-          <van-area :area-list="areaList" @confirm="onConfirm" @cancel="showArea = false" />
-        </van-popup>
-        <van-popup v-model:show="showBankAddress" position="bottom">
-          <van-area :area-list="areaList" :columns-num="2" @confirm="onConfirmBankAddress"
-            @cancel="showBankAddress = false" />
-        </van-popup>
-        <van-popup v-model:show="showReAddress" position="bottom">
-          <van-area :area-list="areaList" @confirm="onConfirmReAddress" @cancel="showReAddress = false" />
-        </van-popup>
-        <!-- 时间弹窗 -->
-        <van-popup v-model:show="showEndDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDateLicense"
-            @cancel="showEndDateLicense = false" />
-        </van-popup>
-        <van-popup v-model:show="showBeginDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDateLicense"
-            @cancel="showBeginDateLicense = false" />
-        </van-popup>
-        <van-popup v-model:show="showFoundDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmFoundDate"
-            @cancel="showFoundDate = false" />
-        </van-popup>
-        <van-popup v-model:show="showBeginDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDate"
-            @cancel="showBeginDate = false" />
-        </van-popup>
-        <van-popup v-model:show="showEndDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDate"
-            @cancel="showEndDate = false" />
-        </van-popup>
-        <van-row justify="space-around" style="padding: 3em; background-color: #f6f7f9;">
-          <van-button span="10" round type="primary" style=" padding: 0 5em" native-type="submit">{{
-            $t('huifuMch.submit') }}
-          </van-button>
-        </van-row>
-      </van-form>
-    </div>
-  </div>
-</template>
-  
-<script>
-import { onMounted, reactive, toRefs, ref } from "vue";
-import sHeader from "@/components/SimpleHeader";
-import dateUtil from "@/utils/dateUtil";
-import { Toast } from "vant";
-import { areaList } from "@vant/area-data";
-import { getHuifuMchCheck, updateMerchant, sendSms } from "@/service/huifuMch";
-import { getLoginUser, getLocal, setLocal } from "@/common/js/utils";
-import { useRouter } from "vue-router";
-import { useI18n } from "vue-i18n";
-
-export default {
-  components: { sHeader },
-  setup() {
-    // 引入语言
-    const { t } = useI18n();
-    const router = useRouter();
-    const user = getLoginUser();
-    const huifuMchCheck = ref(null); // 审核信息
-    const businessAddress = ref(''); //经营地址
-    const registeredAddress = ref(''); //注册地址
-    const bankAddress = ref(''); // 银行地址
-    const showArea = ref(false); // 是否弹窗
-    const showBankAddress = ref(false);
-    const showReAddress = ref(false);
-    const companyFoundDate = ref(''); // 成立日期
-    const showFoundDate = ref(false);
-    const beginDateLicense = ref(''); // 营业执照有效开始日期
-    const showBeginDateLicense = ref(false);
-    const endDateLicense = ref(''); // 营业执照有效截止日期
-    const showEndDateLicense = ref(false);
-    const beginDate = ref(''); // 有效期开始日期
-    const showBeginDate = ref(false);
-    const endDate = ref(''); // 有效期截日期
-    const showEndDate = ref(false);
-    const showStatus = ref(null);
-    const status = ref(''); // 审核状态
-    const verCodeTime = reactive({
-      time: 0
-    });
-    let addParams = reactive({
-      adminId: user.id, // 当前登录账户的id
-      type: '0', // 类型 String 必填 对公企业:type=0; 个人:type=1
-      regName: '', // 商户名称
-      shortName: '', // 商户简称
-      foundDate: '', // 成立时间
-      licenseCode: '', // 营业执照编号
-      licenseValidityType: "1", // 营业执照有效期类型
-      licenseBeginDate: '', // 营业执照有效开始日期
-      licenseEndDate: '', // 营业执照有效截止日期
-      regProvId: '', // 注册省编码
-      regAreaId: '', // 注册市编码
-      regDistrictId: '', // 注册区编码
-      regDetail: '', // 注册详细地址
-      name: '', // 联系人姓名
-      phone: '', // 联系人手机号码
-      email: '', // 联系人邮箱
-      provId: '', // 省编码
-      areaId: '',  // 省编码
-      districtId: '', // 市编码 
-      detailAddr: '', // 经营地址
-      servicePhone: '', // 客服电话
-      cardName: '', // 卡户名
-      cardType: '1', // 结算账户类型,“0”为对公账户,“1”为个人账户
-      cardNo: '', // 银行卡号
-      branchCode: '', // 联行号
-      openLicenceNo: '', // 基本存款账户编号或核准号
-      cardProvId: '', // 省编码
-      cardAreaId: '', // 省编码
-      mp: '', // 结算手机号
-      certNo: '', // 身份证号
-      certAddress: '', // 身份证地址
-      certValidityType: '1', // 身份证有效期类型
-      certBeginDate: '', // 有效期开始日期
-      certEndDate: '', // 有效期截止日期
-      sms: '', // 验证码
-    });
-    // 地址选择
-    const onConfirm = (areaValues) => {
-      console.log(areaValues)
-      showArea.value = false;
-      businessAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.provId = areaValues[0]?.code || '';
-      addParams.areaId = areaValues[1]?.code || '';
-      addParams.districtId = areaValues[2]?.code || '';
-      // addParams.detailAddr = areaValues[0].name + areaValues[1].name + areaValues[2].name;
-    };
-    const onConfirmBankAddress = (areaValues) => {
-      console.log(areaValues)
-      showBankAddress.value = false;
-      bankAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.cardProvId = areaValues[0]?.code || '';
-      addParams.cardAreaId = areaValues[1]?.code || '';
-    };
-    const onConfirmReAddress = (areaValues) => {
-      showReAddress.value = false;
-      registeredAddress.value = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('/');
-      addParams.regProvId = areaValues[0]?.code || '';
-      addParams.regAreaId = areaValues[1]?.code || '';
-      addParams.regDistrictId = areaValues[2]?.code || '';
-    };
-    // 时间选择
-    const onConfirmEndDateLicense = (value) => {
-      endDateLicense.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.licenseEndDate = endDateLicense.value.replace(/-/g, "");
-      showEndDateLicense.value = false;
-    };
-    const onConfirmBeginDateLicense = (value) => {
-      beginDateLicense.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.licenseBeginDate = beginDateLicense.value.replace(/-/g, "");
-      showBeginDateLicense.value = false;
-    };
-    const onConfirmFoundDate = (value) => {
-      companyFoundDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.foundDate = companyFoundDate.value.replace(/-/g, "");
-      showFoundDate.value = false;
-    };
-    const onConfirmBeginDate = (value) => {
-      beginDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.certBeginDate = beginDate.value.replace(/-/g, "");
-      showBeginDate.value = false;
-    };
-    const onConfirmEndDate = (value) => {
-      endDate.value = dateUtil.formateDate(value, "yyyy-MM-dd");
-      addParams.certEndDate = endDate.value.replace(/-/g, "");
-      showEndDate.value = false;
-    };
-    // 将日期格式转换为'YYYY-MM-DD'格式
-    const formatDate = (value) => {
-      const year = value.slice(0, 4);
-      const month = value.slice(4, 6);
-      const day = value.slice(6, 8);
-      return `${year}-${month}-${day}`;
-    };
-    // 发送验证码
-    const sendCode = async () => {
-      const { data } = await sendSms({
-        adminId: user.id,
-      });
-      console.log('seedVerCodeSuccess', data);
-      if (data.code === '00000') {
-        Toast({
-          duration: 2000,
-          message: t('huifuMch.successSend') + '\n' + maskPhoneNumber(data.data.phone)
-        });
-        console.log('seedVerCodeSuccess');
-        verCodeTime.time = 60;
-        verCodeTimeInterval();
-      } else {
-        Toast.fail(data.message);
-      }
-    }
-    // 格式手机号码
-    const maskPhoneNumber = (value) => {
-      const prefix = value.slice(0, 3);
-      const suffix = value.slice(-4);
-      return `${prefix}****${suffix}`;
-    }
-    // 验证码发送成功开始3分钟倒计时
-    const verCodeTimeInterval = () => {
-      verCodeTime.time--;
-      setLocal('registerVerCodeTime', verCodeTime.time)
-      if (verCodeTime.time !== 0) {
-        setTimeout(() => {
-          verCodeTimeInterval();
-        }, 1000);
-      }
-    }
-    //
-    onMounted(async () => {
-      const { data } = await getHuifuMchCheck({ adminId: user.id });
-      console.log(data.data);
-      if (data.data != null) {
-        huifuMchCheck.value = data.data;
-        status.value = data.data.status;
-        addParams.type = data.data.type;
-        addParams.regName = data.data.regName;
-        addParams.shortName = data.data.shortName;
-        if (data.data.type === "1") {
-          addParams.regDetail = data.data.detailAddr;
-          addParams.licenseCode = data.data.licenseCode;
-          addParams.servicePhone = data.data.servicePhone;
-          addParams.regProvId = data.data.provId;
-          addParams.regAreaId = data.data.areaId;
-          addParams.regDistrictId = data.data.districtId;
-          addParams.foundDate = data.data.foundDate;
-          addParams.licenseValidityType = data.data.licenseValidityType;
-          addParams.licenseBeginDate = data.data.licenseBeginDate;
-          addParams.licenseEndDate = data.data.licenseEndDate;
-          companyFoundDate.value = formatDate(data.data.foundDate);
-          beginDateLicense.value = formatDate(data.data.licenseBeginDate);
-          endDateLicense.value = formatDate(data.data.licenseEndDate);
-          registeredAddress.value = areaList.province_list[data.data.provId] + '/' + areaList.city_list[data.data.areaId] + '/' + areaList.county_list[data.data.districtId];
-        }
-        addParams.name = data.data.name;
-        addParams.phone = data.data.phone;
-        addParams.email = data.data.email;
-        addParams.cardName = data.data.cardName;
-        addParams.cardNo = data.data.cardNo;
-        addParams.provId = data.data.provId;
-        addParams.areaId = data.data.areaId;
-        addParams.districtId = data.data.districtId;
-        addParams.detailAddr = data.data.detailAddr;
-        addParams.cardType = data.data.cardType;
-        if(data.data.cardType === "0") {
-          addParams.branchCode = data.data.branchCode;
-          addParams.openLicenceNo = data.data.openLicenceNo;
-          addParams.certAddress = data.data.certAddress;
-        }
-        addParams.cardProvId = data.data.cardProvId;
-        addParams.cardAreaId = data.data.cardAreaId;
-        addParams.mp = data.data.mp;
-        addParams.certNo = data.data.certNo;
-        addParams.certValidityType = data.data.certValidityType;
-        addParams.certBeginDate = data.data.certBeginDate;
-        addParams.certEndDate = data.data.certEndDate;
-        beginDate.value = formatDate(data.data.certBeginDate);
-        endDate.value = formatDate(data.data.certEndDate);
-        businessAddress.value = areaList.province_list[data.data.provId] + '/' + areaList.city_list[data.data.areaId] + '/' + areaList.county_list[data.data.districtId];
-        bankAddress.value = areaList.province_list[data.data.cardProvId] + '/' + areaList.city_list[data.data.cardAreaId]
-        verCodeTime.time = getLocal('registerVerCodeTime');
-        if (verCodeTime.time && verCodeTime.time !== '') {
-          verCodeTime.time = parseInt(verCodeTime.time);
-          if (verCodeTime.time > 0) {
-            verCodeTimeInterval();
-          }
-        } else {
-          verCodeTime.time = 0;
-        }
-      } else {
-        Toast.fail(data.message);
-      }
-    });
-    // 提交修改审核
-    const submitUpdateCheck = async () => {
-      const { data } = await updateMerchant(addParams);
-      if (data.code == "00000") {
-        console.log(data);
-        Toast.success(t('huifuMch.submittedSuccessfully'));
-        setTimeout(() => {
-          router.go(-1);
-        }, 1000);
-      } else {
-        Toast.fail(`${t('huifuMch.submitFailed')} ${data.message}`);
-      }
-    }
-    const onSubmit = async () => {
-      console.log('onSubmit', addParams);
-      submitUpdateCheck();
-    };
-    return {
-      ...toRefs(addParams),
-      ...toRefs(verCodeTime),
-      verCodeTime,
-      sendCode,
-      onSubmit,
-      showStatus,
-      businessAddress,
-      bankAddress,
-      registeredAddress,
-      huifuMchCheck,
-      areaList,
-
-      beginDateLicense,
-      endDateLicense,
-      companyFoundDate,
-      beginDate,
-      endDate,
-
-      showArea,
-      showBankAddress,
-      showReAddress,
-      showBeginDateLicense,
-      showEndDateLicense,
-      showFoundDate,
-      showBeginDate,
-      showEndDate,
-
-      onConfirm,
-      onConfirmBankAddress,
-      onConfirmReAddress,
-      onConfirmBeginDateLicense,
-      onConfirmEndDateLicense,
-      onConfirmFoundDate,
-      onConfirmBeginDate,
-      onConfirmEndDate,
-
-      status,
-      minDate: new Date(2000, 0, 1),
-      maxDate: new Date(2035, 11, 31),
-      submitUpdateCheck,
-      formatDate,
-      maskPhoneNumber,
-    };
-  },
-};
-</script>
-  
-<style lang="less" scoped>
-@import "../../common/style/common.less";
-@import "./index.less";
-</style>
-  

+ 0 - 359
src/views/huifuMch/upload.vue

@@ -1,359 +0,0 @@
-<template>
-    <!-- 备用提现账号 -->
-    <div class="huifuPage flex-col">
-        <s-header :name="$t('huifuMch.standbyWithdrawalAccountNo')" :noback="false"></s-header>
-        <!-- 上传图片 -->
-        <div class="upLoad flex-col">
-            <van-cell title="身份证" size="large" icon="contact" />
-            <div class="uploader-container">
-                <van-uploader v-model="certFrontPic" accept=".jpg,.png" :preview-size="[320, 180]"
-                    style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-                    :after-read="upCertFrontPic" upload-text="点击上传身份证正面照片" capture="camera" image-fit="contain"
-                    :max-count="1" />
-                <van-uploader v-model="certBackPic" accept=".jpg,.png" :preview-size="[320, 180]"
-                    style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-                    :after-read="upCertBackPic" upload-text="点击上传身份证背面照片" capture="camera" image-fit="contain"
-                    :max-count="1" />
-            </div>
-            <div v-if="type == '1'">
-                <van-cell title="营业执照" size="large" icon="contact" />
-                <div class="uploader-container">
-                    <van-uploader v-model="licensePic" accept=".jpg,.png" :preview-size="[320, 180]"
-                        style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-                        :after-read="upLicensePic" upload-text="点击上传营业执照" capture="camera" image-fit="contain"
-                        :max-count="1" />
-                </div>
-            </div>
-            <div v-if="cardType == '1'">
-                <van-cell title="结算卡" size="large" icon="debit-pay" />
-                <div class="uploader-container">
-                    <van-uploader v-model="cardFrontPic" accept=".jpg,.png" :preview-size="[320, 180]"
-                        style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-                        :after-read="upCardFrontPic" upload-text="点击上传结算卡正面照片" capture="camera" image-fit="contain"
-                        :max-count="1" />
-                </div>
-            </div>
-            <div v-if="cardType == '0'">
-                <van-cell title="开户许可证" size="large" icon="debit-pay" />
-                <div class="uploader-container">
-                    <van-uploader v-model="regAcctPic" accept=".jpg,.png" :preview-size="[320, 180]"
-                        style="display: block; padding: 0.5em 1em;" :max-size="2 * 1024 * 1024" @oversize="onOversize"
-                        :after-read="upRegAcctPic" upload-text="点击上传开户许可证照片" capture="camera" image-fit="contain"
-                        :max-count="1" />
-                </div>
-            </div>
-            <!-- <div>
-                <input type="file" ref="fileInput" @change="handleFileChange" accept="image/*" />
-                <button @click="uploadImage">上传图片</button>
-            </div> -->
-            <van-row justify="space-around" style="padding: 3em;">
-                <van-button span="10" round type="primary" style=" padding: 0 5em" native-type="sumbit"
-                    @click="submitCheck">{{
-                        $t('huifuMch.submit') }}
-                </van-button>
-            </van-row>
-        </div>
-    </div>
-</template>
-  
-<script>
-import { onMounted, reactive, toRefs, ref } from "vue";
-import sHeader from "@/components/SimpleHeader";
-import { Toast } from "vant";
-import { getHuifuMchCheck, uploadPic } from "@/service/huifuMch";
-import { getLoginUser } from "@/common/js/utils";
-import { useRouter } from "vue-router";
-import { useI18n } from "vue-i18n";
-
-export default {
-    components: { sHeader },
-    setup() {
-        // 引入语言
-        const { t } = useI18n();
-        const router = useRouter();
-        const user = getLoginUser();
-        const huifuMchCheck = ref(null); // 审核信息
-        const certBackPic = ref();
-        const certFrontPic = ref();
-        const cardFrontPic = ref();
-        const licensePic = ref();
-        const regAcctPic = ref();
-        let addParams = reactive({
-            adminId: user.id, // 当前登录账户的id
-            type: '0', // 类型 String 必填 对公企业:type=0; 个人:type=1
-            regName: '', // 商户名称
-            shortName: '', // 商户简称
-            foundDate: '', // 成立时间
-            licenseCode: '', // 营业执照编号
-            licenseValidityType: "1", // 营业执照有效期类型
-            licenseBeginDate: '', // 营业执照有效开始日期
-            licenseEndDate: '', // 营业执照有效截止日期
-            regProvId: '', // 注册省编码
-            regAreaId: '', // 注册市编码
-            regDistrictId: '', // 注册区编码
-            regDetail: '', // 注册详细地址
-            name: '', // 联系人姓名
-            phone: '', // 联系人手机号码
-            email: '', // 联系人邮箱
-            provId: '', // 省编码
-            areaId: '',  // 省编码
-            districtId: '', // 市编码 
-            detailAddr: '', // 经营地址
-            servicePhone: '', // 客服电话
-            cardName: '', // 卡户名
-            cardType: '1', // 结算账户类型,“0”为对公账户,“1”为个人账户
-            cardNo: '', // 银行卡号
-            branchCode: '', // 联行号
-            openLicenceNo: '', // 基本存款账户编号或核准号
-            cardProvId: '', // 省编码
-            cardAreaId: '', // 省编码
-            mp: '', // 结算手机号
-            certNo: '', // 身份证号
-            certAddress: '', // 身份证地址
-            certValidityType: '1', // 身份证有效期类型
-            certBeginDate: '', // 有效期开始日期
-            certEndDate: '', // 有效期截止日期
-        });
-        // 上传身份证正面
-        const upCertFrontPic = async (file) => {
-            file.status = 'uploading';
-            file.message = '上传中...';
-            const formData = new FormData();
-            formData.append('file', file.file, file.file.name);
-            formData.append('adminId', user.id);
-            formData.append('fileType', "F40");
-            // console.log(formData.get("file"));
-            if (addParams.type === '1') {
-                formData.append('fileType', "F02");
-            }
-            try {
-                const { data } = await uploadPic(formData, {
-                    headers: {
-                        'Content-Type': 'multipart/form-data',
-                    },
-                });
-                if (addParams.type === '1') {
-                    const { data1 } = await uploadPic(formData, {
-                        headers: {
-                            'Content-Type': 'multipart/form-data',
-                        },
-                    });
-                    if (data.code == "00000" && data1.code == "00000") {
-                        console.log(data);
-                        file.status = 'done';
-                    } else {
-                        file.status = 'failed';
-                        file.message = '上传失败';
-                    }
-                } else {
-                    if (data.code == "00000") {
-                        console.log(data);
-                        file.status = 'done';
-                    } else {
-                        file.status = 'failed';
-                        file.message = '上传失败';
-                    }
-                }
-            } catch {
-                file.status = 'failed';
-                file.message = '上传失败';
-            }
-        };
-        // 上传身份证背面
-        const upCertBackPic = async (file) => {
-            file.status = 'uploading';
-            file.message = '上传中...';
-            // 此时可以自行将文件上传至服务器
-            // const fileObject = new File([file.content], file.file.name, { type: file.file.type });
-            const formData = new FormData();
-            formData.append('file', file.file, file.file.name);
-            formData.append('adminId', user.id);
-            formData.append('fileType', "F41");
-            if (addParams.type == '1') {
-                formData.append('fileType', "F03");
-            }
-            console.log(formData.get("file"));
-            try {
-                const { data } = await uploadPic(formData, {
-                    headers: {
-                        'Content-Type': 'multipart/form-data',
-                    },
-                });
-                if (addParams.type == '1') {
-                    const { data1 } = await uploadPic(formData, {
-                        headers: {
-                            'Content-Type': 'multipart/form-data',
-                        },
-                    });
-                    if (data.code == "00000" && data1.code == "00000") {
-                        console.log(data1);
-                        file.status = 'done';
-                    } else {
-                        file.status = 'failed';
-                        file.message = '上传失败';
-                    }
-                } else {
-                    if (data.code == "00000") {
-                        console.log(data);
-                        file.status = 'done';
-                    } else {
-                        file.status = 'failed';
-                        file.message = '上传失败';
-                    }
-                }
-            } catch {
-                file.status = 'failed';
-                file.message = '上传失败';
-            }
-        };
-        // 上传结算卡正面
-        const upCardFrontPic = async (file) => {
-            file.status = 'uploading';
-            file.message = '上传中...';
-            // 此时可以自行将文件上传至服务器
-            const formData = new FormData();
-            formData.append('file', file.file, file.file.name);
-            formData.append('adminId', user.id);
-            formData.append('fileType', "F13");
-            console.log(formData.get("file"));
-            try {
-                const { data } = await uploadPic(formData, 'multipart/form-data'
-                );
-                if (data.code == "00000") {
-                    console.log(data);
-                    file.status = 'done';
-                } else {
-                    file.status = 'failed';
-                    file.message = '上传失败';
-                }
-            } catch {
-                file.status = 'failed';
-                file.message = '上传失败';
-            }
-        };
-        // 上传营业执照
-        const upLicensePic = async (file) => {
-            file.status = 'uploading';
-            file.message = '上传中...';
-            // 此时可以自行将文件上传至服务器
-            const formData = new FormData();
-            formData.append('file', file.file, file.file.name);
-            formData.append('adminId', user.id);
-            formData.append('fileType', "F07");
-            console.log(formData.get("file"));
-            try {
-                const { data } = await uploadPic(formData, {
-                    headers: {
-                        'Content-Type': 'multipart/form-data',
-                    },
-                });
-                if (data.code == "00000") {
-                    console.log(data);
-                    file.status = 'done';
-                } else {
-                    file.status = 'failed';
-                    file.message = '上传失败';
-                }
-            } catch {
-                file.status = 'failed';
-                file.message = '上传失败';
-            }
-        };
-        // 上传开户许可证
-        const upRegAcctPic = async (file) => {
-            file.status = 'uploading';
-            file.message = '上传中...';
-            // 此时可以自行将文件上传至服务器
-            // const fileObject = new File([file.content], file.file.name, { type: file.file.type });
-            // const formData = new FormData();
-            // formData.append('file', fileObject);
-            const formData = new FormData();
-            formData.append('file', file.file, file.file.name);
-            formData.append('adminId', user.id);
-            formData.append('fileType', "F08");
-            console.log(formData.get("file"));
-            try {
-                const { data } = await uploadPic(formData, {
-                    headers: {
-                        'Content-Type': 'multipart/form-data',
-                    },
-                });
-                if (data.code == "00000") {
-                    console.log(data);
-                    file.status = 'done';
-                } else {
-                    file.status = 'failed';
-                    file.message = '上传失败';
-                }
-            } catch {
-                file.status = 'failed';
-                file.message = '上传失败';
-            }
-        };
-        const onOversize = (file) => {
-            console.log(file);
-            Toast('文件大小不能超过 2MB');
-        };
-        onMounted(async () => {
-            const { data } = await getHuifuMchCheck({ adminId: user.id });
-            console.log(data.data);
-            if (data.data != null) {
-                huifuMchCheck.value = data.data;
-                addParams.type = huifuMchCheck.value.type;
-                addParams.cardType = huifuMchCheck.value.cardType;
-            }
-        });
-        // 提交审核
-        const submitCheck = async () => {
-            if (certBackPic.value == null) {
-                Toast("请上传身份证正面照片");
-                return;
-            } else if (certFrontPic.value == null) {
-                Toast("请上传身份证背面照片");
-                return;
-            }
-            if (addParams.cardType == '1') {
-                if (cardFrontPic.value == null) {
-                    Toast("请上传结算卡正面照片");
-                    return;
-                }
-            } else {
-                if (licensePic.value == null) {
-                    Toast("请上传营业执照照片");
-                    return;
-                }
-                if (regAcctPic.value == null) {
-                    Toast("请上传开户许可证照片");
-                    return;
-                }
-            }
-
-            Toast.success(t('huifuMch.submittedSuccessfully'));
-            setTimeout(() => {
-                router.go(-1);
-            }, 1500);
-        }
-        return {
-            ...toRefs(addParams),
-            licensePic,
-            regAcctPic,
-            certBackPic,
-            certFrontPic,
-            upLicensePic,
-            upRegAcctPic,
-            upCertBackPic,
-            upCertFrontPic,
-            upCardFrontPic,
-            cardFrontPic,
-            submitCheck,
-            onOversize
-        };
-    },
-};
-</script>
-  
-<style lang="less" scoped>
-@import "../../common/style/common.less";
-@import "./index.less";
-</style>
-  

+ 36 - 34
src/views/joinpayMch/index.vue

@@ -60,8 +60,8 @@
             <div class="van-cell__value van-field__value radioBox"
               style="display: flex; justify-content: space-around; align-items: center;">
               {{ signStatus }}
-              <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em"
-                @click='altMchSignFun()'>{{ $t('joinpayMch.signAContract') }}
+              <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" @click='altMchSignFun()'>{{
+                $t('joinpayMch.signAContract') }}
               </van-button>
             </div>
           </div>
@@ -124,8 +124,8 @@
             :placeholder="$t('joinpayMch.businessAddressPlaceholder')" @update:model-value="fieldUpdate" />
           <!-- 操作 -->
           <van-row justify="space-around" style="padding: 1em">
-            <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em"
-              native-type="submit">{{ $t('joinpayMch.submitDataForReview') }}
+            <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" native-type="submit">{{
+              $t('joinpayMch.submitDataForReview') }}
             </van-button>
           </van-row>
         </van-form>
@@ -134,35 +134,35 @@
         <img src='../../assets/joinPayMch/center.png' style="width: 50%; margin-top: 3em;" />
         <div v-if="joinPayMchType === '0'" style="width: 100%;">
           <div style="width: 100%; text-align: center;">
-            <span
-              style=" font-size: 1.4em; font-weight: bold; line-height: 3;">{{ $t('joinpayMch.thePlatformAdministratorIsReviewing') }}</span>
+            <span style=" font-size: 1.4em; font-weight: bold; line-height: 3;">{{
+              $t('joinpayMch.thePlatformAdministratorIsReviewing') }}</span>
           </div>
           <div style="width: 100%; text-align: center;">
             <span style="line-height: 1.2;">{{ $t('joinpayMch.youCan') }}<span
-                style="color: #4d6add; text-decoration: underline;"
-                @click='updateJoinPay()'>{{ $t('joinpayMch.withdrawAndRevise') }}</span></span>
+                style="color: #4d6add; text-decoration: underline;" @click='updateJoinPay()'>{{
+                  $t('joinpayMch.withdrawAndRevise') }}</span></span>
           </div>
         </div>
         <div v-if="joinPayMchType === '2' || joinPayMchType === '3'" style="width: 100%;">
           <div style="width: 100%; text-align: center;">
-            <span
-              style=" font-size: 1.4em; font-weight: bold; line-height: 3; color: #ee0a24;">{{ $t('joinpayMch.failedToPassTheReview') }}</span>
+            <span style=" font-size: 1.4em; font-weight: bold; line-height: 3; color: #ee0a24;">{{
+              $t('joinpayMch.failedToPassTheReview') }}</span>
           </div>
           <div style="width: 100%; text-align: center;">
             <span style="line-height: 1.2;">{{ $t('joinpayMch.failedToPassTheReview') }},<span
-                style="color: #4d6add; text-decoration: underline;"
-                @click='pageType = "1"'>{{ $t('joinpayMch.clickHereToFillInTheInformationAgain') }}</span></span>
+                style="color: #4d6add; text-decoration: underline;" @click='pageType = "1"'>{{
+                  $t('joinpayMch.clickHereToFillInTheInformationAgain') }}</span></span>
           </div>
         </div>
         <div v-if="joinPayMchStep === '0'">
           <div style="width: 100%; text-align: center;">
-            <span
-              style=" font-size: 1.4em; font-weight: bold; line-height: 3; color: #07c160;">{{ $t('joinpayMch.approvalPassed') }}</span>
+            <span style=" font-size: 1.4em; font-weight: bold; line-height: 3; color: #07c160;">{{
+              $t('joinpayMch.approvalPassed') }}</span>
           </div>
           <div style="width: 100%; text-align: center;">
             <span style="line-height: 1.2;">{{ $t('joinpayMch.approvalPassed') }},{{ $t('joinpayMch.youCan') }}<span
-                style="color: #4d6add; text-decoration: underline;"
-                @click='pageType = "1"'>{{ $t('joinpayMch.clickHereToFillInAgainAndSubmitForReview') }}</span></span>
+                style="color: #4d6add; text-decoration: underline;" @click='pageType = "1"'>{{
+                  $t('joinpayMch.clickHereToFillInAgainAndSubmitForReview') }}</span></span>
           </div>
           <van-row justify="space-around" style="padding: 1em">
             <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" @click='pageType = "3"'>
@@ -217,8 +217,8 @@
             </div>
           </div>
           <van-row justify="space-around" style="padding: 1em">
-            <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em"
-              native-type="submit">{{ $t('joinpayMch.submissions') }}
+            <van-button span="5" round type="primary" style="height: 2em; padding: 0 2em" native-type="submit">{{
+              $t('joinpayMch.submissions') }}
             </van-button>
           </van-row>
         </van-form>
@@ -230,7 +230,7 @@
 <script>
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 import { getOneJoinPayMch, saveJoinPayMch, updateJoinPayMchCheck, sentImage, altMchSign } from '../../service/joinpayMch';
 import { getLoginUser, styleUrl } from "../../common/js/utils";
 import dateUtil from "../../utils/dateUtil";
@@ -360,7 +360,7 @@ export default {
         addParams.loginName = data.data.loginName;
       } else {
         pageType.value = '1';
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
       memoryForm();
       isMemoryFormType = true;
@@ -384,21 +384,21 @@ export default {
       params.settDateType = parseInt(params.settDateType);
       const { data } = await saveJoinPayMch(addParams);
       if (data.code === "00000") {
-        Toast.success(t(('joinpayMch.submittedSuccessfully')));
+        showSuccessToast(t(('joinpayMch.submittedSuccessfully')));
         // 提交成功后删除记忆的表单
         localStorage.removeItem('joinPayMchForm');
         location.reload();
       } else {
-        Toast.fail(`${t('joinpayMch.submitFailed')} ${data.message}`);
+        showFailToast(`${t('joinpayMch.submitFailed')} ${data.message}`);
       }
     };
     // 撤回
     const updateJoinPay = async () => {
       const { data } = await updateJoinPayMchCheck({ id: joinPayMchID });
       if (data.code === "00000") {
-        Toast.success(t('joinpayMch.withdrawalSucceeded'));
+        showSuccessToast(t('joinpayMch.withdrawalSucceeded'));
         location.reload();
-      } else { Toast.fail(`${data.message}`); }
+      } else { showFailToast(`${data.message}`); }
     }
     // 图片上传表单提交
     const sentImageFun = async () => {
@@ -409,21 +409,21 @@ export default {
         tradeLicence: null,
         openAccountLicence: null
       };
-      if (cardNegativeList.value.length < 1) { Toast.fail(t('joinpayMch.uploPortrait')); return; }
-      if (cardPositiveList.value.length < 1) { Toast.fail(t('joinpayMch.uploNatiEmblem')); return; }
+      if (cardNegativeList.value.length < 1) { showFailToast(t('joinpayMch.uploPortrait')); return; }
+      if (cardPositiveList.value.length < 1) { showFailToast(t('joinpayMch.uploNatiEmblem')); return; }
       params.cardPositive = cardPositiveList.value[0].content;
       params.cardNegative = cardNegativeList.value[0].content;
       if (addParams.bankAccountType === '4') {
-        if (tradeLicenceList.value.length < 1) { Toast.fail(t('joinpayMch.businessLicensePlace')); return; }
-        if (openAccountLicenceList.value.length < 1) { Toast.fail(t('joinpayMch.accountOpeningLicensePlace')); return; }
+        if (tradeLicenceList.value.length < 1) { showFailToast(t('joinpayMch.businessLicensePlace')); return; }
+        if (openAccountLicenceList.value.length < 1) { showFailToast(t('joinpayMch.accountOpeningLicensePlace')); return; }
       }
       if (tradeLicenceList.value.length > 0) { params.tradeLicence = tradeLicenceList.value[0].content; }
       if (openAccountLicenceList.value.length > 0) { params.openAccountLicence = openAccountLicenceList.value[0].content; }
       const { data } = await sentImage(params);
       if (data.code === "00000") {
-        Toast.success(t('joinpayMch.uploadSucceeded'));
+        showSuccessToast(t('joinpayMch.uploadSucceeded'));
         location.reload();
-      } else { Toast.fail(`${data.message}`); }
+      } else { showFailToast(`${data.message}`); }
     }
     // 图片重新上传触发
     const updateSentImage = () => {
@@ -434,9 +434,9 @@ export default {
     const altMchSignFun = async () => {
       const { data } = await altMchSign({ id: joinPayMchID });
       if (data.code === "00000") {
-        Toast.success(t('joinpayMch.signingSuccessfully'));
+        showSuccessToast(t('joinpayMch.signingSuccessfully'));
         location.reload();
-      } else { Toast.fail(`${data.message}`); }
+      } else { showFailToast(`${data.message}`); }
     }
     // 记录表单填写
     const fieldUpdate = () => {
@@ -451,7 +451,7 @@ export default {
       console.log('afterRead', file.content);
       console.log(cardPositiveList);
     }
-    const onOversize = () => { Toast.fail(t('joinpayMch.exceedPictSize')); }
+    const onOversize = () => { showFailToast(t('joinpayMch.exceedPictSize')); }
     return {
       pageType,
       joinPayMchType,
@@ -481,4 +481,6 @@ export default {
 };
 </script>
 
-<style lang="less" scoped>@import "../../common/style/common.less";</style>
+<style lang="less" scoped>
+@import "../../common/style/common.less";
+</style>

+ 2 - 2
src/views/labelMan/add.vue

@@ -93,7 +93,7 @@ import {
 } from "../../service/labelMan";
 import sHeader from "../../components/SimpleHeader";
 import { onMounted, ref } from "vue";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useRoute, useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
 export default {
@@ -221,7 +221,7 @@ export default {
       }
       const { data } = res;
       if (data.code === "00000") {
-        Toast(data.message);
+        showToast(data.message);
         setTimeout(() => {
           router.back();
         }, 500);

+ 3 - 3
src/views/labelMan/index.vue

@@ -95,7 +95,7 @@ import { Api_getLabelList, Api_getDelLabel } from "../../service/labelMan";
 import { computed, onMounted, reactive, ref, toRefs } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import { useRouter } from "vue-router";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useI18n } from "vue-i18n";
 export default {
   components: { sHeader, kDialog, kTabs },
@@ -126,7 +126,7 @@ export default {
     // 点击确认删除
     const noticeClk = () => {
       if (selectTotals.value < 1) {
-        Toast(t("advertManage.delTips"));
+        showToast(t("advertManage.delTips"));
         return;
       }
       kDialogRef.value.openDialog();
@@ -146,7 +146,7 @@ export default {
         console.log(res);
         if (res.data.code === "00000") {
           isDelete.value = false;
-          Toast(res.data.message);
+          showToast(res.data.message);
           setTimeout(() => {
             getList();
           }, 500);

+ 5 - 5
src/views/login.vue

@@ -70,7 +70,7 @@
 <script>
 import md5 from "js-md5";
 import {onMounted, ref, computed, reactive} from "vue";
-import {Toast, Dialog, Button} from "vant";
+import { showSuccessToast, showFailToast, showDialog, Dialog, Button } from "vant";
 import {login, getSys, getOpenid} from "../service/login";
 import {setLocal, getLocal, navigatorLanguage, styleUrl} from "../common/js/utils";
 import sHeader from "../components/SimpleHeader";
@@ -167,7 +167,7 @@ export default {
           }
         }
         // console.log('loginUser JSON:', JSON.stringify(data.data));
-        Toast.success(t('login.loginSucess'));
+        showSuccessToast(t('login.loginSucess'));
         // 需要刷新页面,否则 axios.js 文件里的 token 不会被重置
         // window.location.href = '/';
         window.location.href = '/sc/';
@@ -175,7 +175,7 @@ export default {
           router.push("/home");
         }, 200);
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 跳转注册页面
@@ -200,7 +200,7 @@ export default {
         if (data.code === "00000") {
           window.location.href = data.data;
         } else {
-          Toast.fail('微信登录失败:' + data.message);
+          showFailToast('微信登录失败:' + data.message);
         }
       } catch (error) {
         handleError(error.message || '微信登录失败,请重试');
@@ -215,7 +215,7 @@ export default {
     });
 
     const handleError = (errMsg) => {
-      Dialog.alert({
+      showDialog({
         title: '错误提示',
         message: errMsg
       })

+ 7 - 6
src/views/merchantManage/index.vue

@@ -49,6 +49,7 @@
               </div>
             </div>
           </div>
+          <van-back-top right="3vw" bottom="5vh" />
         </div>
       </van-list>
     </div>
@@ -60,7 +61,7 @@ import { onMounted, reactive, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import { getAdminList, autoLoginMerchant } from '../../service/merchantManage';
 import { getLoginUser, Format_time, styleUrl, setLocal } from "../../common/js/utils";
-import { Toast, Dialog } from 'vant';
+import { showFailToast, showSuccessToast, showConfirmDialog } from 'vant';
 import merchantSearch from './merchantSearch.vue';
 import { useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
@@ -105,7 +106,7 @@ export default {
         adminTotal.value = data.data.total;
         if (adminList.value.length === data.data.total) { finished.value = true; }
         loading.value = false;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     };
     // 搜索点击
     const searchClick = () => { searchRef.value.showSearch(); };
@@ -118,7 +119,7 @@ export default {
     const merchantSet = (e) => { router.push({ path: 'merchantSet', query: { merchantId: e.id } }) }
     // 切换登陆
     const autoLogin = (id) => {
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('merchantManage.tips'),
         message: t('merchantManage.autoLogin'),
       }).then(() => {
@@ -135,14 +136,14 @@ export default {
             }
             setLocal("loginUser", JSON.stringify(res.data.data));
             // console.log('loginUser JSON:', JSON.stringify(data.data));
-            Toast.success(t('login.loginSucess'));
+            showSuccessToast(t('login.loginSucess'));
             // 需要刷新页面,否则 axios.js 文件里的 token 不会被重置
-            window.location.href = '/shenze/';
+            window.location.href = '/sc/';
             setTimeout(() => {
               router.push("/home");
             }, 200);
           } else {
-            Toast.fail(res.data.message);
+            showFailToast(res.data.message);
           }
         });
       }).catch((error) => {

+ 13 - 10
src/views/merchantManage/set.vue

@@ -28,7 +28,7 @@
               <div class="van-cell van-field">
                 <div class="van-cell__title van-field__label"><span>{{ $t('merchantManage.accountNumber') }}</span>
                 </div>
-                <div class="van-cell__value van-field__value o-pt-8" style="text-align: left;">
+                <div class="van-field__value o-pt-8" style="text-align: left;">
                   <span> {{ adminObj.username }}</span>
                 </div>
               </div>
@@ -137,7 +137,7 @@
 import { onMounted, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getAdmin, getAdminMch, updateAdmin, getHuifuMch } from "@/service/merchantManage";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 import { useRoute } from "vue-router";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
 import { useI18n } from "vue-i18n";
@@ -179,18 +179,18 @@ export default {
           adminObj.value.promoCodeOpen = '1';
         }
         ifForeign.value = data.data.ifForeign;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log('getAdminFun', data);
     };
     const getAdminMchFun = async () => {
       const { data } = await getAdminMch({ id: merchantId.value });
-      if (data.code === "00000") { adminMchObj.value = data.data; } else { Toast.fail(data.message); }
+      if (data.code === "00000") { adminMchObj.value = data.data; } else { showFailToast(data.message); }
       console.log('getAdminMchFun', data);
       console.log('adminMchObj', adminMchObj.value.signStatus);
     }
     const getHuifuMchFun = async () => {
       const { data } = await getHuifuMch({ adminId: merchantId.value });
-      if (data.code === "00000") { huifuMchObj.value = data.data; } else { Toast.fail(data.message); }
+      if (data.code === "00000") { huifuMchObj.value = data.data; } else { showFailToast(data.message); }
       console.log('getHuifuMchFun', data);
     }
     const onSubmit = async () => {
@@ -210,21 +210,21 @@ export default {
         params.payPlatform = adminObj.value.payPlatform;
       }
       if (adminObj.value.password !== '') {
-        if (adminObj.value.checkPassword === '') { Toast.fail(t('merchantManage.confirmPasswordPlaceholder')); return; }
+        if (adminObj.value.checkPassword === '') { showFailToast(t('merchantManage.confirmPasswordPlaceholder')); return; }
         if (adminObj.value.password === adminObj.value.checkPassword) {
           params.password = adminObj.value.password;
         } else {
-          Toast.fail(t('merchantManage.theTwoPasswordsAreDifferent'));
+          showFailToast(t('merchantManage.theTwoPasswordsAreDifferent'));
         }
       }
       const { data } = await updateAdmin(params);
       if (data.code === "00000") {
-        Toast.success(t('merchantManage.modificationSucceeded'));
+        showSuccessToast(t('merchantManage.modificationSucceeded'));
         setTimeout(() => {
           // router.go(0);
           getAdminFun();
         }, 1500);
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log('onSubmit', data);
     }
     return {
@@ -238,4 +238,7 @@ export default {
   },
 };
 </script>
-<style lang="less" scoped>@import "../../common/style/common.less";</style>
+<style lang="less" scoped>
+@import "../../common/style/common.less";
+@import "../../styles/merchantManage/index.less";
+</style>

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

@@ -132,6 +132,7 @@
                 </div>
                 <!-- <div class="section6 flex-col"></div> -->
               </div>
+              <van-back-top />
             </div>
           </div>
         </div>
@@ -236,13 +237,13 @@ import { getAdminMch } from "../../service/merchantManage";
 // 导入弹窗
 import kDialog from "../../components/commom/kDialog/index.vue";
 // 导入无数据组件
-import { Dialog } from 'vant';
+import { showDialog, showConfirmDialog } from 'vant';
 import kNoData from "../../components/commom/kNoData/index.vue";
 import { onMounted, reactive, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
 import orderSearch from "./orderSearch.vue";
 import { getOrderList, refundOrder } from "../../service/order/index";
-import { Toast } from "vant";
+import { showFailToast, showToast, showLoadingToast } from "vant";
 import { getLoginUser, $M_IsDate, Format_time, $M_ExportFile, styleUrl } from "../../common/js/utils";
 import { getHuifuId } from "../../service/huifuMch/index";
 import dateUtil from "../../utils/dateUtil";
@@ -323,7 +324,7 @@ export default {
         isChecked.value = Array.from({ length: orderDetails.value.length }, () => false);
         kDialogRef.value.openDialog();
       } else {
-        Toast("请联系管理员");
+        showToast("请联系管理员");
         return;
       }
     };
@@ -352,10 +353,10 @@ export default {
       })
       cofficentForm.price = totalRefund.value;
       if (cofficentForm.note === "" || cofficentForm.price === 0 || cofficentForm.price === "") {
-        Toast(t('orderCenter.refundPlace'));
+        showToast(t('orderCenter.refundPlace'));
         return;
       } else {
-        Dialog.confirm({
+        showConfirmDialog({
           // title: "提示",
           message: t('orderCenter.refundCheck'),
         }).then(() => {
@@ -374,7 +375,7 @@ export default {
       try {
         const { data } = await refundOrder(cofficentForm);
         if (data.code && data.code !== 'B0001') {
-          Dialog.alert({
+          showDialog({
             message: t('orderCenter.refundSucceeded'),
           }).then(() => {
             refundType.value = false;
@@ -383,10 +384,10 @@ export default {
             search({});
           });
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       } catch (error) {
-        Toast.fail(t('orderCenter.requestFailed'));
+        showFailToast(t('orderCenter.requestFailed'));
       }
     };
     // 修改的价格
@@ -547,7 +548,7 @@ export default {
         loading.value = false;
       } else {
         // error.value = true;
-        Toast.fail("数据加载失败");
+        showFailToast("数据加载失败");
       }
     };
     // 搜索表单点击
@@ -625,7 +626,7 @@ export default {
     // 跳转订单导出
     const gotoOrderExcel = async () => {
       // 显示加载框
-      const loadingInstance = Toast.loading({
+      const loadingInstance = showLoadingToast({
         message: '加载中...',
         forbidClick: true,
       });

+ 25 - 25
src/views/orderCenter/orderSearch.vue

@@ -37,21 +37,21 @@
         </van-form>
       </div>
     </van-popup>
-    <van-popup v-model:show="startDateShow" round position="bottom">
-      <van-datetime-picker type="datehour" :title="$t('orderCenter.selectFullTime')"
-        @confirm="startDateConFirm($event)" @cancel="startDateCancel()" :min-date="minDate" :max-date="maxDate" />
+    <van-popup v-model:show="startDateShow" position="bottom">
+      <van-date-picker :title="$t('orderCenter.selectFullTime')" @confirm="startDateConFirm($event)"
+        @cancel="startDateCancel()" :min-date="minDate" :max-date="maxDate" />
     </van-popup>
-    <van-popup v-model:show="endDateShow" round position="bottom">
-      <van-datetime-picker type="datehour" :title="$t('orderCenter.selectFullTime')"
-        @confirm="endDateConFirm($event)" @cancel="endDateCancel()" :min-date="minDate" :max-date="maxDate" />
+    <van-popup v-model:show="endDateShow" position="bottom">
+      <van-date-picker :title="$t('orderCenter.selectFullTime')" @confirm="endDateConFirm($event)"
+        @cancel="endDateCancel()" :min-date="minDate" :max-date="maxDate" />
     </van-popup>
   </div>
 </template>
 
 <script>
 import { ref } from 'vue';
-import dateUtil from "@/utils/dateUtil";
-import { Toast } from 'vant';
+// import dateUtil from "@/utils/dateUtil";
+import { showToast } from 'vant';
 export default {
   name: 'orderSearch',
   setup(prop, context) {
@@ -71,27 +71,27 @@ export default {
     const endTime = ref('');
     // 父组件页面触发展示及初始化
     const showSearch = () => { sheetShow.value = true; };
-    const startTimeClick = () => { if (startDate.value === '') { startDate.value = new Date(); } startDateShow.value = true; }
-    const startDateConFirm = (data) => {
-      startDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
+    const startTimeClick = () => {
+      startDateShow.value = true;
+    }
+    const startDateConFirm = ({ selectedValues }) => {
+      startDate.value = selectedValues.join("-") + " 00:00:00";
       startDateShow.value = false;
-      startTime.value = startDate.value;
+      startTime.value = selectedValues.join("-");
     }
     const startDateCancel = () => {
-      // startDate.value = dateUtil.formateDate(new Date(startDate.value), "yyyy-MM-dd hh:mm:ss"); 
       startDateShow.value = false;
-      // startTime.value = startDate.value;
     }
-    const endTimeClick = () => { if (endDate.value === '') { endDate.value = new Date(); } endDateShow.value = true; }
-    const endDateConFirm = (data) => {
-      endDate.value = dateUtil.formateDate(data, "yyyy-MM-dd hh:mm:ss");
+    const endTimeClick = () => {
+      endDateShow.value = true;
+    }
+    const endDateConFirm = ({ selectedValues }) => {
+      endDate.value = selectedValues.join("-") + " 23:59:59";
       endDateShow.value = false;
-      endTime.value = endDate.value;
+      endTime.value = selectedValues.join("-");
     }
     const endDateCancel = () => {
-      // endDate.value = dateUtil.formateDate(new Date(endDate.value), "yyyy-MM-dd hh:mm:ss"); 
       endDateShow.value = false;
-      // endTime.value = endDate.value;
     }
     // 提交搜索表单触发搜索
     const onSubmit = () => {
@@ -101,12 +101,12 @@ export default {
         //   Toast("请输入正确时间");
         //   return;
         // } else {
-          Toast("请输入搜索条件");
-          return;
+          showToast("请输入搜索条件");
+        return;
         // }
       } else {
         if (startTime.value == '' || endTime.value == '') {
-          Toast("请输入指定订单日期");
+          showToast("请输入指定订单日期");
           return;
         }
       }
@@ -115,8 +115,8 @@ export default {
         sn: sn.value,
         trxNo: trxNo.value,
         clientId: clientId.value,
-        startDate: startTime.value,
-        endDate: endTime.value,
+        startDate: startDate.value,
+        endDate: endDate.value,
       };
       context.emit('search', searchParam);
       sheetShow.value = false;

+ 9 - 26
src/views/orderExport/index.vue

@@ -127,7 +127,7 @@
     </van-popup>
     <!-- 公司平台弹窗 -->
     <van-popup v-model:show="companyTypeShow" position="bottom">
-      <van-picker :default-index="chgTypeDefaIdx" :title="$t('orderExport.searchPop.companyTypePlaceholder')"
+      <van-picker :title="$t('orderExport.searchPop.companyTypePlaceholder')"
         :columns="companyTypePopList" :columns-field-names="changeTypePopFieldName" @confirm="companyTypePopConfirm"
         @cancel="companyTypeShow = false" />
     </van-popup>
@@ -145,7 +145,7 @@ import { useI18n } from "vue-i18n";
 import kDialog from "@/components/commom/kDialog/index.vue";
 import moment from 'moment';
 import { styleUrl } from "../../common/js/utils";
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 
 export default {
   name: "orderExport",
@@ -189,25 +189,9 @@ export default {
         getList();
       }
     });
-    // 下拉刷新
-    // const onRefresh = (idx) => {
-    //   ruleData.tableData = [];
-    //   // 解决请求两次问题
-    //   if (!idx) {
-    //     finished.value = false;
-    //   }
-    //   loading.value = true;
-    //   // 初始化分页
-    //   pageNo.value = 1;
-    //   pageSize.value = 10;
-    //   getList();
-    // };
     // 上拉加载
     const onLoad = () => {
-      // if (!finished.value) {
-      //   console.log("1");
       if (!finished.value) {
-        // console.log("加载中")
         pageNo.value = pageNo.value + pageSize.value;
         getList();
       }
@@ -247,7 +231,7 @@ export default {
         loading.value = false;
       } else {
         loading.value = false;
-        Toast.fail("数据加载失败");
+        showFailToast("数据加载失败");
       }
     };
     // getOrderList(Object.assign(param, searchParams)).then((res) => {
@@ -292,15 +276,14 @@ export default {
       },
     ];
     // 点击弹窗的确定按钮
-    const changeTypePopConfirm = (e) => {
-      // console.log('e')
-      searchForm.ifForeign = e.id;
-      searchForm.ifForeignName = e.name;
+    const changeTypePopConfirm = ({ selectedOptions }) => {
+      searchForm.ifForeign = selectedOptions[0].id;
+      searchForm.ifForeignName = selectedOptions[0].name;
       changeTypeShow.value = false;
     };
-    const companyTypePopConfirm = (e) => {
-      searchForm.companyType = e.id;
-      searchForm.companyTypeName = e.name;
+    const companyTypePopConfirm = ({ selectedOptions }) => {
+      searchForm.companyType = selectedOptions[0].id;
+      searchForm.companyTypeName = selectedOptions[0].name;
       companyTypeShow.value = false;
     };
     // 点击导出按钮

+ 13 - 12
src/views/popPayment.vue

@@ -2,15 +2,15 @@
     <div>
         <van-nav-bar title="订单信息" />
         <van-card class="my-card" v-for="(orderDetail, index) in orderDetails" :key="index" :num="orderDetail.productNumber"
-            :price="orderDetail.price.toFixed(2)" :title="orderDetail.productName" :thumb="showSugarPhoto(orderDetail.productNo)" />
-        <van-submit-bar :price="amount" button-color="#07c160" button-text="支付"
-            @click="wxPay()" />
+            :price="orderDetail.price.toFixed(2)" :title="orderDetail.productName"
+            :thumb="showSugarPhoto(orderDetail.productNo)" />
+        <van-submit-bar :price="amount" button-color="#07c160" button-text="支付" @click="wxPay()" />
     </div>
 </template>
   
 <script>
 import { useRoute } from "vue-router";
-import { Toast, Dialog } from 'vant';
+import { showFailToast, showSuccessToast, showToast, showDialog } from 'vant';
 import { getOrderBySn } from '@/service/popPayment';
 import { onMounted, ref } from "vue";
 
@@ -29,7 +29,7 @@ export default {
 
         onMounted(async () => {
             if (status == 1) {
-                Dialog.alert({
+                showDialog({
                     message: '订单已支付',
                     theme: 'round-button',
                     confirmButtonColor: '#07c160',
@@ -52,7 +52,9 @@ export default {
                 console.log("order", order.value);
                 console.log("orderDetails", orderDetails.value[0]);
                 amount.value = order.value.price * 100;
-            } else { Toast.fail(data.message); }
+                // console.log(amount.value);
+                // price.value = order.value.price.toFixed(2);
+            } else { showFailToast(data.message); }
 
         };
         const showSugarPhoto = (no) => {
@@ -61,7 +63,7 @@ export default {
         const wxPay = () => {
             WeixinJSBridge.invoke(
                 'getBrandWCPayRequest', {
-                "appId": "wxd9c7c138a055ee66",     //公众号ID,由商户传入     
+                "appId": "wxcd5b1b2636c9f611",     //公众号ID,由商户传入     
                 "timeStamp": route.query.timeStamp,         //时间戳,自1970年以来的秒数     
                 "nonceStr": route.query.nonceStr, //随机串     
                 "package": route.query.package,
@@ -71,13 +73,13 @@ export default {
                 function (res) {
                     if (res.err_msg == "get_brand_wcpay_request:ok") {
                         console.log("支付成功");
-                        Toast.success('支付成功');
+                        showSuccessToast('支付成功');
                     } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
                         console.log("取消支付");
-                        Toast('取消支付');
+                        showToast('取消支付');
                     } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
                         console.log("支付失败");
-                        Toast.fail('支付失败');
+                        showFailToast('支付失败');
                     }
                 }
             )
@@ -95,8 +97,7 @@ export default {
 </script>
 
 <style>
-
-.van-image__img{
+.van-image__img {
     object-fit: contain !important;
 }
 </style>

+ 6 - 6
src/views/register.vue

@@ -116,7 +116,7 @@
 <script>
 import md5 from 'js-md5';
 import { ref, onMounted, reactive, toRefs } from 'vue';
-import { Toast } from 'vant';
+import { showFailToast, showToast} from 'vant';
 import { sentRegisterCode, tAdminSave } from '@/service/register';
 import sHeader from '@/components/SimpleHeader';
 import logiLogoImgUrl from "@/assets/login/logo.png";
@@ -152,7 +152,7 @@ export default {
     // 注册点击
     const registerSubmit = async () => {
       if (password.value !== passwordCheck.value) {
-        Toast.fail(t('register.twoTypedDiff'));
+        showFailToast(t('register.twoTypedDiff'));
         return false;
       }
       const { data } = await tAdminSave({
@@ -168,10 +168,10 @@ export default {
       });
 
       if (data.code === '00000') {
-        Toast('注册成功');
+        showToast('注册成功');
         router.push({ path: '/login' });
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
 
@@ -194,12 +194,12 @@ export default {
         });
         if (data.code === '00000') {
           reqApi.value = false;
-          Toast(data.data);
+          showToast(data.data);
           verCodeTime.time = 1 * 60; // 1分钟定时器,60s后可以更换验证方式
           verCodeTimeInterval();
         } else {
           reqApi.value = false;
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       } catch (error) {
         reqApi.value = false;

+ 11 - 11
src/views/robotRanking.vue

@@ -171,7 +171,7 @@ import { getLoginUser, styleUrl } from "../common/js/utils";
 import kTabs from "../components/commom/kTabs/index.vue";
 import kDialog from "../components/commom/kDialog/index.vue";
 import moment from "moment";
-import { Toast } from "vant";
+import { showToast } from "vant";
 import { useI18n } from "vue-i18n";
 export default {
   setup() {
@@ -264,19 +264,19 @@ export default {
         id: "1",
       },
     ];
-    const changeTypePopConfirm = (e) => {
-      searchForm.changeType = e.id;
-      searchForm.changeTypeName = e.name;
+    const changeTypePopConfirm = ({ selectedOptions }) => {
+      searchForm.changeType = selectedOptions[0].id;
+      searchForm.changeTypeName = selectedOptions[0].name;
       changeTypeShow.value = false;
     };
-    const machineTypePopConfirm = (e) => {
-      searchForm.machineType = e.id;
-      searchForm.machineTypeName = e.name;
+    const machineTypePopConfirm = ({ selectedOptions }) => {
+      searchForm.machineType = selectedOptions[0].id;
+      searchForm.machineTypeName = selectedOptions[0].name;
       machineTypeShow.value = false;
     };
-    const companyTypePopConfirm = (e) => {
-      searchForm.companyType = e.id;
-      searchForm.companyTypeName = e.name;
+    const companyTypePopConfirm = ({ selectedOptions }) => {
+      searchForm.companyType = selectedOptions[0].id;
+      searchForm.companyTypeName = selectedOptions[0].name;
       companyTypeShow.value = false;
     };
     // 年的日期选择弹窗
@@ -324,7 +324,7 @@ export default {
         weekOrMont = "week";
         const differDays = moment(endDate).diff(moment(startDate), "days");
         if (differDays >= 7) {
-          Toast(t("robotRanking.seleWeekDateRangeNotSeveDays"));
+          showToast(t("robotRanking.seleWeekDateRangeNotSeveDays"));
           return;
         }
       }

+ 5 - 5
src/views/role/add.vue

@@ -48,7 +48,7 @@
 <script>
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 // import { getSysRoleList, getEquipmentList } from "../../service/accountPar/index";
 import { addSysRole, updateSysRole } from "../../service/role/index";
 import { getLoginUser, $M_Menus, styleUrl } from "../../common/js/utils";
@@ -172,11 +172,11 @@ export default {
       };
       const { data } = await addSysRole(params);
       if (data.code === "00000") {
-        Toast.success(t("role.roleAddedSuccessfully"));
+        showSuccessToast(t("role.roleAddedSuccessfully"));
         // router.push("/role");
         router.go(-1);
       } else {
-        Toast.fail(`${t("role.failedToAddRole")} ${data.message}`);
+        showFailToast(`${t("role.failedToAddRole")} ${data.message}`);
       }
       console.log("onSubmit", data);
     };
@@ -189,11 +189,11 @@ export default {
       };
       const { data } = await updateSysRole(params);
       if (data.code === "00000") {
-        Toast.success(t("role.successfullyModifiedRole"));
+        showSuccessToast(t("role.successfullyModifiedRole"));
         // router.go(-1);
         router.replace("/role");
       } else {
-        Toast.fail(`${t("role.failedToModifyRole")} ${data.message}`);
+        showFailToast(`${t("role.failedToModifyRole")} ${data.message}`);
       }
       console.log("onSubmit", data);
     };

+ 3 - 3
src/views/role/index.vue

@@ -68,7 +68,7 @@
 import { onMounted, reactive, toRefs, ref } from 'vue';
 import sHeader from "../../components/SimpleHeader";
 import { getSysRoleAdminList, deleteSysRole } from '../../service/role/index';
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { getLoginUser, styleUrl } from "../../common/js/utils";
 import { useRouter } from "vue-router";
 import { useI18n } from 'vue-i18n';
@@ -138,7 +138,7 @@ export default {
           }
         }));
         console.log(accountPerList.value);
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     };
     const showRole = (name) => {
       const menuCode = menuCodeList.filter(item => item.value === name);
@@ -152,7 +152,7 @@ export default {
       if (data.code === '00000') {
         operCheckShow.value = false;
         searchGetList();
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const roleEdit = async (item) => { localStorage.setItem('roleItem', JSON.stringify(item)); router.push('/roleSet'); }
     return {

+ 74 - 81
src/views/settlement/index.vue

@@ -9,29 +9,28 @@
       <div v-if="pageType === '1' || pageType === '4'">
         <van-form @submit="saveJoinPayMchFun">
           <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.huifuAuditStatus') }}</span></div>
+            <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.joinpayAuditStatus') }}</span></div>
             <div class="van-cell__value van-field__value" style="text-align: left;">
               <span :style="{
-                color: huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '#00ff80' : '#FFA500') :
-                  (huifuAuditStatus == '0' ? '#FFA500' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '#FFA500' :
-                    '#FF0000'))) : '#FFA500'
+                color: joinPayMchID != null ? (joinPayMchType == '1' ? (joinPayMchStep == '1' ? (signStatus == '签约成功' ? '#00ff80'
+                  : '#FFA500') : '#FFA500') : '#FFA500') : '#FFA500'
               }">
-                {{ huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '注册成功' : '待签约') :
-                  (huifuAuditStatus == '0' ? '待上传证件图片' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '待签约' :
-                    '审核未通过'))) : '未注册' }}
+                {{ joinPayMchID != null ? (joinPayMchType == '1' ? (joinPayMchStep == '1' ? (signStatus == '签约成功' ? '注册成功'
+                  : '待签约') : '待上传证件图片') : '审核未通过') : '未注册' }}
               </span>
             </div>
           </div>
           <div class="van-cell van-field">
-            <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.joinpayAuditStatus') }}</span></div>
+            <div class="van-cell__title van-field__label"><span>{{ $t('joinpayMch.huifuAuditStatus') }}</span></div>
             <div class="van-cell__value van-field__value" style="text-align: left;">
               <span :style="{
-                color: joinPayMchID != null ? (joinPayMchType == '1' ? (joinPayMchStep == '1' ? (signStatus == '签约成功' ? '#00ff80'
-                  : '#FFA500') : '#FFA500') : '#FFA500') : '#FFA500'
+                color: huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '#00ff80' : '#FFA500') :
+                  (huifuAuditStatus == '0' ? '#FFA500' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '#FFA500' :
+                    '#FF0000'))) : '#FFA500'
               }">
-                <!-- {{ joinPayMchID != null ? (signStatus == '签约成功' ? '注册成功' : '待签约') : '未注册' }} -->
-                {{ joinPayMchID != null ? (joinPayMchType == '1' ? (joinPayMchStep == '1' ? (signStatus == '签约成功' ? '注册成功'
-                  : '待签约') : '待上传证件图片') : '审核未通过') : '未注册' }}
+                {{ huifuMchID != null ? (huifuAuditStatus == '2' ? (conStat == '5' ? '注册成功' : '待签约') :
+                  (huifuAuditStatus == '0' ? '待上传证件图片' : (huifuAuditStatus == '1' || huifuAuditStatus == '4' ? '待签约' :
+                    '审核未通过'))) : '未注册' }}
               </span>
             </div>
           </div>
@@ -55,8 +54,8 @@
           <div v-if="altMerchantType == 12" class="requiredLeft">
             <!-- 商户名称 -->
             <div class="cell-input">
-              <van-popover v-model:show="shortNameVisible" trigger="manual" placement="bottom"
-                popover-class="custom-popover" :offset="[25, 0]" theme="dark">
+              <van-popover v-model:show="regNameVisible" trigger="manual" placement="top" popover-class="custom-popover"
+                :offset="[25,]" theme="dark">
                 <template #reference>
                   <van-field v-model="regNameValue" name="regNameValue" :label="$t('huifuMch.huifuRegName')"
                     :placeholder="$t('huifuMch.huifuRegNamePlaceholder')"
@@ -278,23 +277,23 @@
         </van-form>
         <!-- 时间弹窗 -->
         <van-popup v-model:show="showBeginDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDate"
+          <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDate"
             @cancel="showBeginDate = false" />
         </van-popup>
         <van-popup v-model:show="showEndDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDate"
+          <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDate"
             @cancel="showEndDate = false" />
         </van-popup>
         <van-popup v-model:show="showFoundDate" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmFoundDate"
+          <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="onConfirmFoundDate"
             @cancel="showFoundDate = false" />
         </van-popup>
         <van-popup v-model:show="showEndDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDateLicense"
+          <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="onConfirmEndDateLicense"
             @cancel="showEndDateLicense = false" />
         </van-popup>
         <van-popup v-model:show="showBeginDateLicense" position="bottom">
-          <van-datetime-picker type="date" :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDateLicense"
+          <van-date-picker :min-date="minDate" :max-date="maxDate" @confirm="onConfirmBeginDateLicense"
             @cancel="showBeginDateLicense = false" />
         </van-popup>
         <!-- 地址弹窗 -->
@@ -422,7 +421,7 @@
 <script>
 import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "../../components/SimpleHeader";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast, showToast } from "vant";
 import { areaList } from "@vant/area-data";
 import {
   getOneJoinPayMch, updateJoinPayMchCheck, altMchSign, updateConStat,
@@ -595,61 +594,57 @@ export default {
     let isMemoryFormType = false;
 
     // 日期选择
-    const onConfirmBeginDate = (value) => {
-      addParams.beginDate = dateUtil.formateDate(value, "yyyy-MM-dd");
+    const onConfirmBeginDate = ({ selectedValues }) => {
+      addParams.beginDate = selectedValues.join("-");
       showBeginDate.value = false;
       fieldUpdate();
     };
-    const onConfirmEndDate = (value) => {
-      addParams.endDate = dateUtil.formateDate(value, "yyyy-MM-dd");
+    const onConfirmEndDate = ({ selectedValues }) => {
+      addParams.endDate = selectedValues.join("-");
       showEndDate.value = false;
       fieldUpdate();
     };
-    const onConfirmFoundDate = (value) => {
-      addParams.companyFoundDate = dateUtil.formateDate(value, "yyyy-MM-dd");
+    const onConfirmFoundDate = ({ selectedValues }) => {
+      addParams.companyFoundDate = selectedValues.join("-");
       showFoundDate.value = false;
       fieldUpdate();
     };
-    const onConfirmEndDateLicense = (value) => {
-      addParams.endDateLicense = dateUtil.formateDate(value, "yyyy-MM-dd");
+    const onConfirmEndDateLicense = ({ selectedValues }) => {
+      addParams.endDateLicense = selectedValues.join("-");
       showEndDateLicense.value = false;
       fieldUpdate();
     };
-    const onConfirmBeginDateLicense = (value) => {
-      addParams.beginDateLicense = dateUtil.formateDate(value, "yyyy-MM-dd");
+    const onConfirmBeginDateLicense = ({ selectedValues }) => {
+      addParams.beginDateLicense = selectedValues.join("-");
       showBeginDateLicense.value = false;
       fieldUpdate();
     };
     // 地址选择
-    const onConfirm = (areaValues) => {
+    const onConfirm = ({ selectedOptions }) => {
+      console.log(selectedOptions[0].value);
       showArea.value = false;
-      addParams.manageAddr = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('');
-      huifuParams.provId = areaValues[0]?.code || '';
-      huifuParams.areaId = areaValues[1]?.code || '';
-      huifuParams.districtId = areaValues[2]?.code || '';
+      addParams.manageAddr = (selectedOptions[0]?.text != selectedOptions[1]?.text ? selectedOptions[0]?.text : '')
+        + selectedOptions[1]?.text + selectedOptions[2]?.text;
+      console.log(addParams.manageAddr)
+      huifuParams.provId = selectedOptions[0]?.value || '';
+      huifuParams.areaId = selectedOptions[1]?.value || '';
+      huifuParams.districtId = selectedOptions[2]?.value || '';
       huifuParams.detailAddr = addParams.manageAddr;
     };
-    const onConfirmBankAddress = (areaValues) => {
+    const onConfirmBankAddress = ({ selectedOptions }) => {
       showBankAddress.value = false;
-      addParams.bankAddress = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('');
-      huifuParams.cardProvId = areaValues[0]?.code || '';
-      huifuParams.cardAreaId = areaValues[1]?.code || '';
+      addParams.bankAddress = (selectedOptions[0]?.text != selectedOptions[1]?.text ? selectedOptions[0]?.text : '')
+        + selectedOptions[1]?.text;
+      huifuParams.cardProvId = selectedOptions[0]?.value || '';
+      huifuParams.cardAreaId = selectedOptions[1]?.value || '';
     };
-    const onConfirmReAddress = (areaValues) => {
+    const onConfirmReAddress = ({ selectedOptions }) => {
       showReAddress.value = false;
-      addParams.registeredAddress = areaValues
-        .filter((item) => !!item)
-        .map((item) => item.name)
-        .join('');
-      huifuParams.regProvId = areaValues[0]?.code || '';
-      huifuParams.regAreaId = areaValues[1]?.code || '';
-      huifuParams.regDistrictId = areaValues[2]?.code || '';
+      addParams.registeredAddress = (selectedOptions[0]?.text != selectedOptions[1]?.text ? selectedOptions[0]?.text : '')
+        + selectedOptions[1]?.text + selectedOptions[2]?.text;
+      huifuParams.regProvId = selectedOptions[0]?.value || '';
+      huifuParams.regAreaId = selectedOptions[1]?.value || '';
+      huifuParams.regDistrictId = selectedOptions[2]?.value || '';
       huifuParams.regDetail = addParams.registeredAddress;
     };
     onMounted(async () => {
@@ -728,7 +723,7 @@ export default {
         }
       } else {
         pageType.value = '1';
-        // Toast.fail(data.message);
+        // showFailToast(data.message);
       }
       memoryForm();
       isMemoryFormType = true;
@@ -809,7 +804,7 @@ export default {
     const changeConStat = async () => {
       const { data } = await updateConStat(huifuParams);
       if (data.code === "00000") {
-        // Toast.success(t('joinpayMch.withdrawalSucceeded'));
+        // showSuccessToast(t('joinpayMch.withdrawalSucceeded'));
         if (data.data === "5") {
           location.reload();
         }
@@ -819,7 +814,7 @@ export default {
     const changeApproveStatus = async () => {
       const { data } = await updateApproveStatus({ id: joinPayMchID.value });
       if (data.code === "00000") {
-        // Toast.success(t('joinpayMch.withdrawalSucceeded'));
+        // showSuccessToast(t('joinpayMch.withdrawalSucceeded'));
         if (data.data === "P1000") {
           location.reload();
         }
@@ -842,7 +837,7 @@ export default {
       });
       console.log('seedVerCodeSuccess', data);
       if (data.code === '00000') {
-        Toast({
+        showToast({
           duration: 2000,
           message: t('huifuMch.successSend') + '\n' + maskPhoneNumber(data.data.phone)
         });
@@ -850,7 +845,7 @@ export default {
         verCodeTime.time = 60;
         verCodeTimeInterval();
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     }
     // 格式手机号码
@@ -924,20 +919,20 @@ export default {
             huifuMch = await updateMerchant(huifuParams);
           }
           if (huifuMch.data.code === "00000") {
-            Toast.success(t(('joinpayMch.submittedSuccessfully')));
+            showSuccessToast(t(('joinpayMch.submittedSuccessfully')));
             localStorage.removeItem('joinPayMchForm');
             setTimeout(() => {
               location.reload();
             }, 1500);
           } else {
-            Toast.fail(`${huifuMch.message}`);
+            showFailToast(`${huifuMch.message}`);
           }
         } else {
-          Toast.fail(`${t('joinpayMch.submitFailed')} ${data.message}`);
+          showFailToast(`${t('joinpayMch.submitFailed')} ${data.message}`);
         }
       } catch (error) {
         console.error('请求发生错误:', error);
-        Toast.fail(t('joinpayMch.submitFailed'));
+        showFailToast(t('joinpayMch.submitFailed'));
       }
 
     };
@@ -945,11 +940,11 @@ export default {
     const updateJoinPay = async () => {
       const { data } = await updateJoinPayMchCheck({ id: joinPayMchID.value });
       if (data.code === "00000") {
-        Toast.success(t('joinpayMch.withdrawalSucceeded'));
+        showSuccessToast(t('joinpayMch.withdrawalSucceeded'));
         setTimeout(() => {
           location.reload();
         }, 1500);
-      } else { Toast.fail(`${data.message}`); }
+      } else { showFailToast(`${data.message}`); }
     }
     // 图片上传表单提交
     const sentImageFun = async () => {
@@ -960,21 +955,19 @@ export default {
         tradeLicence: null,
         openAccountLicence: null
       };
-      // console.log(cardNegativeList.value[0].content);
-      if (cardNegativeList.value.length < 1) { Toast.fail(t('joinpayMch.uploPortrait')); return; }
-      if (cardPositiveList.value.length < 1) { Toast.fail(t('joinpayMch.uploNatiEmblem')); return; }
+      if (cardNegativeList.value.length < 1) { showFailToast(t('joinpayMch.uploPortrait')); return; }
+      if (cardPositiveList.value.length < 1) { showFailToast(t('joinpayMch.uploNatiEmblem')); return; }
       if (addParams.bankAccountType === '1') {
-        if (statementCard.value.length < 1) { Toast.fail(t('joinpayMch.upStatementCard')); return; }
+        if (statementCard.value.length < 1) { showFailToast(t('joinpayMch.upStatementCard')); return; }
       }
       params.cardPositive = cardPositiveList.value[0].content;
       params.cardNegative = cardNegativeList.value[0].content;
       if (addParams.bankAccountType === '4') {
-        if (tradeLicenceList.value.length < 1) { Toast.fail(t('joinpayMch.businessLicensePlace')); return; }
-        if (openAccountLicenceList.value.length < 1) { Toast.fail(t('joinpayMch.accountOpeningLicensePlace')); return; }
+        if (tradeLicenceList.value.length < 1) { showFailToast(t('joinpayMch.businessLicensePlace')); return; }
+        if (openAccountLicenceList.value.length < 1) { showFailToast(t('joinpayMch.accountOpeningLicensePlace')); return; }
       }
       if (tradeLicenceList.value.length > 0) { params.tradeLicence = tradeLicenceList.value[0].content; }
       if (openAccountLicenceList.value.length > 0) { params.openAccountLicence = openAccountLicenceList.value[0].content; }
-      console.log(huifuParams);
       try {
         const { data } = await sentImage(params);
         let response = null;
@@ -982,18 +975,18 @@ export default {
           response = await submitHuifuCheck(huifuParams);
           if (response.data.code === "00000") {
             console.log("response", response);
-            Toast.success(t('joinpayMch.uploadSucceeded'));
+            showSuccessToast(t('joinpayMch.uploadSucceeded'));
             setTimeout(() => {
               location.reload();
             }, 1500);
           } else {
             console.log("response", response);
-            Toast.fail(`${response.message}`);
+            showFailToast(`${response.message}`);
           }
-        } else { Toast.fail(t('joinpayMch.submitFailed')); }
+        } else { showFailToast(t('joinpayMch.submitFailed')); }
       } catch (error) {
         console.error('请求发生错误:', error);
-        Toast.fail(t('joinpayMch.submitFailed'));
+        showFailToast(t('joinpayMch.submitFailed'));
       }
     }
     // 图片重新上传触发
@@ -1017,19 +1010,19 @@ export default {
           }
           // console.log(data1);
           if (huifuMch.data.code === "00000") {
-            Toast.success(t('joinpayMch.signingSuccessfully'));
+            showSuccessToast(t('joinpayMch.signingSuccessfully'));
             setTimeout(() => {
               location.reload();
             }, 1500);
           } else {
-            Toast.fail(`${huifuMch.message}`);
+            showFailToast(`${huifuMch.message}`);
           }
         } else {
-          Toast.fail(`${data.message}`);
+          showFailToast(`${data.message}`);
         }
       } catch (error) {
         console.error('请求发生错误:', error);
-        Toast.fail(t('joinpayMch.submitFailed'));
+        showFailToast(t('joinpayMch.submitFailed'));
       }
     }
     // 记录表单填写
@@ -1183,7 +1176,7 @@ export default {
       openAccountLicenceList.value = [];
     }
 
-    const onOversize = () => { Toast.fail(t('joinpayMch.exceedPictSize')); }
+    const onOversize = () => { showFailToast(t('joinpayMch.exceedPictSize')); }
     return {
       pageType,
       joinPayMchType,

+ 6 - 6
src/views/taskMessage/equipment/index.vue

@@ -123,7 +123,7 @@
 import { onMounted, reactive, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getTaskEquipmentList, changeStatus } from "@/service/taskMessage";
-import { Toast } from "vant";
+import { showSuccessToast, showFailToast } from "vant";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
 import dateUtil from "@/utils/dateUtil";
 import kDialog from "@/components/commom/kDialog/index.vue";
@@ -168,10 +168,10 @@ export default {
     const busiInpClk = () => {
       busiPopShow.value = true;
     };
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
       busiPopShow.value = false;
-      searchForm.state = e.id;
-      searchForm.stateName = e.name;
+      searchForm.state = selectedOptions[0].id;
+      searchForm.stateName = selectedOptions[0].name;
     };
     // 点击筛选
     const noticeClk = () => {
@@ -243,7 +243,7 @@ export default {
         }
         loading.value = false;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     const showDateTime = (date) => {
@@ -266,7 +266,7 @@ export default {
     const changeStatusFun = async (item, status) => {
       try {
         const res = await changeStatus({ id: item.id, status: status });
-        Toast.success({
+        showSuccessToast({
           message: res.data.message,
           forbidClick: true,
           duration: 1500,

+ 5 - 5
src/views/taskMessage/joinpayMchCheck/index.vue

@@ -85,7 +85,7 @@
 </template>
 
 <script>
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { useRouter } from "vue-router";
 import dateUtil from "@/utils/dateUtil";
 import { onMounted, reactive, ref } from "vue";
@@ -116,10 +116,10 @@ export default {
       busiPopShow.value = true;
     };
     // 点击状态弹窗确定按钮
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
       busiPopShow.value = false;
-      searchForm.state = e.id;
-      searchForm.stateName = e.name;
+      searchForm.state = selectedOptions[0].id;
+      searchForm.stateName = selectedOptions[0].name;
     };
     // 点击筛选
     const noticeClk = () => {
@@ -210,7 +210,7 @@ export default {
         }
         loading.value = false;
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 初始化页面获取列表

+ 11 - 10
src/views/taskMessage/joinpayMchCheck/info/index.vue

@@ -157,7 +157,7 @@
           </div>
         </div>
       </div>
-      <div v-if="isOper && (infoData.status == '1' || infoData.status == '4')" class="itemRow" style="display: flex; justify-content: center; padding: 0.5rem;">
+      <div v-if="isOper" class="itemRow" style="display: flex; justify-content: center; padding: 0.5rem;">
         <van-button span="5" round type="primary"
           style="height: 2em; padding: 0 2em; margin: 0 1em; background: rgb(255 0 0 / 20%); color: #ff0000; border-color: #ff0000;"
           @click="changeStatusFun('3')">
@@ -282,7 +282,8 @@
           </div>
         </div>
       </div>
-      <div v-if="isOper && infoData.status == '1'" class="itemRow" style="display: flex; justify-content: center; padding: 0.5rem;">
+      <div v-if="isOper && (infoData.status == '1' || infoData.status == '4')" class="itemRow"
+        style="display: flex; justify-content: center; padding: 0.5rem;">
         <van-button span="5" round type="primary"
           style="height: 2em; padding: 0 2em; margin: 0 1em; background: rgb(255 0 0 / 20%); color: #ff0000; border-color: #ff0000;"
           @click="changeStatusFun('3')">
@@ -300,7 +301,7 @@
 
 <script>
 import { getLoginUser } from "@/common/js/utils";
-import { Toast } from "vant";
+import { showFailToast, showSuccessToast } from "vant";
 import { onMounted, ref } from 'vue';
 import { useRoute, useRouter } from "vue-router";
 import sHeader from "@/components/SimpleHeader";
@@ -339,7 +340,7 @@ export default {
       const { data } = await gettJoinpayMchCheckInfo({ id: infoId, type: infoType });
       if (data.code === '00000') {
         infoData.value = data.data;
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
       console.log('getInfoData', infoData);
       console.log(infoData.value.status);
     }
@@ -347,28 +348,28 @@ export default {
       if (detailType.value == 0) {
         const { data } = await changetJoinpayMchCheckStatus({ type: infoType, id: infoId, status: status, });
         if (data.code === '00000') {
-          Toast.success(data.message);
+          showSuccessToast(data.message);
           router.push({ path: '/taskJoinPayMchCheck' })
-        } else { Toast.fail(data.message); }
+        } else { showFailToast(data.message); }
       } else {
         // 商户入驻
         if (infoData.value.status == '1') {
           const { data } = await auditAddMerchant({ id: infoId, status: status, });
           if (data.code === '00000') {
-            Toast.success(t('taskMessage.joinpayMchCheck.successful'));
+            showSuccessToast(t('taskMessage.joinpayMchCheck.successful'));
             setTimeout(() => {
               router.go(-1);
             }, 1500);
-          } else { Toast.fail(data.message); }
+          } else { showFailToast(data.message); }
         } else if (infoData.value.status == '4') {
           // 商户修改
           const { data } = await auditUpdateMerchant({ id: infoId, status: status, });
           if (data.code === '00000') {
-            Toast.success(t('taskMessage.joinpayMchCheck.successful'));
+            showSuccessToast(t('taskMessage.joinpayMchCheck.successful'));
             setTimeout(() => {
               router.go(-1);
             }, 1500);
-          } else { Toast.fail(data.message); }
+          } else { showFailToast(data.message); }
         }
       }
     }

+ 7 - 7
src/views/taskMessage/proportion/index.vue

@@ -129,7 +129,7 @@ import {
   getTaskProportionList,
   changeProportionStatus,
 } from "@/service/taskMessage";
-import { Toast } from "vant";
+import { showFailToast } from "vant";
 import { getLoginUser, styleUrl } from "@/common/js/utils";
 import dateUtil from "@/utils/dateUtil";
 import kDialog from "@/components/commom/kDialog/index.vue";
@@ -166,10 +166,10 @@ export default {
     const busiInpClk = () => {
       busiPopShow.value = true;
     };
-    const busiPopConfirm = (e) => {
+    const busiPopConfirm = ({ selectedOptions }) => {
       busiPopShow.value = false;
-      searchForm.state = e.id;
-      searchForm.stateName = e.name;
+      searchForm.state = selectedOptions[0].id;
+      searchForm.stateName = selectedOptions[0].name;
     };
     // 点击筛选
     const noticeClk = () => {
@@ -237,7 +237,7 @@ export default {
         loading.value = false;
         console.log(alarmHistoryList);
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };
     // 是否有操作的权限
@@ -266,10 +266,10 @@ export default {
         type: type,
       });
       if (data.code === "00000") {
-        Toast.fail("操作成功");
+        showFailToast("操作成功");
         searchGetList();
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
       console.log(data);
     };

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

@@ -45,7 +45,7 @@ import { onMounted, ref } from 'vue';
 import sHeader from "@/components/SimpleHeader";
 import { getListEquipment, selectProducts } from '@/service/device';
 import { uniPayAjax } from '@/service/uniPay';
-import { Toast } from 'vant';
+import { showFailToast } from 'vant';
 import { getLoginUser } from '@/common/js/utils';
 import { useI18n } from 'vue-i18n';
 import { styleUrl } from '../../common/js/utils';
@@ -92,7 +92,7 @@ export default {
             clientId: item.clientId,
           };
         });
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     const showSugarPhoto = (no) => {
       return require(`../../assets/order/spunSugar/goods/${no}.png`);
@@ -109,19 +109,19 @@ export default {
             imgUrl: showSugarPhoto(item.no),
           };
         })
-      } else { Toast.fail(data.message); }
+      } else { showFailToast(data.message); }
     }
     // 提交表单
     const submitForm = async () => {
-      if (deviceId.value === '') { Toast.fail(t('uniPay.pleaseSelectAMachine')); return; }
-      if (productValue.value === '') { Toast.fail(t('uniPay.pleaseSelectAPattern')); return; }
+      if (deviceId.value === '') { showFailToast(t('uniPay.pleaseSelectAMachine')); return; }
+      if (productValue.value === '') { showFailToast(t('uniPay.pleaseSelectAPattern')); return; }
       const device = deviceOptions.value.filter(v => v.value === deviceId.value);
       const { data } = await uniPayAjax({ clientId: device[0].clientId, frpCode: payType.value, productName: productValue.value });
       if (data.code === 0) {
         uniPayObj.value = JSON.parse(data.data);
         uniPayShow.value = true;
       } else {
-        Toast.fail(data.errmsg);
+        showFailToast(data.errmsg);
       }
     };
     return {

+ 18 - 18
src/views/user.vue

@@ -272,7 +272,7 @@ import {
 } from "@/common/js/utils";
 import { useRouter } from "vue-router";
 import { tAdminGetRelation, tAdminSetRelationAdmin, updatePayPlatform } from "@/service/user";
-import { Toast, Dialog } from "vant";
+import { showFailToast, showToast, showSuccessToast, showConfirmDialog } from 'vant';
 import { useI18n } from "vue-i18n";
 import { styleUrl } from "../common/js/utils";
 
@@ -368,7 +368,7 @@ export default {
       switch (idx) {
         case 1:
           if (!e) {
-            Toast(t("user.associateParentPlace"));
+            showToast(t("user.associateParentPlace"));
           } else {
             const { data } = await tAdminSetRelationAdmin({
               adminId: user.id,
@@ -376,7 +376,7 @@ export default {
             });
             relationType.value = true;
             if (data.code === "00000") {
-              Toast(data.message);
+              showToast(data.message);
               setTimeout(() => {
                 gettAdminGetRelation();
               }, 500);
@@ -385,9 +385,9 @@ export default {
           break;
         case 2:
           if (!e) {
-            Toast(t("user.mailboxPlace"));
+            showToast(t("user.mailboxPlace"));
           } else if (!$M_EmailAvailable(e)) {
-            Toast(t("user.corrEmailPlace"));
+            showToast(t("user.corrEmailPlace"));
           } else {
             const params = {
               id: user.id,
@@ -396,7 +396,7 @@ export default {
             const { data } = await updateAdmin(params);
             mailboxShow.value = true;
             if (data.code === "00000") {
-              Toast(data.message);
+              showToast(data.message);
               setTimeout(() => {
                 getAcccountDetail();
               }, 500);
@@ -405,9 +405,9 @@ export default {
           break;
         case 3:
           if (!e) {
-            Toast(t("user.phoneNumberPlace"));
+            showToast(t("user.phoneNumberPlace"));
           } else if (!$M_PhoneTest(e)) {
-            Toast(t("user.corrPhonePlace"));
+            showToast(t("user.corrPhonePlace"));
           } else {
             const params = {
               id: user.id,
@@ -416,7 +416,7 @@ export default {
             const { data } = await updateAdmin(params);
             phoneNumberShow.value = true;
             if (data.code === "00000") {
-              Toast(data.message);
+              showToast(data.message);
               setTimeout(() => {
                 getAcccountDetail();
               }, 500);
@@ -425,7 +425,7 @@ export default {
           break;
         case 5:
           if (!e) {
-            Toast(t("user.currencySymbolPlace"));
+            showToast(t("user.currencySymbolPlace"));
           } else {
             const params = {
               id: user.id,
@@ -434,7 +434,7 @@ export default {
             const { data } = await updateAdmin(params);
             symbolShow.value = true;
             if (data.code === "00000") {
-              Toast(data.message);
+              showToast(data.message);
               // 更新本地存储缓存中的currencySymbol的值
               user.currencySymbol = e; // 将新的currencySymbol的值赋值给user
               localStorage.setItem("loginUser", JSON.stringify(user));
@@ -502,7 +502,7 @@ export default {
     };
     //切换申泽支付平台
     const changeSunzeePay = (value) => {
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('user.tips'),
         message: t('user.changeTips'),
       }).then(() => {
@@ -516,10 +516,10 @@ export default {
         }
         const { data } = updatePayPlatform(params);
         if (data.code) {
-          Toast.success(t('user.changeSuccess'));
+          showSuccessToast(t('user.changeSuccess'));
           sunzeePay.value = value;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }).catch((error) => {
         console.error(error);
@@ -527,7 +527,7 @@ export default {
     }
     //切换七云支付平台
     const changeSevenCloudPay = (value) => {
-      Dialog.confirm({
+      showConfirmDialog({
         title: t('user.tips'),
         message: t('user.changeTips'),
       }).then(() => {
@@ -541,10 +541,10 @@ export default {
         }
         const { data } = updatePayPlatform(params);
         if (data.code) {
-          Toast.success(t('user.changeSuccess'));
+          showSuccessToast(t('user.changeSuccess'));
           sunzeePay.value = value;
         } else {
-          Toast.fail(data.message);
+          showFailToast(data.message);
         }
       }).catch((error) => {
         console.error(error);
@@ -621,7 +621,7 @@ export default {
       const { data } = await updateAdmin(params);
       areaShow.value = true;
       if (data.code === "00000") {
-        Toast(data.message);
+        showToast(data.message);
         setTimeout(() => {
           getAcccountDetail();
         }, 500);

+ 3 - 3
src/views/wxLogin.vue

@@ -4,7 +4,7 @@
 
 <script>
 import { onMounted } from "vue";
-import { Toast, Dialog, Button } from "vant";
+import { showFailToast, showSuccessToast, Dialog, Button } from 'vant';
 import { useRoute, useRouter } from "vue-router";
 import { useI18n } from "vue-i18n";
 import { setLocal } from "../common/js/utils";
@@ -32,12 +32,12 @@ export default {
       if (data.code === "00000") {
         setLocal("loginUser", JSON.stringify(data.data));
         console.log('loginUser JSON:', JSON.stringify(data.data));
-        Toast.success(t('login.loginSucess'));
+        showSuccessToast(t('login.loginSucess'));
         setTimeout(() => {
           router.push("/home");
         }, 200);
       } else {
-        Toast.fail(data.message);
+        showFailToast(data.message);
       }
     };