242 行
10 KiB
HTML
可执行文件
242 行
10 KiB
HTML
可执行文件
<!doctype html>
|
|
<html>
|
|
<!--[1.1.96]-->
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport"
|
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
<link rel="stylesheet" type="text/css" href="__PUBLIC__/vue/element-ui.css">
|
|
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Retail/css/myscroll.css"/>
|
|
<title>新增用户</title>
|
|
<style>
|
|
[v-cloak]{
|
|
display: none;
|
|
}
|
|
.check{
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
position: relative;
|
|
padding-left: 20px;
|
|
line-height: 16px;
|
|
cursor: pointer;
|
|
}
|
|
.check::selection{
|
|
background-color: transparent;
|
|
}
|
|
.check:before {
|
|
content: '';
|
|
position: absolute;
|
|
border: 1px solid #ddd;
|
|
width: 16px;
|
|
height: 16px;
|
|
z-index: 3;
|
|
background-color: white;
|
|
cursor: pointer;
|
|
box-sizing: border-box;
|
|
border-radius: 2px;
|
|
transition: 0.3s;
|
|
font-size: 12px;
|
|
color: #333;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
.isChecked:before{
|
|
border-color: #409eff;
|
|
background-color: #409eff;
|
|
}
|
|
.isChecked:after {
|
|
content: '';
|
|
width: 4px;
|
|
height: 9px;
|
|
border-bottom: 2px solid white;
|
|
border-right: 2px solid white;
|
|
transform: rotateZ(45deg);
|
|
position: absolute;
|
|
top: 1px;
|
|
left: 5px;
|
|
border-radius: 2px;
|
|
z-index: 4;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body style="padding: 50px">
|
|
<div id="app" v-cloak>
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px">
|
|
<el-form-item label="登录账号" prop="login_name">
|
|
<el-input v-model="ruleForm.login_name" name="dsfkdljsf" type="text" auto-complete="off"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="登录密码" prop="password">
|
|
<el-input v-model="ruleForm.password" name= 'edojdsg' type="password" auto-complete="off"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="确认密码" prop="repassword">
|
|
<el-input v-model="ruleForm.repassword" type="password" auto-complete="off"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="登录姓名" prop="name">
|
|
<el-input v-model="ruleForm.name"></el-input>
|
|
</el-form-item>
|
|
<el-form-item label="选择角色" prop="role">
|
|
<template>
|
|
<el-select v-model="ruleForm.role" placeholder="请选择">
|
|
<el-option
|
|
v-for="item in roles"
|
|
:label="item.role_name"
|
|
:value="item.id">
|
|
</el-option>
|
|
</el-select>
|
|
</template>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="onSubmit('ruleForm')">立即创建</el-button>
|
|
<el-button @click="cancel">取消</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</div>
|
|
</body>
|
|
<script src="__PUBLIC__/jquery/js/jquery-3.2.1.min.js"></script>
|
|
<script type="text/javascript" src="__PUBLIC__/vue/js/vue2.5.16.js"></script>
|
|
<script type="text/javascript" src="__PUBLIC__/vue/element-ui.js"></script>
|
|
<script>
|
|
var flag = "{$default['id']}" > 0?false:true;
|
|
var app = new Vue({
|
|
el: '#app',
|
|
data: {
|
|
roles: {$rolesList},
|
|
id: "{$default['id']}",
|
|
ruleForm: {
|
|
login_name: "{$default['login_name']}",
|
|
password: "{$default['password']}",
|
|
repassword: "{$default['password']}",
|
|
name: "{$default['name']}",
|
|
role: "{$default['jurisdiction_group_id']}",
|
|
},
|
|
rules: {
|
|
login_name: [{message: '请输入登录账号', required: flag, trigger: 'blur'},{
|
|
validator: function (rule, value, callback) {
|
|
var reg = /^1[3456789]\d{9}$/;
|
|
if (reg.test(value) == false) {
|
|
callback(new Error("请输入正确的登录账号"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'blur'
|
|
}],
|
|
password: [{message: '请输入密码', required: flag, trigger: 'blur'},{
|
|
validator: function (rule, value, callback) {
|
|
if(app.id == ''){
|
|
//添加验证
|
|
var pwdLen = value.length;
|
|
var reg=/^[a-zA-Z0-9.+*-/<>?!@#$%^&*():''"";]{1,}$/;
|
|
if(value == ''){
|
|
callback(new Error("请输入密码"));
|
|
}else if (pwdLen>16 || pwdLen<6) {
|
|
callback(new Error("密码不得少于6个字符串长度,不得超过16个"));
|
|
}else if(!reg.test(value)){
|
|
callback(new Error("密码错误,必须是字母,数字,符号"));
|
|
}else {
|
|
callback();
|
|
}
|
|
}else{
|
|
//修改验证
|
|
if(value != ''){
|
|
var pwdLen = value.length;
|
|
var reg=/^[a-zA-Z0-9.+*-/<>?!@#$%^&*():''"";]{1,}$/;
|
|
if (pwdLen>16 || pwdLen<6){
|
|
callback(new Error("密码不得少于6个字符串长度,不得超过16个"));
|
|
}else if(!reg.test(value)){
|
|
callback(new Error("密码错误,必须是字母,数字,符号"));
|
|
}else{
|
|
callback();
|
|
}
|
|
}else{
|
|
callback();
|
|
}
|
|
}
|
|
}, trigger: 'blur'
|
|
}],
|
|
repassword: [{message: '请输入确认密码', required: flag, trigger: 'blur'},{
|
|
validator: function (rule, value, callback) {
|
|
if(value != app.ruleForm.password){
|
|
callback(new Error("两次密码请输入一致"));
|
|
}else {
|
|
callback();
|
|
}
|
|
}, trigger: 'blur'
|
|
}],
|
|
name: [{message: '请输入姓名', required: flag, trigger: 'blur'},{
|
|
validator: function (rule, value, callback) {
|
|
if (value == '') {
|
|
callback(new Error("请输入姓名"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'blur'
|
|
}],
|
|
role: [{message: '请选择角色', required: flag, trigger: 'blur'},{
|
|
validator: function (rule, value, callback) {
|
|
if (value == '') {
|
|
callback(new Error("请选择角色"));
|
|
} else {
|
|
callback();
|
|
}
|
|
}, trigger: 'blur'
|
|
}],
|
|
}
|
|
},
|
|
methods: {
|
|
onSubmit(formName) {
|
|
var that = this;
|
|
this.$refs[formName].validate((valid) => {
|
|
if (valid) {
|
|
if(that.value == ''){
|
|
that.$message({
|
|
message: '请选择角色',
|
|
type: 'error',
|
|
duration: 1000
|
|
});
|
|
}
|
|
$.ajax({
|
|
url: "{:U('userAddAjax')}",
|
|
type: "post",
|
|
data:{
|
|
login_name: that.ruleForm.login_name,
|
|
password: that.ruleForm.password,
|
|
name: that.ruleForm.name,
|
|
value: that.ruleForm.role,
|
|
id: that.id,
|
|
},
|
|
success: function (res) {
|
|
if (res.status == 1) {
|
|
that.$message({
|
|
message: res.msg,
|
|
type: 'success',
|
|
duration: 1000,
|
|
onClose: function () {
|
|
var index = parent.layer.getFrameIndex(window.name);
|
|
parent.layer.close(index);
|
|
}
|
|
});
|
|
} else {
|
|
that.$message({
|
|
message: res.msg,
|
|
type: 'error',
|
|
duration: 1000
|
|
});
|
|
}
|
|
}
|
|
})
|
|
|
|
}
|
|
})
|
|
|
|
},
|
|
cancel: function () {
|
|
var index = parent.layer.getFrameIndex(window.name);
|
|
parent.layer.close(index);
|
|
}
|
|
},
|
|
mounted:function(){
|
|
}
|
|
})
|
|
</script>
|
|
</html> |