first commit
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
<div class="el-dialog__header">
|
||||
<button type="button" data-dismiss="modal" aria-hidden="true" aria-label="Close" class="el-dialog__headerbtn"><i
|
||||
class="el-dialog__close el-icon el-icon-close"></i></button>
|
||||
<h4 class="modal-title">${msg['index.custommenu']}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="list-group" style="text-align: center;">
|
||||
<table width="88%" id="menuTable">
|
||||
<!--#
|
||||
var firstMenus=@shiro.getPrincipalProperty('firstMenus');
|
||||
var secondMenus=@shiro.getPrincipalProperty('secondMenus');
|
||||
var customMenu=@shiro.getPrincipalProperty('customMenu');
|
||||
#-->
|
||||
<!--#for(firstMenu in firstMenus){#-->
|
||||
<tr>
|
||||
<td width="20%" align="left"><strong><!--#if(lang=="zh_CN"){#-->${firstMenu.name}<!--#}else{#-->${firstMenu.aliasName}<!--#}#--></strong></td>
|
||||
<td width="80%" align="left">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<!--# if(!isEmpty(@secondMenus.get(firstMenu.path))){
|
||||
for(secondMenu in @secondMenus.get(firstMenu.path)){
|
||||
#-->
|
||||
<tr>
|
||||
<td width="20%" align="left" style="padding-left: 20px;"><!--#if(lang=="zh_CN"){#-->${secondMenu.name}<!--#}else{#-->${secondMenu.aliasName}<!--#}#--></td>
|
||||
<td width="80%" align="left">
|
||||
<!--# if(!isEmpty(@secondMenus.get(secondMenu.path))){
|
||||
for(thMenu in @secondMenus.get(secondMenu.path)){ #-->
|
||||
<input type="checkbox" value="${thMenu.id}" onclick="chk()" <!--#if(customMenu!=null&&@customMenu.indexOf(thMenu.id)>-1){#-->checked<!--#}#-->>
|
||||
<!--#if(lang=="zh_CN"){#-->${thMenu.name}<!--#}else{#-->${thMenu.aliasName}<!--#}#-->
|
||||
<!--#}}#-->
|
||||
</td>
|
||||
</tr>
|
||||
<!--#}}#-->
|
||||
<!--#}#-->
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="el-dialog__footer">
|
||||
<span class="dialog-footer">
|
||||
<button type="button" class="el-button el-button--default" data-dismiss="modal">
|
||||
<span>${msg['system.cancel']}</span>
|
||||
</button>
|
||||
<button type="button" class="el-button el-button--primary" id="okCustom">
|
||||
<span>${msg['system.confirm']}</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
function chk(){
|
||||
var ids=[];
|
||||
$("#menuTable").find("input[type=checkbox]").each(function(){
|
||||
if($(this).prop("checked")){
|
||||
ids.push($(this).val());
|
||||
}
|
||||
});
|
||||
if(ids.length>5){
|
||||
ELEMENT.Message({
|
||||
message: "最多可选择5个菜单",
|
||||
type: 'error'
|
||||
});
|
||||
return ids;
|
||||
}
|
||||
return ids;
|
||||
}
|
||||
$(function () {
|
||||
$("#okCustom").on("click",function(){
|
||||
var ids =chk();
|
||||
if (ids.length<6) {
|
||||
$('#homeDetail').modal('hide');
|
||||
$.post("${base}/platform/sys/user/customDo", {ids: ids.toString()}, function (data) {
|
||||
if (data.code == 0) {
|
||||
ELEMENT.Message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
setTimeout(function () {
|
||||
window.location.reload();
|
||||
},520);
|
||||
} else {
|
||||
ELEMENT.Message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,92 @@
|
||||
<div id="infoApp">
|
||||
<div class="el-dialog__header">
|
||||
<button type="button" data-dismiss="modal" aria-hidden="true" aria-label="Close" class="el-dialog__headerbtn"><i
|
||||
class="el-dialog__close el-icon el-icon-close"></i></button>
|
||||
<h4 class="modal-title">个人资料</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<el-form :model="infoForm" ref="infoForm" :rules="infoRules" label-width="100px">
|
||||
<el-row style="padding-bottom: 2px;">
|
||||
<el-alert
|
||||
title="请完善个人资料"
|
||||
type="warning">
|
||||
</el-alert>
|
||||
</el-row>
|
||||
<el-form-item label="姓名" prop="username">
|
||||
<el-input size="small" maxlength="20" placeholder="姓名"
|
||||
v-model="infoForm.username"
|
||||
auto-complete="off" tabindex="1" ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="mobile">
|
||||
<el-input size="small" maxlength="11" placeholder="手机号码"
|
||||
v-model="infoForm.mobile"
|
||||
auto-complete="off" tabindex="2" ></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子邮箱" prop="email">
|
||||
<el-input size="small" maxlength="50" placeholder="Email"
|
||||
v-model="infoForm.email"
|
||||
auto-complete="off" tabindex="3"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="el-dialog__footer">
|
||||
<span class="dialog-footer">
|
||||
<button type="button" class="el-button el-button--default" data-dismiss="modal">
|
||||
<span>${msg['system.cancel']}</span>
|
||||
</button>
|
||||
<button type="button" class="el-button el-button--primary" @click="doInfo">
|
||||
<span>${msg['system.confirm']}</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
new Vue({
|
||||
el: '#infoApp',
|
||||
data: function () {
|
||||
return {
|
||||
infoForm: {
|
||||
username: "<!--#if(user.username!=user.mobile){#-->${user.username!}<!--#}#-->",
|
||||
mobile: "${user.mobile!}",
|
||||
email: "${user.email!}"
|
||||
},
|
||||
infoRules: {
|
||||
username: [
|
||||
{required: true, message: '请输入姓名', trigger: ['blur','change']}
|
||||
],
|
||||
mobile: [
|
||||
{required: true, message: '请输入手机号码', trigger: ['blur','change']},
|
||||
{pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号码'}
|
||||
],
|
||||
email: [
|
||||
{required: true, message: '请输入Email', trigger: ['blur','change']},
|
||||
{type: 'email', message: '请输入正确的Email'}
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doInfo: function () {
|
||||
var self = this
|
||||
self.$refs["infoForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
$.post(base + "/platform/sys/user/doChangeInfo", self.infoForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
$('#homeDetail').modal('hide');
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,60 @@
|
||||
<div class="el-dialog__header">
|
||||
<button type="button" data-dismiss="modal" aria-hidden="true" aria-label="Close" class="el-dialog__headerbtn"><i
|
||||
class="el-dialog__close el-icon el-icon-close"></i></button>
|
||||
<h4 class="modal-title">${msg['index.user.mode']}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form id="modeForm" role="form" class="form-horizontal parsley-form" method="post">
|
||||
<div class="row" style="padding-top: 10px;">
|
||||
<div class="col-lg-12">
|
||||
<div class="form">
|
||||
<div class="col-sm-8">
|
||||
<input name="mode" value="true" type="radio"
|
||||
<!--#if(@shiro.getPrincipalProperty('loginPjax')){#-->checked<!--#}#--> > PJAX加载方式<br>优点:占用带宽少,加载速度快;<br>缺点:不能使用前进、后退功能。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="padding-top: 10px;">
|
||||
<div class="col-lg-12">
|
||||
<div class="form">
|
||||
<div class="col-sm-8">
|
||||
<input name="mode" value="false" type="radio"
|
||||
<!--#if(!@shiro.getPrincipalProperty('loginPjax')){#-->checked<!--#}#--> > 传统加载方式<br>优点:可以使用前进、后退功能;<br>缺点:页面会重载、刷新,占用带宽大。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="el-dialog__footer">
|
||||
<span class="dialog-footer">
|
||||
<button type="button" class="el-button el-button--default" data-dismiss="modal">
|
||||
<span>${msg['system.cancel']}</span>
|
||||
</button>
|
||||
<button type="button" class="el-button el-button--primary" id="okMode">
|
||||
<span>${msg['system.confirm']}</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$("#okMode").on("click", function () {
|
||||
$.post("${base}/platform/sys/user/modeDo", {mode: $("input[type='radio'][name='mode']:checked").val()}, function (data) {
|
||||
if (data.code == 0) {
|
||||
$('#homeDetail').modal('hide');
|
||||
ELEMENT.Message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
} else {
|
||||
ELEMENT.Message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,92 @@
|
||||
<div id="passApp">
|
||||
<div class="el-dialog__header">
|
||||
<button type="button" data-dismiss="modal" aria-hidden="true" aria-label="Close" class="el-dialog__headerbtn"><i
|
||||
class="el-dialog__close el-icon el-icon-close"></i></button>
|
||||
<h4 class="modal-title">${msg['index.user.password']}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<el-form :model="passForm" ref="passForm" :rules="passRules" label-width="100px">
|
||||
<el-form-item label="${msg['index.user.oldpass']}" prop="oldPassword">
|
||||
<el-input size="small" maxlength="20" placeholder="${msg['index.user.oldpass']}" v-model="passForm.oldPassword"
|
||||
auto-complete="off" tabindex="1" type="password"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="输入新密码" prop="newPassword">
|
||||
<el-input size="small" maxlength="20" placeholder="${msg['index.user.newpass']}" v-model="passForm.newPassword"
|
||||
auto-complete="off" tabindex="2" type="password"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认新密码" prop="passwordAgain">
|
||||
<el-input size="small" maxlength="20" placeholder="${msg['index.user.rightpass']}"
|
||||
v-model="passForm.passwordAgain"
|
||||
auto-complete="off" tabindex="3" type="password"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div class="el-dialog__footer">
|
||||
<span class="dialog-footer">
|
||||
<button type="button" class="el-button el-button--default" data-dismiss="modal">
|
||||
<span>${msg['system.cancel']}</span>
|
||||
</button>
|
||||
<button type="button" class="el-button el-button--primary" @click="doPass">
|
||||
<span>${msg['system.confirm']}</span>
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
new Vue({
|
||||
el: '#passApp',
|
||||
data: function () {
|
||||
var self = this;
|
||||
var validatePass = function (rule, value, callback) {
|
||||
if (value !== self.passForm.newPassword) {
|
||||
callback(new Error('两次输入密码不一致!'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
passForm: {
|
||||
oldPassword: "",
|
||||
newPassword: "",
|
||||
passwordAgain: ""
|
||||
},
|
||||
passRules: {
|
||||
oldPassword: [
|
||||
{required: true, message: '请输入原密码', trigger: 'blur'}
|
||||
],
|
||||
newPassword: [
|
||||
{required: true, message: '请输入新密码', trigger: 'blur'},
|
||||
{min: 3, max: 20, message: '密码长度必须是3-20位', trigger: 'change'}
|
||||
],
|
||||
passwordAgain: [
|
||||
{required: true, message: '请再次输入新密码', trigger: 'blur'},
|
||||
{validator: validatePass, trigger: 'change'}
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
doPass: function () {
|
||||
var self = this
|
||||
self.$refs["passForm"].validate(function (valid) {
|
||||
if (valid) {
|
||||
$.post(base + "/platform/sys/user/doChangePassword", self.passForm, function (data) {
|
||||
if (data.code == 0) {
|
||||
$('#homeDetail').modal('hide');
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'success'
|
||||
});
|
||||
} else {
|
||||
self.$message({
|
||||
message: data.msg,
|
||||
type: 'error'
|
||||
});
|
||||
}
|
||||
}, "json");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user