Compare commits
14 Commits
master
...
version_re
| Author | SHA1 | Date | |
|---|---|---|---|
| f425dd6f8e | |||
| ce511cf72e | |||
| 48174a4e92 | |||
|
|
9663037e24 | ||
|
|
b350cd86d7 | ||
|
|
8961f8894c | ||
|
|
7f38fec897 | ||
|
|
4830c1c3b2 | ||
|
|
e23af9ef81 | ||
|
|
55101ced96 | ||
|
|
e13ee305d8 | ||
|
|
5409a15d8a | ||
|
|
08dd8b8ae0 | ||
|
|
4d7bbf9ca4 |
19
.idea/$PRODUCT_WORKSPACE_FILE$
generated
19
.idea/$PRODUCT_WORKSPACE_FILE$
generated
@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ProjectJDKs.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
||||
2
.idea/.gitignore
generated
vendored
2
.idea/.gitignore
generated
vendored
@ -1,2 +0,0 @@
|
||||
# Default ignored files
|
||||
/workspace.xml
|
||||
25
.idea/codeStyles/Project.xml
generated
25
.idea/codeStyles/Project.xml
generated
@ -1,25 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<JSCodeStyleSettings version="0">
|
||||
<option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
|
||||
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
||||
<option name="SPACE_BEFORE_GENERATOR_MULT" value="true" />
|
||||
<option name="USE_DOUBLE_QUOTES" value="false" />
|
||||
<option name="FORCE_QUOTE_STYlE" value="true" />
|
||||
</JSCodeStyleSettings>
|
||||
<codeStyleSettings language="JavaScript">
|
||||
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
||||
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
|
||||
<option name="ALIGN_MULTILINE_FOR" value="false" />
|
||||
<option name="SPACE_BEFORE_METHOD_PARENTHESES" value="true" />
|
||||
<option name="IF_BRACE_FORCE" value="1" />
|
||||
<option name="DOWHILE_BRACE_FORCE" value="1" />
|
||||
<option name="WHILE_BRACE_FORCE" value="1" />
|
||||
<option name="FOR_BRACE_FORCE" value="1" />
|
||||
<indentOptions>
|
||||
<option name="INDENT_SIZE" value="2" />
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
5
.idea/codeStyles/codeStyleConfig.xml
generated
@ -1,5 +0,0 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
||||
8
.idea/compiler.xml
generated
8
.idea/compiler.xml
generated
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile default="true" name="Default" enabled="true" />
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/inspectionProfiles/Project_Default.xml
generated
6
.idea/inspectionProfiles/Project_Default.xml
generated
@ -1,6 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
</profile>
|
||||
</component>
|
||||
9
.idea/lz_management_vue.iml
generated
9
.idea/lz_management_vue.iml
generated
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
.idea/misc.xml
generated
6
.idea/misc.xml
generated
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/lz_management_vue.iml" filepath="$PROJECT_DIR$/.idea/lz_management_vue.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
| version | time | author | desc |
|
||||
| ------- | ---- | ------ | ---- |
|
||||
| V_1.0.0 | 2020-05-22 | xiongchengqiang | 系统配置(菜单管理、角色权限管理、账户管理);组织管理(员工管理);企业数字看板(员工概况、员工档案) |
|
||||
| V_1.0.0 | 2020-05-22 | wulin | 系统配置(菜单管理、角色权限管理、账户管理);组织管理(员工管理);企业数字看板(员工概况、员工档案) |
|
||||
|
||||
## renren-fast-vue
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ module.exports = {
|
||||
proxyTable: {
|
||||
'/wl_management': {
|
||||
// target: 'https://tlzmanagement.ldxinyong.com',
|
||||
target: 'http://192.168.8.138:8080/',
|
||||
target: 'http://192.168.8.107:8080/',
|
||||
changeOrigin: true
|
||||
}
|
||||
},
|
||||
|
||||
45
echarts.min.js
vendored
Normal file
45
echarts.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>企业数字化管理系统</title>
|
||||
<script src="https://f.ldxinyong.com/h5/echarts.min.js"></script>
|
||||
<script src="echarts.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@ -9,9 +9,8 @@ import Router from 'vue-router'
|
||||
import { apiGetMenuNav } from '@/api/api_menu'
|
||||
import { isURL } from '@/utils/validate'
|
||||
import {clearLoginInfo} from '@/utils'
|
||||
import VConsole from 'vconsole'
|
||||
|
||||
let vConsole = new VConsole()
|
||||
//import VConsole from 'vconsole'
|
||||
//let vConsole = new VConsole()
|
||||
Vue.use(Router)
|
||||
|
||||
// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有生产环境使用懒加载
|
||||
@ -23,10 +22,11 @@ const globalRoutes = [
|
||||
{ path: '/lzluck', component: _import('common/lzluck'), name: 'lzluck', meta: { title: '霖梓抽奖' } },
|
||||
{ path: '/dingtalkluck', component: _import('common/dingtalkluck'), name: 'dingtalkluck', meta: { title: '钉钉抽奖登记' } },
|
||||
{ path: '/404', component: _import('common/404'), name: '404', meta: { title: '404未找到' } },
|
||||
{ path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } }
|
||||
{ path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } },
|
||||
{ path: '/phoneweblogin', component: _import('common/phoneweblogin'), name: 'phoneweblogin', meta: { title: '登录' } }
|
||||
]
|
||||
|
||||
const dingtalkRoutes=[
|
||||
const dingtalkRoutes = [
|
||||
{ path: '/devicemain', component: _import('modules/device/device-main'), name: 'devicemain', meta: { title: '资产盘点主入口' } },
|
||||
{ path: '/devicetype', component: _import('modules/device/device-type'), name: 'devicetype', meta: { title: '设备类型' } },
|
||||
{ path: '/deviceqr', component: _import('modules/device/device-qr'), name: 'deviceqr', meta: { title: '设备自带编码' } },
|
||||
@ -135,7 +135,7 @@ router.beforeEach((to, from, next) => {
|
||||
//next()
|
||||
} else {
|
||||
apiGetMenuNav({}).then(res => {
|
||||
if (res && res.code == 200) {
|
||||
if (res && res.code === 200) {
|
||||
fnAddDynamicMenuRoutes(res.menuList)
|
||||
router.options.isAddDynamicMenuRoutes = true
|
||||
sessionStorage.setItem('menuList', JSON.stringify(res.menuList || '[]'))
|
||||
|
||||
@ -127,7 +127,8 @@ export default {
|
||||
console.log('获取token')
|
||||
this.$cookie.set('token', res.token)
|
||||
this.dataForm.verify='登录成功,跳转中...'
|
||||
window.open(window.location.href + '&code=' + dingCode.code, "_blank")
|
||||
window.open(window.location.href + '&code=' + dingCode.code, "_self")
|
||||
//window.location.href = window.location.href + '&code=' + dingCode.code
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.dataForm.verify='身份验证失败' + res.msg
|
||||
|
||||
182
src/views/common/phoneweblogin.vue
Normal file
182
src/views/common/phoneweblogin.vue
Normal file
@ -0,0 +1,182 @@
|
||||
<template>
|
||||
<div class="phone-login-main">
|
||||
<h3 class="phone-login-title">用户登录</h3>
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
:rules="dataRule"
|
||||
ref="dataForm"
|
||||
@keyup.enter.native="handleLogin()"
|
||||
status-icon
|
||||
>
|
||||
<el-form-item prop="userName">
|
||||
<el-input clearable v-model="dataForm.userName" placeholder="帐号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
<el-input clearable v-model="dataForm.password" type="password" placeholder="密码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="captcha">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="14">
|
||||
<el-input v-model="dataForm.verify" placeholder="验证码">
|
||||
</el-input>
|
||||
</el-col>
|
||||
<el-col :span="10" class="login-captcha">
|
||||
<el-button v-if="!hasSendCode" type="primary" @click="handleVerify">获取验证码</el-button>
|
||||
<el-button v-else type="primary">重新发送({{time}}S)</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button
|
||||
class="phone-login-btn-submit"
|
||||
type="primary"
|
||||
:loading="isloading"
|
||||
@click="handleLogin"
|
||||
>登录</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getUUID } from '@/utils'
|
||||
import { apiLogin, apiSsysSendSMS } from '@/api/api_sys'
|
||||
import { apiDingtalkLogin } from '@/api/api_staff'
|
||||
import * as dd from 'dingtalk-jsapi'
|
||||
import Vue from 'vue'
|
||||
var dingCode = ''
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
isloading: false,
|
||||
dataForm: {
|
||||
userName: '',
|
||||
password: '',
|
||||
uuid: '',
|
||||
// captcha: ''
|
||||
verify: ''
|
||||
},
|
||||
dataRule: {
|
||||
userName: [{ required: true, message: '帐号不能为空', trigger: 'blur' }],
|
||||
password: [{ required: true, message: '密码不能为空', trigger: 'blur' }],
|
||||
// captcha: [{ required: true, message: '验证码不能为空', trigger: 'blur' }]
|
||||
verify: [{ required: true, message: '验证码不能为空', trigger: 'blur' }]
|
||||
},
|
||||
// captchaPath: '' // 图像验证码请求地址
|
||||
time: 0,
|
||||
timer: true,
|
||||
hasSendCode: false
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// this.handleGetImgCaptcha()
|
||||
},
|
||||
mounted () {
|
||||
if (this.checkToken()) {
|
||||
if (this.$route.query.do) {
|
||||
this.$router.replace({ name: this.$route.query.do })
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// // 获取图像验证码
|
||||
// handleGetImgCaptcha () {
|
||||
// this.dataForm.uuid = getUUID()
|
||||
// this.captchaPath = `/wl_management/captcha.jpg?uuid=${this.dataForm.uuid}`
|
||||
// },
|
||||
checkToken() {
|
||||
console.log('检查token')
|
||||
let token = Vue.cookie.get('token')
|
||||
if (!token || !/\S/.test(token)) {
|
||||
return false;
|
||||
}
|
||||
return true
|
||||
},
|
||||
// 登录提交表单
|
||||
handleLogin () {
|
||||
let param = Object.assign(this.dataForm, {'userName': this.dataForm.userName}, {'uuid': this.dataForm.uuid}, {'verifyCode': this.dataForm.verify})
|
||||
this.$refs.dataForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.isloading = true
|
||||
apiLogin(param).then(res => {
|
||||
this.isloading = false
|
||||
if (res && res.code === 200) {
|
||||
console.log('获取token')
|
||||
this.$cookie.set('token', res.token)
|
||||
console.log('保存token')
|
||||
this.$router.replace({ name: this.$route.query.do })
|
||||
console.log('跳转')
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取验证码
|
||||
handleVerify () {
|
||||
this.dataForm.uuid = getUUID()
|
||||
if (!this.dataForm.userName) {
|
||||
this.$message('请输入账号')
|
||||
return false
|
||||
}
|
||||
// if (!this.dataForm.captcha) {
|
||||
// this.$message('请输入图形验证码')
|
||||
// return false
|
||||
// }
|
||||
let parmse = {
|
||||
userName: this.dataForm.userName,
|
||||
// captcha: this.dataForm.captcha,
|
||||
password: this.dataForm.password,
|
||||
uuid: this.dataForm.uuid
|
||||
}
|
||||
apiSsysSendSMS(parmse).then(res => {
|
||||
if (res.code === 200) {
|
||||
this.time = 60
|
||||
this.hasSendCode = true
|
||||
this.timer = setInterval(() => {
|
||||
if (this.time === 0) {
|
||||
this.hasSendCode = false
|
||||
}
|
||||
this.time--
|
||||
}, 1000)
|
||||
this.$message.success(res.msg)
|
||||
} else {
|
||||
// this.getCaptcha()
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.phone-site-wrapper.phone-site-page--login {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: rgba(38, 50, 56, 0.6);
|
||||
overflow: hidden;
|
||||
.phone-login-main {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 150px 60px 180px;
|
||||
width: 470px;
|
||||
min-height: 100%;
|
||||
background-color: #fff;
|
||||
}
|
||||
.phone-login-title {
|
||||
font-size: 16px;
|
||||
}
|
||||
.phone-login-btn-submit {
|
||||
width: 100px;
|
||||
margin-top: 38px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -10,7 +10,7 @@
|
||||
v-for="item in numbers"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
:value="item.num">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
@ -343,7 +343,7 @@ export default {
|
||||
});
|
||||
},
|
||||
currentChangeHandle(val) {
|
||||
this.btnSearch()
|
||||
this.btnSearch(val)
|
||||
},
|
||||
// 新增 / 编辑
|
||||
handleAddOrUpdate(val) {
|
||||
@ -460,8 +460,13 @@ export default {
|
||||
this.getData()
|
||||
},
|
||||
|
||||
btnSearch() {
|
||||
btnSearch(val) {
|
||||
if(!val){
|
||||
this.specReq.page = 1
|
||||
}else{
|
||||
this.specReq.page = val
|
||||
}
|
||||
|
||||
this.getData();
|
||||
},
|
||||
|
||||
|
||||
@ -443,7 +443,7 @@ export default {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$message.error("异常" + data.msg);
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
|
||||
this.dataListLoading = false;
|
||||
|
||||
@ -75,7 +75,7 @@ export default {
|
||||
if(this.typeIndex == 0 || this.typeIndex == 3){
|
||||
apiFindStaff(this.query).then(data => {
|
||||
console.log(data)
|
||||
if(data.code != 0){
|
||||
if(data.code != 200){
|
||||
this.$message.error("异常" + data.msg);
|
||||
return
|
||||
}
|
||||
@ -90,7 +90,7 @@ export default {
|
||||
}else {
|
||||
apiFindDepat(this.query).then(data => {
|
||||
console.log(data)
|
||||
if(data.code != 0){
|
||||
if(data.code != 200){
|
||||
this.$message.error("异常" + data.msg);
|
||||
return
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user