| | |
| | | })
|
| | | }
|
| | | // 部门列表
|
| | | export function userDeptList(userId) {
|
| | | export function userDeptList(params) {
|
| | | return request({
|
| | | url: '/userDeptList/' + userId,
|
| | | url: '/userDeptList',
|
| | | method: 'get',
|
| | | params: params
|
| | | })
|
| | | }
|
| | |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="银行基本户:" prop="basicBankAccount"> |
| | | <el-input v-model="form.basicBankAccount" placeholder="请输入" clearable/> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="银行账号:" prop="bankAccount"> |
| | | <el-input v-model="form.bankAccount" placeholder="请输入" clearable/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="开户行号:" prop="bankCode"> |
| | | <el-input v-model="form.bankCode" placeholder="请输入" clearable/> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="30"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="维护人:" prop="maintainer"> |
| | | <el-select v-model="form.maintainer" placeholder="请选择" clearable disabled> |
| | | <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/> |
| | |
| | | prop: 'contactPhone', |
| | | }, |
| | | { |
| | | label: '银行基本户', |
| | | prop: 'basicBankAccount', |
| | | }, |
| | | { |
| | | label: '银行账号', |
| | | prop: 'bankAccount', |
| | | }, |
| | | { |
| | | label: '开户行号', |
| | | prop: 'bankCode', |
| | | }, |
| | | { |
| | | label: '维护人', |
| | | prop: 'maintainer', |
| | | }, |
| | |
| | | contactPhone: '', |
| | | maintainer: '', |
| | | maintenanceTime: '', |
| | | basicBankAccount:'', |
| | | bankAccount:'', |
| | | bankCode:'' |
| | | }, |
| | | rules: { |
| | | customerName: [{ required: true, message: "请输入", trigger: "blur" }], |
| | |
| | | contactPhone: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | maintainer: [{ required: false, message: "请选择", trigger: "change" }], |
| | | maintenanceTime: [{ required: false, message: "请选择", trigger: "change" }], |
| | | basicBankAccount: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | bankAccount: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | bankCode: [{ required: true, message: "请输入", trigger: "blur" }], |
| | | |
| | | } |
| | | }) |
| | | const { searchForm, form, rules } = toRefs(data) |
| | |
| | | size="large"
|
| | | auto-complete="off"
|
| | | placeholder="账号"
|
| | | @input="deptListSearch"
|
| | | >
|
| | | <template #prefix><el-icon><User /></el-icon></template>
|
| | | </el-input>
|
| | |
| | | >
|
| | | <template #prefix><svg-icon icon-class="password" class="el-input__icon input-icon" /></template>
|
| | | </el-input>
|
| | | </el-form-item>
|
| | | <el-form-item prop="currentFatoryId">
|
| | | <el-select v-model="loginForm.currentFatoryId" placeholder="请选择公司" >
|
| | | <el-option v-for="item in factoryList" :key="item.deptId" :label="item.deptName" :value="item.deptId" />
|
| | | </el-select>
|
| | | </el-form-item>
|
| | | <!-- <el-form-item prop="code" v-if="captchaEnabled">-->
|
| | | <!-- <el-input-->
|
| | |
| | | </el-form-item>
|
| | | <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
|
| | | </el-form>
|
| | | <el-dialog
|
| | | v-model="modalView"
|
| | | title="登录部门"
|
| | | width="500"
|
| | | :show-close="false">
|
| | | <el-form :model="factoryCommitForm">
|
| | | <el-form-item>
|
| | | <el-select v-model="currentFatoryId">
|
| | | <el-option v-for="item in factoryList" :key="item.deptId" :label="item.deptName" :value="item.deptId" />
|
| | | </el-select>
|
| | | </el-form-item>
|
| | | </el-form>
|
| | | <template #footer>
|
| | | <div class="dialog-footer">
|
| | | <el-button @click="cancelLogin">取消</el-button>
|
| | | <el-button type="primary" @click="factoryCommit()">
|
| | | 确认
|
| | | </el-button>
|
| | | </div>
|
| | | </template>
|
| | | </el-dialog>
|
| | | <!-- 底部 -->
|
| | | <!-- <div class="el-login-footer">-->
|
| | | <!-- <span>Copyright © 2018-2025 ruoyi.vip All Rights Reserved.</span>-->
|
| | |
| | | </template>
|
| | |
|
| | | <script setup>
|
| | | import {getCodeImg, loginCheckFactory} from "@/api/login"
|
| | | import {getCodeImg} from "@/api/login"
|
| | | import Cookies from "js-cookie"
|
| | | import { encrypt, decrypt } from "@/utils/jsencrypt"
|
| | | import useUserStore from '@/store/modules/user'
|
| | |
| | | username: "admin",
|
| | | password: "admin123",
|
| | | rememberMe: false,
|
| | | // code: "",
|
| | | uuid: ""
|
| | | })
|
| | |
|
| | | const factoryCommitForm = ref({
|
| | | deptId:''
|
| | | currentFatoryId:'',
|
| | | })
|
| | |
|
| | | const loginRules = {
|
| | |
| | | // 注册开关
|
| | | const register = ref(false)
|
| | | const redirect = ref(undefined)
|
| | |
|
| | | const modalView = ref(false)
|
| | |
|
| | | const factoryList = ref([])
|
| | | const currentFatoryId = ref('')
|
| | |
| | | Cookies.remove("password")
|
| | | Cookies.remove("rememberMe")
|
| | | }
|
| | | // 调用action的登录方法
|
| | | userStore.loginCheck(loginForm.value).then(res => {
|
| | | // 查询用户部门
|
| | | userDeptList(res.data).then(res => {
|
| | | factoryList.value = res.data
|
| | | modalView.value = true
|
| | | })
|
| | |
|
| | | userStore.loginCheckFactory(loginForm.value).then(res => {
|
| | | const query = route.query
|
| | | const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
|
| | | if (cur !== "redirect") {
|
| | | acc[cur] = query[cur]
|
| | | }
|
| | | return acc
|
| | | }, {})
|
| | | router.push({ path: redirect.value || "/", query: otherQueryParams })
|
| | | }).catch(() => {
|
| | | loading.value = false
|
| | | // 重新获取验证码
|
| | |
| | | }
|
| | | })
|
| | | }
|
| | | })
|
| | | }
|
| | |
|
| | | // 当前登录公司/部门确认
|
| | | function factoryCommit(){
|
| | | loginForm.value.factoryId = currentFatoryId.value
|
| | | userStore.loginCheckFactory(loginForm.value).then(res => {
|
| | | const query = route.query
|
| | | const otherQueryParams = Object.keys(query).reduce((acc, cur) => {
|
| | | if (cur !== "redirect") {
|
| | | acc[cur] = query[cur]
|
| | | }
|
| | | return acc
|
| | | }, {})
|
| | | router.push({ path: redirect.value || "/", query: otherQueryParams })
|
| | | })
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | function cancelLogin() {
|
| | | modalView.value = false
|
| | | loading.value = false
|
| | | function deptListSearch() {
|
| | | if(loginForm.value.username){
|
| | | userDeptList({userName:loginForm.value.username}).then(res => {
|
| | | console.log('res', res)
|
| | | factoryList.value = res.data
|
| | | })
|
| | | }else {
|
| | | factoryList.value = []
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | getCode()
|