吉安感知网项目-前端
张含笑
2026-02-09 05f434c317a8dc54da598cd69a2ee97b8baa8e4f
Merge remote-tracking branch 'origin/master'
4 files modified
1 files added
2 files deleted
336 ■■■■ changed files
applications/drone-command/src/page/login/index.vue 4 ●●●● patch | view | raw | blame | history
applications/drone-command/src/page/login/loginByUser.vue 33 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/page/login/userlogin.vue 76 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/permission copy 2.js 71 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/permission copy.js 133 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/router/page/index.js 10 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/store/modules/user.js 9 ●●●●● patch | view | raw | blame | history
applications/drone-command/src/page/login/index.vue
@@ -74,10 +74,10 @@
  created() {
    this.handleLogin();
    this.getTime();
   if(!loginTitle) {
   if(!loginTitle) {
    this.getSysConfigInfo();
  }
  },
  mounted() {},
  computed: {
applications/drone-command/src/page/login/loginByUser.vue
New file
@@ -0,0 +1,33 @@
<template>
    <div style="width: 100%; height: 100%; background: #05050f"></div>
</template>
<script setup>
import { useStore } from 'vuex'
import { ElLoading } from 'element-plus'
const store = useStore()
const router = useRouter()
const userName = window.localStorage?.userName
const route = useRoute()
let loading = ElLoading.service({ background: 'rgba(0, 0, 0, 0.3)', text: '加载中...' })
const tagWel = computed(() => store.state.tags.tagWel)
const redirect = route.query.redirect
store
    .dispatch('LoginByUsername', {
        username: userName,
        password: 'jadk@2026',
        tenantId: '000000',
        type: 'account',
    })
    .then(() => {
        loading.close()
        router.push(redirect || tagWel.value)
    })
    .catch(err => {
        loading.close()
        // 返回上一个路由
        window.history.go(-1)
    })
</script>
<style scoped lang="scss"></style>
applications/drone-command/src/page/login/userlogin.vue
@@ -7,24 +7,12 @@
    :model="loginForm"
    label-width="0"
  >
    <!-- <el-form-item v-if="tenantMode" prop="tenantId">
      <el-input
        @keyup.enter="handleLogin"
        v-model="loginForm.tenantId"
        auto-complete="off"
        :placeholder="$t('login.tenantId')"
      >
        <template #prefix>
          <i class="icon-quanxian" />
        </template>
      </el-input>
    </el-form-item> -->
    <el-form-item prop="username">
      <el-input
        @keyup.enter="handleLogin"
        v-model="loginForm.username"
        auto-complete="off"
        :placeholder="$t('login.username')"
        placeholder="请输入账号"
      >
        <template #prefix>
          <i class="icon-yonghu" />
@@ -37,7 +25,7 @@
        :type="passwordType"
        v-model="loginForm.password"
        auto-complete="off"
        :placeholder="$t('login.password')"
        placeholder="请输入密码"
      >
        <template #suffix>
          <i class="el-icon-view el-input__icon" @click="showPassword" />
@@ -47,49 +35,15 @@
        </template>
      </el-input>
    </el-form-item>
    <!-- <el-form-item v-if="this.website.captchaMode" prop="code">
      <el-row :span="24">
        <el-col :span="16">
          <el-input
            @keyup.enter="handleLogin"
            v-model="loginForm.code"
            auto-complete="off"
            :placeholder="$t('login.code')"
          >
            <template #prefix>
              <i class="icon-yanzhengma" />
            </template>
          </el-input>
        </el-col>
        <el-col :span="8">
          <div class="login-code">
            <img :src="loginForm.image" class="login-code-img" @click="refreshCode" />
          </div>
        </el-col>
      </el-row>
    </el-form-item> -->
    <el-form-item>
      <el-button
        style="width: 100%;"
        type="primary"
        @click.prevent="handleLogin"
        :class="this.registerMode ? 'login-submit' : 'btn-submit'"
        >{{ $t('login.submit') }}
        >登 录
      </el-button>
      <!-- <el-button
        v-if="this.registerMode"
        type="danger"
        @click.prevent="handleRegister"
        class="register-submit"
        >{{ $t('login.register') }}
      </el-button> -->
    </el-form-item>
    <!-- <el-dialog title="用户信息选择" append-to-body v-model="userBox" width="350px">
      <avue-form :option="userOption" v-model="userForm" @submit="submitLogin" />
    </el-dialog>
    <el-dialog title="用户信息注册" append-to-body v-model="registerBox" width="350px">
      <avue-form :option="registerOption" v-model="registerForm" @submit="submitRegister" />
    </el-dialog> -->
  </el-form>
</template>
@@ -338,30 +292,10 @@
    handleLogin() {
      this.$refs.loginForm.validate(valid => {
        if (valid) {
          const loading = this.$loading({
            lock: true,
            text: '登录中,请稍后',
            background: 'rgba(0, 0, 0, 0.7)',
          });
          this.$store
            .dispatch('LoginByUsername', this.loginForm)
          const loading = this.$loading({ lock: true, text: '登录中,请稍后', background: 'rgba(0, 0, 0, 0.7)' });
          this.$store.dispatch('LoginByUsername', this.loginForm)
            .then(() => {
              if (this.website.switchMode) {
                const deptId = this.userInfo.dept_id;
                const roleId = this.userInfo.role_id;
                if (deptId.includes(',') || roleId.includes(',')) {
                  this.loginForm.deptId = deptId;
                  this.loginForm.roleId = roleId;
                  this.userBox = true;
                  this.$store.dispatch('LogOut').then(() => {
                    loading.close();
                  });
                  return false;
                }
              }
              loading.close();
              //加载工作流路由集
              this.loadFlowRoutes();
              this.$router.push(this.tagWel);
            })
            .catch(err => {
applications/drone-command/src/permission copy 2.js
File was deleted
applications/drone-command/src/permission copy.js
File was deleted
applications/drone-command/src/router/page/index.js
@@ -12,6 +12,16 @@
      isAuth: false,
    },
  },
    {
        path: '/logInByUser',
        name: '按用户登录',
        component: () => import('@/page/login/loginByUser.vue'),
        meta: {
            keepAlive: false,
            isTab: false,
            isAuth: false,
        },
    },
  {
    path: '/oauth/redirect/:source',
    name: '第三方登录',
applications/drone-command/src/store/modules/user.js
@@ -279,10 +279,11 @@
        })
      }
      return new Promise(resolve => {
        getRoutes({ tenantId, sysType: 5 }).then(res => {
          const data = res.data.data
          let menu = deepClone(data)
          if (!res.data?.data?.length) {
        getRoutes({tenantId,sysType: 5}).then(res => {
          const data = res.data.data;
          let menu = deepClone(data);
          if (!res.data?.data?.length){
                        ElMessage.warning('当前角色没有配置菜单,请联系管理员配置')
            errLogOut()
            return
          }