cuiqian2004
2025-05-20 a94f1b73dce878f7102081aae0d796c233a4699f
pages/login/index.vue
@@ -64,6 +64,18 @@
            </view>
         </uni-popup>
         <!-- 版本升级弹窗结束 -->
         <uni-popup ref="refClassDialog" type="dialog">
            <uni-popup-dialog mode="info" :title="$t('page.bind_classes')" @confirm="dialogClassConfirm">
               <view class="popup-class">
                  <view class="popup-class-item" :style="{color:item.text == selectedClasses ? '#27A6E1' :''}"
                     v-for="(item,index) in classesLst" :key="index" @click="clickSelectClass(item)">
                     <view class="ico"><uni-icons v-if="item.text == selectedClasses" type="checkmarkempty"
                           :color="item.text == selectedClasses ? '#27A6E1' :''" size="24"></uni-icons></view>
                     {{item.text}}
                  </view>
               </view>
            </uni-popup-dialog>
         </uni-popup>
      </view>
      <!-- <button @click="onClickWms">登录wms</button>
      <view class="webview">
@@ -87,7 +99,9 @@
      getApkVersionInfo
   } from "@/api/index.js"
   import buttonClickMixin from '@/mixins/button-click.js';
   import {
      dictGetInfo
   } from "@/api/mobox.js"
   import utils from "@/js/utils.js"
   export default {
      mixins: [buttonClickMixin],
@@ -105,6 +119,8 @@
            downloadUrl: "", //安卓app下载链接
            percentage: 0, //下载进度
            showBtns: true,
            selectedClasses: "",
            classesLst: [],
         }
      },
      onShow() {
@@ -305,6 +321,7 @@
            // }, 3000)
            // }, 3000)
         },
         rememberPwd(e) { //记住密码
            console.log(e.target);
            utils.session.setValue('account', '');
@@ -388,10 +405,22 @@
                  pwd: this.userPwd
               }
               hideLoading()
               const bindInfo = utils.session.getValue('bind_classes')
               app.globalData.bindClasses = bindInfo?.checked || false
               if (app.globalData.bindClasses) {
                  this.selectedClasses = bindInfo?.classes || ""
                  await this.loadClassesList()
                  if (this.classesLst.length > 0) {
                     this.$refs.refClassDialog.open()
                  }
                  return
               }
               uni.navigateTo({
                  url: '../index/index?args=9999999999'
               })
            } catch (ex) {
               hideLoading()
@@ -413,6 +442,82 @@
            plus.runtime.openURL(otherAppSchemeURL, function(error) {
               console.error('打开应用失败: ', error);
            }, "uni.TeatApp");
         },
         async loadClassesList() {
            try {
               var $this = this;
               var dataInfo = {
                  dict_id: "",
                  dict_name: "WMS_CLASSES"
               };
               const res = await dictGetInfo(dataInfo)
               var list = [];
               (res.dict_item_list || []).forEach((item) => {
                  list.push({
                     text: item.value ? item.value : item.name,
                     value: item.name,
                  });
               });
               if (list.length == 0) {
                  uni.showModal({
                     title: this.translate("get_classes_fail"),
                     content: this.translate("page.please_login_after_admin_add_classes"),
                     showCancel: false,
                     confirmText: this.translateSys('close')
                  });
                  this.selectedClasses = ""
               } else {
                  if (this.selectedClasses) {
                     const curIndex = list.findIndex((a) => {
                        return a.text == this.selectedClasses
                     })
                     if (curIndex < 0) {
                        this.selectedClasses = list[0].text
                     }
                  } else {
                     this.selectedClasses = list[0].text
                  }
               }
               this.classesLst = list
            } catch (ex) {
               let exStr = JSON.stringify(ex)
               if (exStr == "{}")
                  exStr = ex
               let tip = typeof ex.errMsg == "string" ? ex.errMsg : exStr
               uni.showModal({
                  title: this.translate("get_classes_fail"),
                  content: tip,
                  showCancel: false,
                  confirmText: this.translateSys('close')
               });
               this.selectedClasses = ""
               this.classesLst = []
               // {
               //    text: "测试",
               //    value: "test"
               // }, {
               //    text: "测试3",
               //    value: "test3"
               // }
            }
         },
         dialogClassConfirm() {
            utils.session.setValue('bind_classes', {
               checked: true,
               classes: this.selectedClasses
            })
            getApp().globalData.classes = this.selectedClasses
            uni.navigateTo({
               url: '../index/index?args=9999999999'
            })
         },
         clickSelectClass(item) {
            this.selectedClasses = item.text
         },
         translate(t) {
            if (typeof this.$t == "function") return this.$t(`page.${t}`)
@@ -597,5 +702,25 @@
         border: none;
         color: #fff;
      }
      .popup-class {
         display: flex;
         flex-direction: column;
         width: 100%;
         .popup-class-item {
            padding: 20rpx 0;
            border-bottom: 1px solid #eee;
            display: flex;
            flex-direction: row;
            .ico {
               width: 20px;
               margin: 0 20rpx;
            }
         }
      }
   }
</style>